:root{--bg:#f3f6f5;--card:#fff;--ink:#14231e;--muted:#62706b;--line:#d8e2de;--brand:#0a6249;--brand-strong:#07543f;--soft:#edf6f2;--soft-2:#f8fbfa;--focus:#1859a9;--danger:#981f1f;--warning-bg:#fff6dc;--warning-border:#e7d395;--shadow:0 14px 38px rgba(20,45,36,.08)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:#14578f}.site-header{background:#fff;border-bottom:1px solid var(--line)}.site-header__inner{max-width:1240px;margin:auto;padding:14px 20px;display:flex;justify-content:space-between;gap:16px;align-items:center}.brand{font-weight:820;display:flex;align-items:center;gap:9px}.brand-mark{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--brand);border-radius:8px;color:var(--brand)}.meta{font-size:13px;color:var(--muted)}main{max-width:1240px;margin:auto;padding:24px 18px 76px}.respondent-shell{max-width:1100px}.site-footer{max-width:1240px;margin:-46px auto 0;padding:0 20px 30px;color:var(--muted);font-size:12px}
h1{font-size:clamp(29px,5vw,42px);line-height:1.12;margin:0 0 16px}h2{font-size:clamp(21px,4vw,30px);line-height:1.2;margin:0 0 18px}.lead{font-size:18px}.notice{background:var(--soft);border-radius:13px;padding:14px 16px;margin:16px 0}.notice--plain{background:#f8faf9;border:1px solid var(--line)}.warning{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:12px;padding:12px 14px}.small{font-size:13px}.muted{color:var(--muted)}
.progress-shell{margin-bottom:16px}.progress-topline{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:8px}.progress-bar{height:6px;border-radius:99px;background:#dfe8e5;overflow:hidden}.progress-fill{height:100%;background:var(--brand);border-radius:99px}.theme-stepper{list-style:none;margin:11px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.theme-step{text-align:center;color:var(--muted);font-size:10px;min-width:0}.theme-dot{margin:auto auto 5px;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#fff;font-size:11px}.theme-step.is-active{color:var(--ink);font-weight:800}.theme-step.is-active .theme-dot{background:var(--brand);border-color:var(--brand);color:#fff}.theme-step.is-complete .theme-dot{border-color:var(--brand);color:var(--brand);font-weight:800}
.respondent-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:16px;align-items:start}.guidance-column{display:grid;gap:12px}.guidance-card{background:linear-gradient(180deg,#f5faf8,#edf5f2);border:1px solid #d9e8e2;border-radius:14px;padding:15px}.guidance-card p{margin:0;font-size:14px}.guidance-title{font-size:14px;margin:0 0 8px;display:flex;align-items:center;gap:8px}.guidance-icon{width:23px;height:23px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:12px;flex:0 0 auto}.guidance-card--privacy{background:#f9fbfa}.question-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(20px,3vw,28px);box-shadow:var(--shadow)}.intro-card{max-width:820px;margin:auto}.review-entry{max-width:760px;margin:auto}
fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:840;font-size:clamp(21px,3vw,28px);line-height:1.28;margin-bottom:20px;padding:0}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option-card{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:13px 14px;cursor:pointer;background:#fff;min-height:50px}.option-card:hover{border-color:#9cb4ab}.option-card:has(input:checked){border-color:var(--brand);background:var(--soft)}input[type=radio],input[type=checkbox]{width:20px;height:20px;flex:0 0 auto;margin-top:1px;accent-color:var(--brand)}textarea{width:100%;min-height:150px;border:1px solid var(--line);border-radius:12px;padding:13px;font:inherit;resize:vertical}.counter{margin-top:10px;font-size:13px;color:var(--muted)}.error{color:var(--danger);font-weight:700;margin:8px 0 14px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}button,.button{min-height:46px;border-radius:10px;padding:10px 15px;font:inherit;font-weight:780;cursor:pointer;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--brand);color:#fff;border:1px solid var(--brand)}.primary:hover{background:var(--brand-strong)}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.compact{min-height:36px;padding:6px 10px;font-size:13px}.full{width:100%}button[aria-busy=true]{opacity:.78;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.pilot-banner{max-width:1100px;margin:0 auto 14px;padding:11px 14px;border:2px solid currentColor;border-radius:10px;font-weight:600}
.review-mode-banner{background:var(--brand);color:#fff;border-radius:12px;padding:11px 14px;display:flex;justify-content:space-between;gap:12px}.review-mode-banner--top{margin-bottom:12px}.review-workspace{display:grid;grid-template-columns:250px minmax(0,1fr) 270px;gap:12px;align-items:start}.review-question-list,.review-preview,.review-details{background:#fff;border:1px solid var(--line);border-radius:14px;min-width:0}.review-question-list{padding:11px;max-height:76vh;overflow:auto}.review-list-title{font-weight:820;margin:2px 2px 8px}.review-search{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;margin-bottom:8px}.review-jump{display:grid;grid-template-columns:auto 1fr;gap:8px;padding:9px 7px;border-bottom:1px solid #eef2f0;text-decoration:none;color:var(--ink);font-size:12px;border-radius:8px}.review-jump strong{color:var(--brand)}.review-jump.is-current{background:var(--soft);font-weight:750}.review-preview{padding:12px}.review-preview-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px}.review-mini-nav{display:flex;gap:7px}.review-respondent-layout{grid-template-columns:minmax(210px,260px) minmax(0,1fr)}.review-question-card{box-shadow:none}.review-details{padding:13px}.review-details h2{font-size:18px}.review-dl{display:grid;grid-template-columns:auto 1fr;gap:5px 9px;font-size:12px}.review-dl dt{color:var(--muted);font-weight:750}.review-dl dd{margin:0;overflow-wrap:anywhere}.review-condition{border:1px solid var(--line);border-radius:10px;padding:10px;margin:10px 0;background:var(--soft-2)}.review-condition h3{font-size:12px;margin:0 0 5px}.review-condition p{font-size:12px;margin:0}.review-question-card .option-card{cursor:default}.review-question-card textarea{background:#fff}
.review-section{margin:25px 0}.review-row{border-top:1px solid var(--line);padding:14px 0}.review-answer{font-weight:720;margin:5px 0}.review-edit{font-size:14px}.admin-shell{max-width:1120px}.admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.admin-nav a{padding:8px 11px;border-radius:10px;background:#fff;border:1px solid var(--line);text-decoration:none}.admin-nav a[aria-current=page]{background:var(--soft);border-color:var(--brand);color:var(--ink);font-weight:700}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:18px 0}.kpi{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px}.kpi strong{font-size:28px;display:block}table{width:100%;border-collapse:collapse}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px;vertical-align:top}
@media(max-width:1000px){.respondent-layout{grid-template-columns:1fr}.guidance-column{grid-template-columns:1fr 1fr}.guidance-card--privacy{grid-column:1/-1}.review-workspace{grid-template-columns:1fr}.review-question-list{max-height:300px}.review-respondent-layout{grid-template-columns:1fr}.review-details{order:3}}
@media(max-width:650px){.site-header__inner{align-items:flex-start}.meta{padding-top:3px}main{padding:16px 12px 70px}.theme-label{display:none}.theme-stepper{gap:2px}.progress-topline{font-size:12px}.guidance-column{grid-template-columns:1fr}.guidance-card--privacy{grid-column:auto}.option-grid{grid-template-columns:1fr}.actions{grid-template-columns:1fr}.actions .primary{order:-1}.question-card{padding:18px}.review-mode-banner{display:block}.review-mode-banner>div+div{margin-top:4px;font-size:12px}}

.guidance-card--warning{background:#fff4e5;border-color:#f0d2a3}.guidance-icon--warning{background:#a85e00}
.review-mode-links{font-size:12px;font-weight:500}.review-mode-links a{color:inherit;text-decoration:underline}.muted-small{font-size:11px;color:var(--muted)}
.review-flow-intro{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px;display:flex;justify-content:space-between;gap:18px;align-items:end}.review-flow-intro h1{font-size:24px;margin:0 0 5px}.review-flow-intro p{margin:0;color:var(--muted);max-width:820px}.review-flow-picker{display:grid;gap:5px;min-width:min(390px,100%);font-size:12px;font-weight:750}.review-flow-picker select{width:100%;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;color:var(--ink)}
.review-flow-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px;align-items:start}.review-flow-canvas,.review-flow-focus,.review-flow-side-card{background:#fff;border:1px solid var(--line);border-radius:14px}.review-flow-canvas{padding:16px}.review-flow-focus{padding:15px;margin-bottom:12px}.review-flow-section-title{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:14px}.review-flow-section-title h2{font-size:18px;margin:2px 0 0}.review-flow-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--brand);font-weight:820;font-size:10px}.review-flow-parent-node,.review-flow-node{border:1px solid #c7d9d2;background:#fff;border-radius:12px;padding:12px;display:grid;gap:3px}.review-flow-parent-node{max-width:780px;margin:0 auto;background:linear-gradient(180deg,#f4faf7,#edf5f2);border-color:#bcd8cd}.review-flow-parent-node strong,.review-flow-node strong{color:var(--brand)}.review-flow-parent-node span,.review-flow-node span{font-size:13px}.review-flow-branch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:14px}.review-flow-branch{border:1px solid var(--line);border-radius:13px;padding:12px;background:#fbfdfc;min-width:0}.review-flow-branch-head{text-align:center}.review-flow-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:800;border:1px solid transparent}.review-flow-badge--green{background:#e4f5ee;border-color:#b6decf;color:#07583f}.review-flow-badge--amber{background:#fff1d8;border-color:#efd3a0;color:#82520b}.review-flow-badge--red{background:#fde8e7;border-color:#efc0bc;color:#8f2f28}.review-flow-badge--blue{background:#e9f1fb;border-color:#c5d8f1;color:#265c91}.review-flow-down{text-align:center;color:var(--brand);font-weight:900;font-size:19px;line-height:1;margin:8px 0}.review-flow-targets{display:grid;gap:8px}.review-flow-target{display:grid;gap:3px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;color:var(--ink);text-decoration:none}.review-flow-target:hover{border-color:#99b7ab}.review-flow-target strong{color:var(--brand)}.review-flow-target span{font-size:12px}.review-flow-target small{color:var(--muted)}.review-flow-skip{border:1px dashed #cdd7d3;border-radius:10px;padding:10px;background:#f7f9f8;display:grid;gap:3px;font-size:12px}.review-flow-skip strong{color:#596761}.review-flow-skipped-inline{font-size:10px;color:var(--muted);margin-top:8px;padding-top:7px;border-top:1px solid #edf1ef}.review-flow-continue{max-width:760px;margin:14px auto 0;text-align:center;display:grid;gap:6px;color:#42534d;font-size:12px}.review-flow-continue span{color:var(--brand);font-size:19px}.review-flow-side{display:grid;gap:12px}.review-flow-side-card{padding:13px}.review-flow-side-card h3{font-size:13px;margin:0 0 9px}.review-flow-side-card p{font-size:11px;margin:7px 0}.review-flow-side-card--note{background:#fff8e8;border-color:#eed9ad}.review-flow-mini-box,.review-flow-mini-skip{width:13px;height:13px;display:inline-block;vertical-align:-2px;margin-right:4px;border-radius:3px}.review-flow-mini-box{border:1px solid #9bb8ac;background:#eff8f4}.review-flow-mini-skip{border:1px dashed #a9b4af;background:#f3f5f4}.review-flow-stats{display:grid;grid-template-columns:1fr auto;gap:6px 10px;font-size:11px;margin:0}.review-flow-stats dt{color:var(--muted)}.review-flow-stats dd{margin:0;font-weight:820}.review-flow-incoming{max-width:760px;margin:0 auto;display:grid;justify-items:center}.review-flow-node--parent{width:min(100%,680px)}.review-flow-node--focus{width:min(100%,680px);background:var(--brand);border-color:var(--brand);color:#fff}.review-flow-node--focus strong{color:#fff}.review-flow-condition-row{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}.review-flow-always{display:flex;gap:10px;align-items:center;background:#f5faf7;border:1px solid #d5e6df;border-radius:11px;padding:11px}
@media(max-width:900px){.review-flow-intro{display:grid;align-items:start}.review-flow-picker{min-width:0}.review-flow-layout{grid-template-columns:1fr}.review-flow-side{grid-template-columns:repeat(2,minmax(0,1fr))}.review-flow-side-card--note{grid-column:1/-1}}
@media(max-width:600px){.review-flow-side{grid-template-columns:1fr}.review-flow-side-card--note{grid-column:auto}.review-flow-section-title{display:grid}.review-flow-branch-grid{grid-template-columns:1fr}}


/* v0.25 — required/optional labeling */
.optional-marker{display:inline-flex;margin-left:8px;vertical-align:2px;border:1px solid #cfdad6;border-radius:999px;padding:2px 7px;color:var(--muted);background:#f7faf9;font-size:10px;font-weight:750;white-space:nowrap}

/* v0.25 — full canonical flow tree */
.review-flow-intro-actions{display:flex;gap:8px;flex-wrap:wrap}.review-flow-full-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:14px;align-items:start}.review-flow-tree{display:grid;gap:0;min-width:0}.review-flow-tree-node{scroll-margin-top:18px}.review-flow-main-connector{display:grid;justify-items:center;gap:2px;color:var(--brand);padding:6px 0}.review-flow-main-connector span{font-size:22px;font-weight:900;line-height:1}.review-flow-main-connector small{font-size:10px;color:var(--muted);font-weight:650}.review-flow-tree-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}.review-flow-tree-node--branch-parent .review-flow-tree-card{border-color:#a8c9bd;box-shadow:0 0 0 2px rgba(14,103,75,.045)}.review-flow-tree-node--conditional .review-flow-tree-card{border-left:4px solid #d69c3b}.review-flow-tree-node--focused .review-flow-tree-card{outline:3px solid rgba(14,103,75,.22);outline-offset:2px}.review-flow-tree-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.review-flow-tree-card-head>div:first-child{display:flex;gap:8px;align-items:center}.review-flow-position{font-size:10px;color:var(--muted);font-weight:750}.review-flow-tree-card-head strong{color:var(--brand);font-size:13px}.review-flow-card-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.review-flow-tree-prompt{display:block;color:var(--ink);font-size:14px;font-weight:780;text-decoration:none;line-height:1.35}.review-flow-tree-prompt:hover{text-decoration:underline}.review-flow-incoming-conditions,.review-flow-outgoing{margin-top:11px;border-top:1px solid #edf1ef;padding-top:10px;display:grid;gap:7px}.review-flow-incoming-conditions>strong,.review-flow-outgoing>strong{font-size:11px;color:#43554e}.review-flow-condition-line{display:grid;grid-template-columns:auto auto 1fr;gap:6px;align-items:center;font-size:11px}.review-flow-condition-line>a{font-weight:850;color:var(--brand)}.review-flow-effect{display:grid;grid-template-columns:minmax(120px,.65fr) 28px minmax(180px,1fr);gap:7px;align-items:center;border:1px solid #dbe7e2;background:#f8fbfa;border-radius:11px;padding:9px}.review-flow-effect-condition{display:flex;gap:5px;flex-wrap:wrap}.review-flow-effect-arrow{text-align:center;color:var(--brand);font-size:18px;font-weight:900}.review-flow-effect-target{display:grid;gap:2px;color:var(--ink);text-decoration:none}.review-flow-effect-target strong{color:var(--brand)}.review-flow-effect-target span{font-size:11px}.review-flow-effect-skip{grid-column:1/-1;font-size:10px;color:var(--muted);padding-top:5px;border-top:1px dashed #d9e1de}.review-flow-side--sticky{position:sticky;top:12px}.review-flow-side-card a{color:var(--brand);text-decoration:none}.review-flow-side-card a:hover{text-decoration:underline}.review-flow-end{text-align:center;color:var(--brand);padding:14px 0 18px}@media(max-width:950px){.review-flow-full-layout{grid-template-columns:1fr}.review-flow-side--sticky{position:static}}@media(max-width:650px){.review-flow-effect{grid-template-columns:1fr}.review-flow-effect-arrow{transform:rotate(90deg)}.review-flow-tree-card-head{display:grid;align-items:start}.review-flow-card-badges{justify-content:flex-start}}


/* ================================================================
   v0.26 — approved internal review console
   ================================================================ */
.review-shell{max-width:1460px}
.review-console-top{
  background:linear-gradient(135deg,#07543f,#0a6b50);
  color:#fff;border-radius:14px;padding:14px 18px 10px;margin-bottom:14px;
  box-shadow:0 10px 28px rgba(7,84,63,.12)
}
.review-console-title{display:flex;align-items:center;justify-content:space-between;gap:18px}
.review-console-title>div{display:flex;flex:1;justify-content:space-between;align-items:center;gap:18px}
.review-console-title strong{font-size:17px}
.review-console-title span{font-size:12px;opacity:.88}
.review-console-shield{width:34px;height:34px;border:2px solid rgba(255,255,255,.85);border-radius:50%;display:grid;place-items:center;font-weight:900}
.review-console-tabs{display:flex;gap:8px;margin-top:12px}
.review-console-tabs a{
  color:#fff;text-decoration:none;font-weight:800;font-size:13px;
  padding:8px 18px;border-radius:8px;background:rgba(255,255,255,.08)
}
.review-console-tabs a.is-active{background:#fff;color:var(--brand);box-shadow:0 3px 10px rgba(0,0,0,.12)}

.review-question-dashboard{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;gap:14px;align-items:start}
.review-qnav,.review-question-stage,.review-inspector{
  background:#fff;border:1px solid var(--line);border-radius:14px;min-width:0
}
.review-qnav{padding:12px;max-height:calc(100vh - 180px);overflow:auto;position:sticky;top:12px}
.review-qnav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.review-qnav-head>div{display:grid}.review-qnav-head span{font-size:11px;color:var(--muted)}
.review-search-icon{width:31px;height:31px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;font-size:18px}
.review-search--modern{margin:0 0 10px}
.review-qnav-group{margin:0 0 11px}.review-qnav-group h3{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:9px 7px 4px}
.review-jump--modern{grid-template-columns:42px 1fr;align-items:start;border-bottom:0;margin:2px 0;padding:9px 8px}
.review-jump--modern.is-current{background:linear-gradient(90deg,#e5f3ed,#f4faf7);box-shadow:inset 3px 0 var(--brand)}
.review-jump-code{font-weight:850;color:var(--brand)}

.review-question-stage{padding:14px}
.review-stage-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}
.review-stage-toolbar>div:first-child{display:grid;gap:2px}
.review-stage-kicker{font-size:11px;color:var(--brand);font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.review-guidance-strip{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px}
.review-guidance-strip>.guidance-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.review-guidance-strip .guidance-card{min-height:128px}
.review-about-card{display:none}
.review-question-preview-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow)}
.review-question-number{display:inline-flex;border:1px solid #c5ded4;background:#eef8f4;color:var(--brand);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:850;margin-bottom:14px}
.review-question-live legend{font-size:clamp(23px,2.4vw,34px);max-width:850px}
.review-question-live .option-card{min-height:72px;padding:16px}
.review-question-statusbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:20px;padding:11px 13px;background:#f7faf9;border:1px solid var(--line);border-radius:11px;font-size:12px;color:var(--muted)}
.review-required-badge,.review-optional-badge{border-radius:8px;padding:5px 9px;font-size:11px}
.review-required-badge{background:#fff0cb;color:#835c14}.review-optional-badge{background:#edf4fb;color:#315f8d}

.review-inspector{padding:14px;display:grid;gap:9px;position:sticky;top:12px}
.review-inspector h2{font-size:17px;margin:0 0 2px}
.review-inspector-card{border:1px solid var(--line);background:#f9fbfa;border-radius:11px;padding:10px;display:grid;gap:4px}
.review-inspector-card>span{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.review-inspector-card strong,.review-inspector-card code{overflow-wrap:anywhere}
.review-inspector-card p{font-size:12px;margin:0}.review-inspector-card em{font-size:10px;color:var(--muted);font-style:normal}
.review-flow-link{display:block;border:1px solid var(--line);border-radius:10px;padding:10px;color:var(--brand);font-weight:850;text-decoration:none}
.review-flow-link:hover{background:var(--soft)}
.review-internal-note{margin:0}

.review-flow-dashboard{display:grid;grid-template-columns:260px minmax(0,1fr) 280px;gap:14px;align-items:start}
.flow-left-rail,.flow-right-rail{display:grid;gap:12px;position:sticky;top:12px}
.flow-side-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.flow-side-panel h1{font-size:22px;margin:0 0 6px}.flow-side-panel h2{font-size:15px;margin:0 0 9px}
.flow-side-panel p{font-size:12px;margin:5px 0;color:#43534d}
.flow-side-panel--warning{background:#fff6dd;border-color:#ecdca9}
.flow-feature-list{list-style:none;padding:0;margin:13px 0 0;display:grid;gap:7px;font-size:12px}
.flow-feature-list li:before{content:"✓";color:var(--brand);font-weight:900;margin-right:7px}
.flow-summary{display:grid;grid-template-columns:1fr auto;gap:7px 12px;font-size:12px;margin:0}
.flow-summary dt{color:var(--muted)}.flow-summary dd{margin:0;font-weight:850}
.flow-search-label{font-size:11px;font-weight:800;display:block;margin-bottom:5px}
.flow-theme-jumps{display:grid;gap:4px}.flow-theme-jumps button{min-height:0;padding:7px 8px;border:0;background:transparent;border-radius:8px;justify-content:flex-start;font-size:11px;text-align:left}
.flow-theme-jumps button:hover{background:var(--soft)}.flow-theme-jumps button span{display:inline-grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--soft);color:var(--brand);margin-right:6px;font-weight:850}

.flow-map-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0}
.flow-map-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line);background:#fbfdfc}
.flow-filter-row{display:flex;gap:6px;flex-wrap:wrap}
.flow-filter{min-height:31px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:5px 10px;font-size:11px;font-weight:800}
.flow-filter.is-active{background:var(--brand);border-color:var(--brand);color:#fff}
.flow-zoom-controls{display:flex;align-items:center;gap:5px}
.flow-zoom-controls button{min-height:31px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:4px 9px;font-size:11px}
.flow-zoom-controls output{font-size:11px;min-width:38px;text-align:center}

.flow-viewport{height:720px;overflow:auto;background:
  radial-gradient(circle at 1px 1px,#dfe7e4 1px,transparent 1.2px);
  background-size:18px 18px;position:relative}
.flow-stage{position:relative;transition:transform .15s ease;min-width:1200px;min-height:1000px}
.flow-svg,.flow-theme-layer,.flow-node-layer{position:absolute;inset:0}
.flow-theme-layer,.flow-node-layer{pointer-events:none}
.flow-theme-label{position:absolute;border-top:1px dashed #cbd8d3;padding-top:5px;display:flex;gap:7px;align-items:center;color:var(--muted);font-size:10px}
.flow-theme-label span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e8f3ef;color:var(--brand);font-weight:850}
.flow-theme-label strong{color:#43544d}

.flow-node{position:absolute;pointer-events:auto;text-align:left;border:1px solid #cfdad6;background:#fff;border-radius:11px;padding:10px;display:grid;align-content:start;gap:5px;box-shadow:0 4px 10px rgba(18,48,38,.04);transition:opacity .14s,border-color .14s,box-shadow .14s}
.flow-node:hover{border-color:#8bb6a5;box-shadow:0 7px 17px rgba(18,48,38,.09)}
.flow-node.is-selected{outline:3px solid rgba(24,89,169,.24);outline-offset:2px}
.flow-node.is-filtered{opacity:.12;pointer-events:none}
.flow-node-code{font-size:10px;font-weight:900;color:var(--brand)}
.flow-node>strong{font-size:11px;line-height:1.25}
.flow-node-badges{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}
.flow-node-badge{font-size:8px;font-weight:850;border-radius:5px;padding:2px 5px;border:1px solid transparent}
.flow-node-badge--always{background:#e2f4ec;color:#14654d;border-color:#badfce}
.flow-node-badge--conditional{background:#fff0d8;color:#845617;border-color:#efd3a4}
.flow-node-badge--optional{background:#eaf2fb;color:#315f8e;border-color:#c8d9ef}
.flow-node-badge--branch{background:#e7effc;color:#345d9b;border-color:#c8d8f0}
.flow-node-badge--merge{background:#f0e8fb;color:#6d4d9d;border-color:#d8c5ef}
.flow-node-badge--terminal{background:#fde9e8;color:#8d302b;border-color:#efc2be}
.flow-node--terminal{background:#fff5f4;border-color:#eccbc8}
.flow-node--merge{border-color:#bca5d9}

.flow-edge{fill:none;stroke-width:1.8}
.flow-edge--order{stroke:#889690;stroke-dasharray:5 4;opacity:.52}
.flow-edge--condition{stroke:#c88628}
.flow-edge--green{stroke:#16825f}.flow-edge--red{stroke:#c44d48}.flow-edge--amber{stroke:#c88628}.flow-edge--purple{stroke:#7c5bb5}.flow-edge--neutral{stroke:#7a8983}
.flow-edge-group.is-filtered{opacity:.08}
.flow-edge-label{font:700 9px/1.1 system-ui,sans-serif;color:#43534d;background:rgba(255,255,255,.94);border:1px solid #dbe3e0;border-radius:5px;padding:3px 5px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

.flow-legend{display:grid;gap:7px;font-size:11px}.flow-legend span{display:flex;align-items:center;gap:7px}
.legend-node{width:12px;height:12px;border-radius:3px;border:1px solid}.legend-always{background:#e2f4ec;border-color:#badfce}.legend-conditional{background:#fff0d8;border-color:#efd3a4}.legend-optional{background:#eaf2fb;border-color:#c8d9ef}.legend-merge{background:#f0e8fb;border-color:#d8c5ef}.legend-terminal{background:#fde9e8;border-color:#efc2be}
.legend-line{width:24px;height:0;border-top:2px solid}.legend-order{border-color:#889690;border-top-style:dashed}.legend-condition{border-color:#16825f}
.flow-node-details{font-size:11px}.flow-node-details h3{font-size:13px;margin:7px 0 10px}.flow-detail-head{display:flex;justify-content:space-between;align-items:center}.flow-detail-head span{font-weight:900;color:var(--brand)}.flow-detail-head i{font-style:normal;background:var(--soft);padding:3px 6px;border-radius:5px}
.flow-node-details dl{display:grid;grid-template-columns:auto 1fr;gap:4px 8px}.flow-node-details dt{color:var(--muted)}.flow-node-details dd{margin:0;overflow-wrap:anywhere}
.flow-node-details section{border-top:1px solid #edf1ef;padding-top:8px;margin-top:8px}.flow-node-details ul{padding-left:16px;margin:5px 0}

@media(max-width:1180px){
  .review-question-dashboard{grid-template-columns:230px minmax(0,1fr)}
  .review-inspector{grid-column:1/-1;position:static;grid-template-columns:repeat(3,minmax(0,1fr))}
  .review-inspector h2,.review-flow-link,.review-internal-note{grid-column:1/-1}
  .review-flow-dashboard{grid-template-columns:220px minmax(0,1fr)}
  .flow-right-rail{grid-column:1/-1;position:static;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .review-console-title,.review-stage-toolbar,.flow-map-toolbar{display:grid}
  .review-console-title>div{display:grid}
  .review-question-dashboard,.review-flow-dashboard{grid-template-columns:1fr}
  .review-qnav,.flow-left-rail{position:static;max-height:none}
  .review-qnav-list{max-height:320px;overflow:auto}
  .review-guidance-strip>.guidance-column{grid-template-columns:1fr}
  .review-inspector{grid-template-columns:1fr}
  .flow-right-rail{grid-template-columns:1fr}
  .flow-viewport{height:620px}
}

/* v0.28 — mockup-derived INTERNAL REVIEW polish only */
.review-shell--questions,.review-shell--flow{max-width:1540px}
.review-question-dashboard--v028{grid-template-columns:320px minmax(0,1fr) 300px;gap:16px}
.review-qnav--v028{padding:14px;max-height:calc(100vh - 178px)}
.review-qnav-title{padding:2px 4px 11px}.review-qnav-title>div{display:grid;gap:3px}.review-qnav-title strong{font-size:16px}.review-qnav-title span{font-size:10px;color:var(--muted)}
.review-qnav-summary{display:grid;gap:3px;margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.review-qnav-summary>div{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;min-height:31px;padding:6px 9px;border-radius:8px;font-size:11px}
.review-qnav-summary>div.is-primary{background:linear-gradient(90deg,#e3f3ec,#eef8f4);color:#164f3d}
.review-qnav-search{display:block;margin-bottom:8px}
.review-jump--v028{grid-template-columns:minmax(70px,82px) minmax(0,1fr) 14px;gap:9px;padding:10px 8px;align-items:start;min-width:0;border-radius:9px}
.review-jump--v028:hover{background:#f5f9f7}.review-jump--v028.is-current{background:linear-gradient(90deg,#e0f3eb,#eff8f4);box-shadow:inset 3px 0 var(--brand)}
.review-jump-code{display:block;min-width:0;max-width:82px;overflow-wrap:anywhere;word-break:break-word;font-size:10px;line-height:1.15}
.review-jump-prompt{min-width:0;overflow-wrap:anywhere;line-height:1.32;font-size:11px}
.review-jump-arrow{color:#8b9a94;font-size:18px;line-height:1}
.review-question-stage--v028{padding:15px}.review-guidance-strip--v028>.guidance-column{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.review-guidance-strip--v028 .guidance-card{min-height:150px;padding:15px}.review-question-preview-card--v028{padding:22px}
.review-inspector--v028{gap:10px}.review-flow-link--v028{border-color:#9fcbbb;background:#f6fbf9}

.review-flow-dashboard--v028{grid-template-columns:235px minmax(0,1fr) 260px;gap:14px}
.flow-left-rail--v028,.flow-right-rail--v028{position:sticky;top:12px}
.flow-filter-list{display:grid;gap:4px}.flow-filter-list .flow-filter{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:7px;width:100%;min-height:34px;border:0;border-radius:8px;padding:7px 8px;background:transparent;color:var(--ink);text-align:left;font-size:11px}
.flow-filter-list .flow-filter:hover{background:#f4f8f6}.flow-filter-list .flow-filter.is-active{background:#e6f3ed;color:#174f3e}
.flow-filter-list .flow-filter>span{width:16px;height:16px;border:1px solid #9caea7;border-radius:4px;display:grid;place-items:center;font-size:10px;font-weight:900}
.flow-filter-list .flow-filter.is-active>span{background:var(--brand);border-color:var(--brand);color:#fff}.flow-filter-list .flow-filter>strong{font-size:10px;color:var(--muted)}
.flow-theme-jumps--v028 button{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;width:100%;min-height:34px;padding:6px 7px;overflow:hidden}.flow-theme-jumps--v028 button span{margin:0}
.flow-map-toolbar--v028{display:grid;grid-template-columns:minmax(165px,.8fr) minmax(220px,1.1fr) auto;gap:12px;align-items:center;padding:11px 12px}
.flow-map-heading{display:grid;gap:2px}.flow-map-heading strong{font-size:13px}.flow-map-heading span{font-size:10px;color:var(--muted)}
.flow-toolbar-search{display:block}.flow-toolbar-search .review-search{margin:0;width:100%}
.flow-viewport--v028{height:760px}.flow-stage--v028{min-width:892px;min-height:1200px;transform-origin:top left}
.flow-theme-label--v028{height:22px;background:rgba(243,247,245,.88);border-top:1px dashed #cddad5;padding:4px 7px;gap:7px}.flow-theme-label--v028 span{width:18px;height:18px;font-size:9px}
.flow-node--v028{padding:10px 11px;gap:5px;border-radius:11px}.flow-node--v028>strong{font-size:11px;line-height:1.28;max-height:43px;overflow:hidden}.flow-node--v028 .flow-node-code{font-size:10px}.flow-node--v028 .flow-node-badge{font-size:8px}
.flow-edge-label{font-size:8px;line-height:1.08;padding:3px 5px;box-shadow:0 1px 3px rgba(20,45,36,.05)}
.flow-right-rail--v028 .flow-side-panel{padding:13px}.flow-right-rail--v028 .flow-node-details h3{font-size:13px;line-height:1.3}

@media(max-width:1260px){
.review-question-dashboard--v028{grid-template-columns:280px minmax(0,1fr)}
.review-question-dashboard--v028 .review-inspector--v028{grid-column:1/-1;position:static;grid-template-columns:repeat(3,minmax(0,1fr))}
.review-flow-dashboard--v028{grid-template-columns:210px minmax(0,1fr)}
.flow-right-rail--v028{grid-column:1/-1;position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
.review-question-dashboard--v028,.review-flow-dashboard--v028{grid-template-columns:1fr}
.review-qnav--v028,.flow-left-rail--v028,.flow-right-rail--v028{position:static}
.review-qnav--v028{max-height:none}.review-qnav-list--v028{max-height:360px;overflow:auto}
.review-guidance-strip--v028>.guidance-column{grid-template-columns:1fr}
.flow-map-toolbar--v028{grid-template-columns:1fr}.flow-viewport--v028{height:640px}
}


/* ================================================================
   v0.29 — respondent action anchor + review outcome routes
   ================================================================ */

/* Respondent navigation stays at the same vertical anchor for normal
   desktop questions; long content may still expand safely rather than overlap. */
.respondent-question-form{
  display:flex;
  flex-direction:column;
  min-height:clamp(500px,58vh,560px)
}
.respondent-question-content{flex:0 0 auto}
.respondent-question-actions{
  margin-top:auto;
  padding-top:26px
}

/* Review guidance mirrors the approved three-card mockup. */
.review-guidance-three{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px
}
.review-guidance-three .guidance-card{
  min-height:168px;
  height:100%
}

/* Route/outcome nodes make skips and answer-driven groups explicit. */
.legend-route{background:#e8e0f5;border-color:#cbb8e5}
.flow-node--route{
  border:1px solid #bda8da;
  background:linear-gradient(180deg,#f8f4fd,#f0e9fa);
  border-radius:10px;
  padding:8px 10px;
  display:grid;
  gap:3px;
  align-content:center
}
.flow-node--route>strong{
  font-size:10px;
  color:#5d3f89;
  line-height:1.2;
  max-height:none
}
.flow-route-label{
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:900;
  color:#7a5aa5
}
.flow-route-outcome{
  font-size:8px;
  line-height:1.2;
  color:#5f6965
}
.flow-edge--route-entry{stroke:#7c5bb5;stroke-width:2.1}
.flow-edge--route-result{stroke:#16825f;stroke-width:2.1}
.flow-edge--skip{stroke:#c88628;stroke-width:2.1;stroke-dasharray:5 3}
.flow-edge-group--raw-condition{opacity:.12}
.flow-edge-group--raw-condition .flow-edge{stroke-width:1}
.flow-edge-group--raw-condition foreignObject{display:none}

@media(max-width:860px){
  .respondent-question-form{min-height:0}
  .respondent-question-actions{margin-top:24px;padding-top:0}
  .review-guidance-three{grid-template-columns:1fr!important}
  .review-guidance-three .guidance-card{min-height:0}
}


/* ================================================================
   v0.30 — approved mockup convergence for Flytvisning
   ================================================================ */
.review-flow-dashboard--v030{display:grid;grid-template-columns:225px minmax(0,1fr) 255px;gap:14px;align-items:start}
.flow-left-rail--v030,.flow-right-rail--v030{display:grid;gap:11px;position:sticky;top:12px}
.flow-map-panel--v030{min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.flow-map-toolbar--v030{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(220px,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);background:#fff}
.flow-map-heading{display:grid;gap:1px}.flow-map-heading strong{font-size:13px}.flow-map-heading span{font-size:10px;color:var(--muted)}
.flow-toolbar-search .review-search{margin:0;width:100%}
.flow-viewport--v030{position:relative;height:760px;overflow:auto;background:radial-gradient(circle at 1px 1px,#dce6e2 1px,transparent 1.15px);background-size:18px 18px}
.flow-stage--v030{position:relative;min-width:930px;min-height:1200px;transform-origin:top left}
.flow-svg,.flow-section-layer,.flow-branch-layer,.flow-node-layer{position:absolute;inset:0}
.flow-section-layer,.flow-branch-layer,.flow-node-layer{pointer-events:none}
.flow-section-label{position:absolute;left:15px;right:15px;display:flex;align-items:center;gap:6px;height:22px;color:#73817b;font-size:9px;border-top:1px dashed rgba(144,160,153,.34);padding-top:4px}
.flow-section-label span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#edf5f2;color:var(--brand);font-weight:850}
.flow-branch-box{position:absolute;border:1px solid rgba(75,121,188,.22);background:rgba(231,241,250,.23);border-radius:14px;pointer-events:none}
.flow-branch-box-label{position:absolute;top:-13px;left:12px;display:flex;align-items:center;gap:6px;min-height:25px;max-width:250px;padding:4px 8px;border:1px solid #9dc4e5;border-radius:7px;background:#fff;color:#2e6a9e;font-size:9px;box-shadow:0 2px 6px rgba(31,72,104,.06)}
.flow-branch-box-label strong{font-size:9px}.flow-branch-box-label span{color:#60756c}
.flow-merge-pill{position:absolute;min-width:116px;text-align:center;padding:4px 8px;border-radius:999px;border:1px solid #efbd75;background:#fff8e9;color:#9a631d;font-size:8px;font-weight:850;pointer-events:none}
.flow-node--v030{position:absolute;pointer-events:auto;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:80px;padding:10px 11px;text-align:left;border:1px solid #cfdcd7;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(24,56,45,.05)}
.flow-node--v030:hover{border-color:#8cb6a7;box-shadow:0 7px 18px rgba(24,56,45,.09)}
.flow-node--v030.is-selected{outline:3px solid rgba(26,103,77,.17);outline-offset:2px}
.flow-node--v030.is-filtered{opacity:.12;pointer-events:none}
.flow-node--conditional{border-color:#9bc5e7;background:linear-gradient(180deg,#fff,#f7fbfe)}
.flow-node--optional{border-color:#c8b9e8}
.flow-node--terminal{border-color:#efb8b4;background:#fff5f4}
.flow-node--start{border-color:#93cdb4;background:#f0faf5}
.flow-node--merge-target{border-color:#efbd75;background:#fffaf0}
.flow-card-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#eaf5f0;color:var(--brand);font-size:14px;font-weight:900}
.flow-node--conditional .flow-card-icon{background:#edf6fd;color:#357eb7}.flow-node--optional .flow-card-icon{background:#f3eefb;color:#6e52a3}.flow-node--terminal .flow-card-icon{background:#fde9e7;color:#b64640}
.flow-card-copy{display:grid;gap:2px;min-width:0}.flow-card-copy .flow-node-code{font-size:9px;font-weight:900;color:var(--brand)}.flow-card-copy strong{font-size:10px;line-height:1.22;max-height:39px;overflow:hidden}
.flow-card-badge{align-self:start;border-radius:6px;padding:3px 5px;font-size:7px;font-weight:850;white-space:nowrap}
.flow-card-badge.start{background:#def2e8;color:#17634c}.flow-card-badge.conditional{background:#e4f1fb;color:#3476a8}.flow-card-badge.optional{background:#efe8fa;color:#6f50a1}.flow-card-badge.branch{background:#e6f2ed;color:#1d6a50}.flow-card-badge.merge{background:#fff0d5;color:#97641e}.flow-card-badge.terminal{background:#fce5e3;color:#a23c36}
.flow-edge-v030{fill:none;stroke-width:1.8}.flow-edge-v030.standard{stroke:#1f8a67}.flow-edge-v030.branch,.flow-edge-v030.alternative{stroke:#3d79be}.flow-edge-v030.return{stroke:#1f8a67}.flow-edge-v030.skip{stroke:#d88a22;stroke-dasharray:5 3}.flow-edge-v030.terminal{stroke:#c9534d}
.flow-edge-pill{display:block;max-width:184px;overflow:hidden;text-overflow:ellipsis;white-space:normal;text-align:center;border-radius:6px;padding:3px 6px;font:800 8px/1.15 system-ui,sans-serif;background:#fff;box-shadow:0 2px 5px rgba(24,56,45,.06)}
.flow-edge-pill.branch,.flow-edge-pill.alternative{color:#2f6e9f;border:1px solid #9fc7e6}.flow-edge-pill.skip{color:#9a631c;border:1px solid #edbd78;background:#fff9ed}.flow-edge-pill.terminal{color:#a03f39;border:1px solid #efb8b4;background:#fff6f5}
.flow-legend--v030 hr{width:100%;border:0;border-top:1px solid var(--line);margin:4px 0}.legend-start{background:#7bc8a4;border-color:#62b48f}.legend-skip{border-color:#d88a22;border-top-style:dashed}
.flow-theme-jumps--v030{display:grid;gap:3px}.flow-theme-jumps--v030 button{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:6px;align-items:center;width:100%;padding:5px 2px;border:0;border-radius:6px;background:transparent;color:#53645d;text-align:left;font-size:9px}.flow-theme-jumps--v030 button:hover{background:#f3f7f5}.flow-theme-jumps--v030 button strong{font-size:8px;color:#8a9892}.flow-theme-dot{width:6px;height:6px;border-radius:50%;background:#6e8298}
.flow-minimap-shell{position:sticky;left:calc(100% - 176px);bottom:12px;width:168px;height:188px;padding:4px;border:1px solid #cfdcd7;border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 6px 18px rgba(24,56,45,.09);z-index:7;pointer-events:none}
.flow-minimap{width:160px;height:180px;display:block}
.flow-map-panel--v030:fullscreen{width:100vw;height:100vh;border:0;border-radius:0}.flow-map-panel--v030:fullscreen .flow-viewport--v030{height:calc(100vh - 58px)}
@media(max-width:1260px){.review-flow-dashboard--v030{grid-template-columns:205px minmax(0,1fr)}.flow-right-rail--v030{grid-column:1/-1;position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.review-flow-dashboard--v030{grid-template-columns:1fr}.flow-left-rail--v030,.flow-right-rail--v030{position:static}.flow-right-rail--v030{grid-template-columns:1fr}.flow-map-toolbar--v030{grid-template-columns:1fr}.flow-viewport--v030{height:640px}.flow-minimap-shell{display:none}}


/* ================================================================
   v0.31 — block-reserved flow geometry (mockup authority)
   ================================================================ */
.review-flow-dashboard--v031{display:grid;grid-template-columns:225px minmax(0,1fr) 255px;gap:14px;align-items:start}
.flow-left-rail--v031,.flow-right-rail--v031{display:grid;gap:11px;position:sticky;top:12px}
.flow-map-panel--v031{min-width:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.flow-map-toolbar--v031{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(220px,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line);background:#fff}
.flow-viewport--v031{position:relative;height:780px;overflow:auto;background:radial-gradient(circle at 1px 1px,#dce6e2 1px,transparent 1.15px);background-size:18px 18px}
.flow-stage--v031{position:relative;min-width:1000px;min-height:1400px;transform-origin:top left}
.flow-svg,.flow-section-layer,.flow-group-layer,.flow-node-layer{position:absolute;inset:0}
.flow-section-layer,.flow-group-layer,.flow-node-layer{pointer-events:none}
.flow-section-band{position:absolute;left:18px;right:18px;height:24px;border-top:1px dashed rgba(139,158,149,.30);padding-top:4px;display:flex;align-items:center;gap:7px;color:#74837c;font-size:9px}
.flow-section-band span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#edf5f2;color:var(--brand);font-weight:900}
.flow-branch-group{position:absolute;border:1px solid #b9d7eb;background:rgba(232,244,252,.46);border-radius:14px}
.flow-branch-group-title{position:absolute;top:-14px;left:12px;display:flex;align-items:center;gap:7px;max-width:270px;min-height:27px;padding:4px 8px;border:1px solid #9fc7e4;border-radius:7px;background:#fff;color:#2f6f9e;font-size:9px;box-shadow:0 2px 6px rgba(31,72,104,.07)}
.flow-branch-group-title span{color:#63776e}
.flow-merge-label{position:absolute;min-width:120px;text-align:center;padding:4px 8px;border:1px solid #edbb73;border-radius:999px;background:#fff7e6;color:#95601c;font-size:8px;font-weight:900}
.flow-node-v031{position:absolute;pointer-events:auto;display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 11px;text-align:left;border:1px solid #cad9d3;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(24,56,45,.055)}
.flow-node-v031:hover{border-color:#88b5a5;box-shadow:0 7px 18px rgba(24,56,45,.09)}
.flow-node-v031.start{border-color:#8dc9af;background:#f0faf5}
.flow-node-v031.conditional{border-color:#94c2e3;background:#f8fcff}
.flow-node-v031.optional{border-color:#c5b4e7;background:#fcfaff}
.flow-node-v031.merge{border-color:#eebc74;background:#fffaf0}
.flow-node-v031.terminal{border-color:#e7aaa5;background:#fff5f4}
.flow-node-v031.selected{outline:3px solid rgba(27,103,77,.17);outline-offset:2px}
.flow-node-v031.filtered{opacity:.12;pointer-events:none}
.flow-node-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#e9f5f0;color:var(--brand);font-weight:900}
.flow-node-v031.conditional .flow-node-icon{background:#edf6fc;color:#357cab}
.flow-node-v031.terminal .flow-node-icon{background:#fde9e7;color:#ae4540}
.flow-node-copy{display:grid;gap:2px;min-width:0}
.flow-node-copy span{font-size:9px;font-weight:900;color:var(--brand)}
.flow-node-copy strong{font-size:10px;line-height:1.22;max-height:40px;overflow:hidden}
.flow-node-v031 em{font-style:normal;font-size:7px;font-weight:900;border-radius:6px;padding:3px 5px;background:#e7f2ed;color:#1c684f;white-space:nowrap}
.flow-node-v031.merge em{background:#fff0d5;color:#96631d}
.flow-node-v031.terminal em{background:#fce3e1;color:#a03d38}
.flow-edge-v031{fill:none;stroke-width:1.9}
.flow-edge-v031.main,.flow-edge-v031.return{stroke:#218761}
.flow-edge-v031.branch,.flow-edge-v031.continue{stroke:#377db7}
.flow-edge-v031.skip{stroke:#d88a22;stroke-dasharray:6 4}
.flow-edge-v031.terminal{stroke:#c64f49}
.flow-route-label{display:block;max-width:218px;padding:4px 7px;border-radius:7px;background:#fff;font:800 8px/1.2 system-ui,sans-serif;white-space:normal;box-shadow:0 2px 5px rgba(24,56,45,.06)}
.flow-route-label.branch,.flow-route-label.continue{color:#2d6f9f;border:1px solid #9fc7e5}
.flow-route-label.skip{color:#946018;border:1px solid #ecb96e;background:#fff8ea}
.flow-route-label.terminal{color:#9f3c37;border:1px solid #e9aea9;background:#fff6f5}
.flow-theme-jumps--v031{display:grid;gap:3px}
.flow-theme-jumps--v031 button{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:6px;align-items:center;width:100%;border:0;border-radius:6px;background:transparent;padding:5px 2px;text-align:left;color:#53645d;font-size:9px}
.flow-theme-jumps--v031 button:hover{background:#f3f7f5}
.flow-theme-jumps--v031 button i{width:6px;height:6px;border-radius:50%;background:#6e8298}
.flow-theme-jumps--v031 button strong{font-size:8px;color:#8a9892}
.flow-legend--v031 hr{width:100%;border:0;border-top:1px solid var(--line);margin:4px 0}
.flow-minimap-panel-v031{overflow:hidden}.flow-minimap-panel-v031 .flow-minimap{display:block;width:100%;height:180px;border:1px solid #e0e8e5;border-radius:9px;background:#f8fbfa}
.flow-map-panel--v031:fullscreen{width:100vw;height:100vh;border:0;border-radius:0}
.flow-map-panel--v031:fullscreen .flow-viewport--v031{height:calc(100vh - 58px)}
@media(max-width:1260px){.review-flow-dashboard--v031{grid-template-columns:205px minmax(0,1fr)}.flow-right-rail--v031{grid-column:1/-1;position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.review-flow-dashboard--v031{grid-template-columns:1fr}.flow-left-rail--v031,.flow-right-rail--v031{position:static}.flow-right-rail--v031{grid-template-columns:1fr}.flow-map-toolbar--v031{grid-template-columns:1fr}.flow-viewport--v031{height:640px}.flow-minimap-panel-v031{display:none}}

/* ================================================================
   v0.33 — consolidated respondent intro + calm completion screen
   ================================================================ */
.exchange-bridge{max-width:680px;margin:10vh auto 0;text-align:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:var(--shadow)}
.exchange-bridge h1{font-size:28px;margin-bottom:9px}.exchange-spinner{width:34px;height:34px;margin:0 auto 18px;border:3px solid #d7e7e1;border-top-color:var(--brand);border-radius:50%;animation:fvsf-spin .8s linear infinite}@keyframes fvsf-spin{to{transform:rotate(360deg)}}
.welcome-shell{max-width:1060px}.welcome-card{max-width:960px;margin:8px auto 0;background:#fff;border:1px solid var(--line);border-radius:17px;padding:34px 38px 28px;box-shadow:0 16px 42px rgba(20,45,36,.07)}
.welcome-test-notice{display:grid;grid-template-columns:58px minmax(0,1fr);gap:20px;align-items:center;background:linear-gradient(90deg,#edf7f3,#f2f8f5);border-radius:13px;padding:15px 20px;margin-bottom:31px;font-size:15px;line-height:1.52}.welcome-test-icon{height:52px;display:grid;place-items:center;border-right:1px solid #bdd5cc;padding-right:18px;color:var(--brand)}.welcome-test-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.welcome-card h1{font-size:clamp(32px,4.6vw,47px);letter-spacing:-.025em;margin-bottom:16px}.welcome-lead{font-size:17px;line-height:1.52;max-width:820px;margin:0 0 27px;color:#253730}.welcome-facts{display:grid;gap:20px}.welcome-fact{display:grid;grid-template-columns:60px minmax(0,1fr);gap:18px;align-items:start}.welcome-fact-icon{width:52px;height:52px;border-radius:50%;background:#eaf5f1;color:var(--brand);display:grid;place-items:center}.welcome-fact--privacy .welcome-fact-icon{background:#f0f4f2;color:#263933}.welcome-fact-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.welcome-fact strong{display:block;font-size:17px;margin:3px 0 3px}.welcome-fact p{margin:0;font-size:15px;line-height:1.48;color:#24352f}.welcome-divider,.receipt-divider{height:1px;background:#cbdad5;margin:27px 0 23px}.welcome-actions{display:flex;justify-content:flex-end}.welcome-start{min-width:330px;min-height:52px}
.receipt-shell{max-width:1060px}.receipt-card{max-width:960px;margin:8px auto 0;background:#fff;border:1px solid var(--line);border-radius:17px;padding:42px 50px 34px;box-shadow:0 16px 42px rgba(20,45,36,.07)}.receipt-success-icon{width:74px;height:74px;border-radius:50%;background:#e7f4ef;color:var(--brand);display:grid;place-items:center;margin-bottom:23px;box-shadow:inset 0 0 0 12px rgba(255,255,255,.42)}.receipt-success-icon svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.receipt-card h1{font-size:clamp(34px,4.6vw,49px);letter-spacing:-.025em;margin-bottom:14px}.receipt-lead{font-size:20px;line-height:1.5;max-width:760px;margin:0;color:#2b3b35}.receipt-help{display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;align-items:center;background:linear-gradient(90deg,#edf7f3,#f2f8f5);border-radius:14px;padding:24px 28px}.receipt-help-icon{width:58px;height:58px;border-radius:50%;background:#fff;color:var(--brand);display:grid;place-items:center}.receipt-help-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.receipt-help h2{font-size:21px;margin:0 0 5px}.receipt-help p{font-size:16px;line-height:1.5;margin:0}.receipt-time{display:flex;gap:12px;align-items:center;color:var(--muted);margin-top:27px;font-size:15px}.receipt-time svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:650px){.welcome-card,.receipt-card{padding:23px 19px}.welcome-test-notice{grid-template-columns:1fr;gap:10px}.welcome-test-icon{height:auto;border-right:0;border-bottom:1px solid #bdd5cc;padding:0 0 10px;justify-content:start}.welcome-fact{grid-template-columns:46px minmax(0,1fr);gap:12px}.welcome-fact-icon{width:44px;height:44px}.welcome-actions{display:block}.welcome-start{width:100%;min-width:0}.receipt-help{grid-template-columns:1fr;padding:20px}.receipt-card h1{font-size:34px}.receipt-lead{font-size:17px}}
