/* Submittal Studio. Builds on site.css tokens. All classes are prefixed wv-st- to avoid homepage rules. */
.wv-st { margin:24px 0 12px; background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; scroll-margin-top:96px; }
.wv-st-bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 20px; padding:12px 16px; border-bottom:1px solid var(--line); background:#FAFBFE; }
.wv-st-steps { display:flex; flex-wrap:wrap; gap:4px; margin:0; padding:0; list-style:none; counter-reset:wv-st; }
.wv-st-steps button { border:0; background:transparent; padding:8px 12px; border-radius:9px; font:inherit; font-size:14.5px; font-weight:600; color:var(--muted); cursor:pointer; }
.wv-st-steps li { counter-increment:wv-st; }
.wv-st-steps button::before { content:counter(wv-st) ". "; }
.wv-st-steps button[aria-current] { background:var(--tint); color:var(--eyebrow); }
.wv-st-steps button:disabled { opacity:.6; cursor:default; }
.wv-st-safe { margin:0; font-size:13.5px; color:var(--muted); }
.wv-st-safe[data-ready] { color:#116A3C; font-weight:600; }
.wv-st-msg { margin:0; padding:10px 16px; font-size:14.5px; border-bottom:1px solid var(--line); background:#F2F6FD; color:var(--ink-2); }
.wv-st-msg[data-kind="error"] { background:#FDEFF1; color:#8A1C33; }
.wv-st-msg[data-kind="warn"] { background:#FFF6DF; color:#6B4B00; }
.wv-st-msg[data-kind="ok"] { background:#E9F7EF; color:#116A3C; }
.wv-st-panel { padding:24px; }
.wv-st-panel[hidden] { display:none; }
.wv-st-panel h2 { margin:0 0 6px; font-size:24px; font-weight:600; letter-spacing:-.022em; line-height:1.2; color:var(--ink); outline:none; }
.wv-st-lead { margin:0 0 18px; font-size:15.5px; color:var(--body); }
.wv-st-two { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:24px; align-items:start; }
.wv-st-drop { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; min-height:220px; padding:24px; border:1.5px dashed var(--line-2); border-radius:14px; background:#FAFBFE; text-align:center; cursor:pointer; transition:border-color .15s, background .15s; }
.wv-st-drop:hover, .wv-st-drop[data-over], .wv-st-drop:focus-within { border-color:var(--blue); background:var(--tint); }
.wv-st-drop input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.wv-st-drop b { font-size:17px; color:var(--ink); }
.wv-st-drop span { font-size:14px; color:var(--muted); }
.wv-st label.wv-st-l, .wv-st-sec-h { display:block; margin:0 0 6px; font-size:14px; font-weight:600; color:var(--ink-2); }
.wv-st textarea, .wv-st input[type="text"] { display:block; width:100%; box-sizing:border-box; border:1px solid var(--line-2); border-radius:10px; background:#fff; padding:10px 12px; font:inherit; font-size:15px; line-height:1.5; color:var(--ink); resize:vertical; }
.wv-st textarea:focus, .wv-st input[type="text"]:focus { outline:0; border-color:var(--blue); box-shadow:0 0 0 3px rgba(0,82,217,.14); }
.wv-st-btn { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 16px; border:1px solid var(--line-2); border-radius:10px; background:#fff; font:inherit; font-size:14.5px; font-weight:600; color:var(--ink); cursor:pointer; }
.wv-st-btn:hover { border-color:var(--blue); }
.wv-st-btn.go { background:var(--blue); border-color:var(--blue); color:#fff; }
.wv-st-row { display:flex; flex-wrap:wrap; gap:10px; margin:12px 0 0; }
.wv-st-foot { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin:24px 0 0; padding:16px 0 0; border-top:1px solid var(--line); }
.wv-st-review { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) 250px; gap:20px; align-items:start; }
.wv-st-orig { max-height:680px; overflow:auto; border:1px solid var(--line); border-radius:12px; background:#F1F4F9; }
.wv-st-orig canvas { display:block; width:100%; height:auto; margin:0 0 6px; background:#fff; }
.wv-st-orig-text { margin:0; padding:14px; white-space:pre-wrap; word-break:break-word; font:13.5px/1.55 'Hanken Grotesk',system-ui,sans-serif; color:var(--ink-2); background:#fff; }
.wv-st-h3 { margin:0 0 8px; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.wv-st-fields { display:grid; gap:12px; }
.wv-st-sec { margin:14px 0 0; }
.wv-st-side { position:sticky; top:96px; display:grid; gap:14px; }
.wv-st-card { padding:14px; border:1px solid var(--line); border-radius:12px; background:#FAFBFE; font-size:14px; color:var(--ink-2); }
.wv-st-card b.t { display:block; margin:0 0 6px; font-size:14.5px; color:var(--ink); }
.wv-st-meter { height:7px; margin:8px 0; border-radius:4px; background:var(--bg-2); overflow:hidden; }
.wv-st-meter i { display:block; height:100%; background:#1F9D61; }
#st-lost[data-ok="no"] .wv-st-meter i { background:#D9970A; }
.wv-st-list { margin:0; padding:0; list-style:none; display:grid; gap:8px; }
.wv-st-list label { display:grid; grid-template-columns:18px minmax(0,1fr); gap:8px; font-size:13.5px; line-height:1.4; overflow-wrap:anywhere; cursor:pointer; }
.wv-st-claims { margin:14px 0 0; padding:12px 14px; border-radius:10px; background:#F2F6FD; font-size:14.5px; color:var(--ink-2); }
.wv-st-claims[data-ok="no"] { background:#FFF6DF; color:#6B4B00; }
.wv-st-claims[data-ok="yes"] { background:#E9F7EF; color:#116A3C; }
.wv-st-hint { margin:6px 0 0; font-size:13px; color:#8A1C33; }
.wv-st-hint[hidden] { display:none; }
.wv-st-count { margin:12px 0 0; font-size:14px; line-height:1.45; color:#116A3C; }
.wv-st-count[data-ok="no"] { color:#6B4B00; }
.wv-st-blind { margin:12px 0 0; padding:10px 12px; border-radius:10px; background:#F2F6FD; font-size:14px; line-height:1.45; color:var(--ink-2); }
.wv-st-blind[hidden] { display:none; }
.wv-st-keep { display:block; margin:6px 0 0; font-weight:600; overflow-wrap:anywhere; cursor:pointer; }
.wv-st-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; }
.wv-st-wide { grid-column:1 / -1; }
.wv-st-modes { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 16px; padding:0; border:0; }
.wv-st-modes legend { padding:0; margin:0 0 8px; font-size:14px; font-weight:600; color:var(--ink-2); }
.wv-st-modes label { display:flex; gap:8px; align-items:center; padding:10px 12px; border:1px solid var(--line-2); border-radius:10px; font-size:14px; font-weight:600; cursor:pointer; }
.wv-st-modes label:has(input:checked) { border-color:var(--blue); background:var(--tint); color:var(--eyebrow); }
.wv-st-paper { min-height:520px; padding:26px 28px; border:1px solid var(--line); border-radius:6px; background:#fff; box-shadow:0 4px 18px rgba(18,20,28,.06); font-size:13.5px; line-height:1.5; color:#363C4D; overflow-wrap:anywhere; }
.wv-st-p-head { min-height:26px; margin:0 0 14px; color:var(--st-accent); }
.wv-st-p-head img { display:block; max-width:130px; max-height:36px; }
.wv-st-p-title { margin:0; font-size:23px; font-weight:600; letter-spacing:-.02em; color:var(--ink); }
.wv-st-p-sub { margin:2px 0 8px; color:var(--muted); }
.wv-st-p-for { margin:0 0 10px; font-weight:600; color:var(--st-accent); }
.wv-st-p-h { margin:16px 0 6px; padding:0 0 4px; border-bottom:1px solid var(--line); font-size:14.5px; font-weight:600; color:var(--st-accent); }
.wv-st-p-job { margin:8px 0 2px; font-weight:600; color:var(--ink); }
.wv-st-paper p { margin:0 0 6px; }
.wv-st-paper ul { margin:0 0 6px; padding-left:18px; }
.wv-st-p-facts { display:grid; grid-template-columns:auto minmax(0,1fr); gap:2px 10px; margin:0 0 8px; }
.wv-st-p-facts dt { font-weight:600; color:var(--ink); }
.wv-st-p-facts dd { margin:0; }
.wv-st-p-note, .wv-st-p-foot { margin:14px 0 0 !important; font-size:12px; color:var(--muted); }
.wv-st-next { margin:16px 0 0; padding:16px; border-radius:12px; background:var(--navy); color:#fff; }
.wv-st-next[hidden] { display:none; }
.wv-st-next b { display:block; margin:0 0 4px; font-size:17px; }
.wv-st-next p { margin:0 0 10px; font-size:14.5px; color:#C9D3E6; }
.wv-st-next label { display:block; margin:0 0 6px; font-size:13.5px; color:#C9D3E6; }
.wv-st-next a { display:inline-flex; margin:10px 0 0; padding:9px 14px; border-radius:10px; background:#fff; color:var(--ink); font-size:14.5px; font-weight:600; }
.wv-st-kit { margin:0 0 16px; border:1px solid var(--line); border-radius:12px; padding:0 14px; }
.wv-st-kit-h { margin:0; padding:12px 0; font-size:14.5px; font-weight:600; color:var(--ink); }
.wv-st-kit-in { display:grid; gap:12px; padding:0 0 14px; }
.wv-st-kit small { display:block; margin:6px 0 0; font-size:13px; color:var(--muted); }
.wv-st-kit input[type="color"] { width:52px; height:36px; padding:2px; border:1px solid var(--line-2); border-radius:8px; background:#fff; }
.wv-st-kit input[type="file"] { max-width:100%; font-size:13.5px; color:var(--muted); }
.wv-st-kit input[type="file"]::file-selector-button { margin-right:10px; padding:7px 12px; border:1px solid var(--line-2); border-radius:9px; background:#fff; font:inherit; font-weight:600; color:var(--ink); cursor:pointer; }
@media (max-width:1040px) { .wv-st-review { grid-template-columns:1fr 1fr; } .wv-st-side { grid-column:1 / -1; position:static; grid-template-columns:1fr 1fr; } }
@media (max-width:760px) { .wv-st-panel { padding:18px 16px; } .wv-st-two, .wv-st-review, .wv-st-side, .wv-st-grid { grid-template-columns:1fr; } .wv-st-orig { display:none; } .wv-st-orig-h { display:none; } .wv-st-drop { min-height:150px; } .wv-st-paper { padding:18px; min-height:0; } .wv-st-modes { grid-template-columns:1fr; } }
