/* In-place variable sign editor */
#variableSignInline[hidden]{display:none!important}
#variableSignInline{
  margin:0 24px 18px;
  border:1px solid #2c4359;
  border-radius:16px;
  background:#112235;
  color:#e8eef6;
  padding:14px 16px 16px;
  box-sizing:border-box;
}
.vse-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:5px}
.vse-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#9ed0ff}
.vse-head h3{margin:3px 0 0;font-size:18px;line-height:1.2;color:#e8eef6}
.vse-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#173a59;color:#bfe2ff;font-size:9px;font-weight:900;letter-spacing:.05em;white-space:nowrap}
.vse-help{margin:0 0 12px;color:#9cafc2;font-size:12px;line-height:1.45}
.vse-body{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:10px 14px;align-items:end}
.vse-field{display:block}
.vse-field>span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#a9bacb;margin:0 0 5px}
.vse-field input,.vse-field select{width:100%;box-sizing:border-box;border:1px solid #35506a;border-radius:11px;background:#0b1826;color:#e8eef6;padding:10px 11px;font:inherit;font-size:18px;font-weight:800;min-height:45px}
.vse-field select{font-size:14px}
.vse-field input:focus,.vse-field select:focus{outline:none;border-color:#78baff;box-shadow:0 0 0 3px rgba(120,186,255,.14)}
#vseRoadContextWrap[hidden],#vseAdvisoryContextWrap[hidden]{display:none!important}
.vse-meta{align-self:center;color:#c5d4e3;font-size:11px;line-height:1.5}
.vse-meta strong{color:#e8eef6}
.vse-meta span{color:#9cafc2}
.vse-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.vse-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid #3b5b77;border-radius:10px;background:#0d1c2c;color:#e8eef6;padding:9px 11px;font-size:11px;font-weight:850;cursor:pointer;min-height:44px;text-decoration:none}
.vse-btn.primary{background:#2d73aa;border-color:#4b91c8;color:#fff}
.vse-btn:disabled{opacity:.48;cursor:not-allowed}
.vse-btn:focus-visible{outline:3px solid #87c7ed;outline-offset:2px}
#modalImage.vse-hero-active{overflow:hidden}
#modalImage.vse-hero-active .vse-sign-svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
body.vse-active #tcaLauncher{display:none!important}
@media(max-width:700px){
  #variableSignInline{margin:0 16px 16px;padding:13px 14px}
  .vse-head h3{font-size:17px}
  .vse-help{font-size:11.5px}
  .vse-body{grid-template-columns:1fr}
  .vse-actions{grid-column:1}
  .vse-actions .vse-btn{flex:1 1 auto}
}


/* Generated layout is deliberately separate from the editing controls and from
   the untouched official FHWA Sign Layout/Fabrication section. */
#vseGeneratedLayout[hidden]{display:none!important}
#vseGeneratedLayout{
  margin:0 24px 18px;
  border:1px solid #cad5df;
  border-radius:16px;
  background:#f7f9fb;
  color:#182536;
  padding:14px 16px 16px;
  box-sizing:border-box;
}
.vse-layout-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:5px}
.vse-layout-head h3{margin:3px 0 0;font-size:18px;line-height:1.2;color:#182536}
.vse-layout-status{display:inline-flex;align-items:center;border:1px solid #d3a83c;border-radius:999px;background:#fff7dc;color:#694f08;padding:4px 8px;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.vse-layout-help{margin:0 0 14px;color:#52677a;font-size:11.5px;line-height:1.5}
.vse-layout-figure{position:relative;box-sizing:border-box;display:grid;place-items:center;max-width:430px;margin:12px auto 18px;padding:34px 42px 22px 24px}
.vse-layout-sign{width:min(250px,70vw);aspect-ratio:30/36;display:grid;place-items:center;background:#fff}
.vse-layout-sign .vse-sign-svg{display:block;width:100%;height:100%}
.vse-layout-width{position:absolute;left:24px;right:42px;top:4px;height:24px;border-top:1px solid #30465b;text-align:center}
.vse-layout-width:before,.vse-layout-width:after{content:"";position:absolute;top:-5px;width:1px;height:10px;background:#30465b}
.vse-layout-width:before{left:0}.vse-layout-width:after{right:0}
.vse-layout-width span{position:relative;top:-10px;display:inline-block;padding:0 7px;background:#f7f9fb;font-size:11px;font-weight:900;color:#30465b}
.vse-layout-height{position:absolute;top:34px;bottom:22px;right:8px;width:28px;border-right:1px solid #30465b;display:flex;align-items:center;justify-content:center}
.vse-layout-height:before,.vse-layout-height:after{content:"";position:absolute;right:-5px;width:10px;height:1px;background:#30465b}
.vse-layout-height:before{top:0}.vse-layout-height:after{bottom:0}
.vse-layout-height span{display:inline-block;background:#f7f9fb;padding:5px 2px;font-size:11px;font-weight:900;color:#30465b;writing-mode:vertical-rl;transform:rotate(180deg)}
.vse-layout-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.vse-layout-metrics>div{border:1px solid #dbe3ea;border-radius:10px;background:#fff;padding:9px 10px;min-width:0}
.vse-layout-metrics dt{margin:0 0 3px;color:#65788a;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.vse-layout-metrics dd{margin:0;color:#182536;font-size:11px;font-weight:800;line-height:1.35}
.vse-layout-note,.vse-layout-source{margin:10px 0 0;font-size:10.5px;line-height:1.5;color:#52677a}
/* Source-coordinate review strings must wrap inside narrow Studio workbenches. */
#vseGeneratedLayout,#vseGeneratedLayoutBody,.vse-layout-note{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}
#vseGeneratedLayoutBody .vse-actions{min-width:0;max-width:100%}
#vseGeneratedLayoutBody .vse-btn{min-width:0;white-space:normal;overflow-wrap:anywhere}

.vse-layout-source{padding-top:9px;border-top:1px solid #dbe3ea}
@media(prefers-color-scheme:dark){
  #vseGeneratedLayout{background:#111f2d;border-color:#35506a;color:#e8eef6}
  .vse-layout-head h3{color:#e8eef6}.vse-layout-help,.vse-layout-note,.vse-layout-source{color:#a9bacb}
  .vse-layout-sign{background:#fff}
  .vse-layout-width,.vse-layout-height{border-color:#9fb4c8}
  .vse-layout-width:before,.vse-layout-width:after,.vse-layout-height:before,.vse-layout-height:after{background:#9fb4c8}
  .vse-layout-width span,.vse-layout-height span{background:#111f2d;color:#d6e2ed}
  .vse-layout-metrics>div{background:#0b1826;border-color:#2c4359}
  .vse-layout-metrics dt{color:#91a8bd}.vse-layout-metrics dd{color:#e8eef6}
  .vse-layout-source{border-color:#2c4359}
}
@media(max-width:700px){
  #vseGeneratedLayout{margin:0 16px 16px;padding:13px 14px}
  .vse-layout-head h3{font-size:16px}
  .vse-layout-status{font-size:8px}
  .vse-layout-figure{padding-left:12px;padding-right:38px}
  .vse-layout-width{left:12px;right:38px}
  .vse-layout-sign{width:min(230px,64vw)}
  .vse-layout-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
