/* KU Open Data Analytics — production journey shell derived from accepted v62 visual language */
:root{
  --ku-green:#006664;--ku-fresh:#B2BB1E;--ku-grey:#74787B;--ku-brown:#6E4B32;--ku-yellow:#FFD800;
  --ku-bg:#F6F8F8;--ku-panel:#FFFFFF;--ku-text:#203033;--ku-muted:#6F7B7D;--ku-line:#DDE4E5;
  --ku-soft-green:#E8F2F1;--ku-soft-fresh:#F3F6D9;--ku-soft-yellow:#FFF8D1;--ku-radius:16px;
  --ku-shadow:0 10px 30px rgba(0,45,44,.08);--ku-product-header-height:70px;
}
html,body{background:var(--ku-bg);color:var(--ku-text);font-family:Inter,"Segoe UI",Arial,sans-serif}
header{height:70px;background:#fff;border-bottom:1px solid var(--ku-line);padding:0 24px;position:sticky;top:0;z-index:30}
.logo{width:42px;height:42px;border-radius:10px;background:var(--ku-green);box-shadow:inset 0 -6px 0 var(--ku-fresh);font-weight:850}
.brand{color:var(--ku-green);font-size:16px;font-weight:850}.brand small{color:var(--ku-muted);font-size:11px;margin-top:2px}
.btn{border-color:var(--ku-line);border-radius:11px;padding:10px 14px;font-weight:750}.btn.primary,.primary{background:var(--ku-green);color:#fff;border-color:var(--ku-green)}
.btn.primary:hover{background:#005653}.btn:focus-visible,.journey-step:focus-visible,.nav:focus-visible{outline:3px solid rgba(178,187,30,.45);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}
.app{grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 70px)}
aside{background:var(--ku-green);border-right:0;padding:18px 14px;color:#fff;position:sticky;top:70px;height:calc(100vh - 70px);overflow-y:auto}
.journey-title{padding:4px 8px 10px;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.11em;color:rgba(255,255,255,.58)}
.journey-list{display:grid;gap:4px;margin-bottom:18px}
.journey-step{width:100%;display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;text-align:left;border:0;background:transparent;color:rgba(255,255,255,.78);padding:9px;border-radius:11px;cursor:pointer}
.journey-step:hover:not(:disabled){background:rgba(255,255,255,.08);color:#fff}.journey-step.active{background:rgba(255,255,255,.13);color:#fff;font-weight:800}.journey-step:disabled{opacity:.46;cursor:not-allowed}
.journey-num{width:26px;height:26px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:850}
.journey-step.active .journey-num{background:var(--ku-fresh);border-color:var(--ku-fresh);color:var(--ku-green)}
.journey-step.done .journey-num{background:#fff;border-color:#fff;color:var(--ku-green)}
.journey-copy b{display:block;font-size:12px;line-height:1.2}.journey-copy span{display:block;font-size:10px;line-height:1.3;color:rgba(255,255,255,.58);margin-top:2px}
aside .label{color:rgba(255,255,255,.48);padding:10px 9px 5px}aside .nav{color:rgba(255,255,255,.72);font-size:12.5px;padding:8px 9px}aside .nav:hover{background:rgba(255,255,255,.08);color:#fff}aside .nav.active{background:rgba(178,187,30,.20);color:#fff}
.advanced-divider{height:1px;background:rgba(255,255,255,.12);margin:7px 8px 9px}.advanced-note{padding:0 9px 8px;color:rgba(255,255,255,.55);font-size:10px;line-height:1.45}
main{padding:30px clamp(22px,3vw,44px);max-width:1500px}.step-kicker{font-size:12px;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:var(--ku-fresh);margin-bottom:6px}
h1{font-size:32px;line-height:1.15;color:#263537;letter-spacing:-.025em;margin:0 0 7px}.lead{color:var(--ku-muted);font-size:14px;line-height:1.6;max-width:780px}
.card{background:#fff;border-color:var(--ku-line);border-radius:var(--ku-radius);box-shadow:var(--ku-shadow)}.head{border-bottom-color:var(--ku-line);font-size:14px;color:#304446}.body{font-size:13px}
.current-analysis-bar{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(100px,.7fr));gap:10px;align-items:center;border:1px solid #D5E4E2;background:#fff;border-radius:13px;padding:11px 13px;margin:0 0 16px}
.current-analysis-main span,.current-analysis-item span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ku-muted);font-weight:800}.current-analysis-main b{display:block;color:var(--ku-green);font-size:13px;margin-top:3px}.current-analysis-item b{display:block;color:#34494B;font-size:12px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.migration-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 8px;background:var(--ku-soft-green);color:var(--ku-green);font-size:10px;font-weight:800}.migration-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ku-fresh)}
.note,.empty,table{font-size:12px}.advisor{background:var(--ku-soft-green);border-radius:11px;font-size:13px}.pill{background:var(--ku-soft-green);color:var(--ku-green)}

/* Step 3 — one continuous question-first Analysis Plan flow */
.analysis-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.analysis-title-row .lead{margin-bottom:16px}.analysis-plan-flow{overflow:hidden;margin-top:0}
.analysis-flow-section{padding:20px 22px;border-bottom:1px solid var(--ku-line)}.analysis-flow-section:last-child{border-bottom:0}.analysis-flow-section.muted-section{background:#FAFBFB;color:var(--ku-muted)}
.flow-section-title{display:flex;align-items:flex-start;gap:11px;margin-bottom:13px}.flow-section-title>div{display:grid;gap:3px}.flow-section-title b{font-size:14px;color:#2A3D3F}.flow-section-title span:not(.flow-number){font-size:12px;color:var(--ku-muted)}
.flow-number{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border-radius:50%;background:var(--ku-soft-green);color:var(--ku-green);font-size:11px;font-weight:850}
.question-type-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.question-type-card{min-height:112px;border:1px solid var(--ku-line);border-radius:13px;background:#fff;text-align:left;padding:14px;cursor:pointer;transition:.15s ease}.question-type-card:hover{border-color:#A5C4C1;transform:translateY(-1px)}.question-type-card.selected{border:2px solid var(--ku-green);background:var(--ku-soft-green);box-shadow:0 0 0 3px rgba(0,102,100,.06)}.question-type-card b{display:block;color:#2B4445;font-size:13px;line-height:1.3;margin-bottom:7px}.question-type-card span{display:block;color:var(--ku-muted);font-size:11.5px;line-height:1.45}
.analysis-target{width:min(520px,100%);padding:11px 12px;border:1px solid #C9D5D6;border-radius:10px;background:#fff;color:var(--ku-text);font-size:13px}.analysis-target:focus{outline:3px solid rgba(178,187,30,.28);border-color:var(--ku-green)}
.plan-warning{margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--ku-soft-yellow);border-left:4px solid var(--ku-yellow);font-size:12px;color:#5C5130}
.recommendation-section{background:#FBFDFD}.route-recommendation{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 16px;border:1px solid #CDE0DE;border-radius:13px;background:var(--ku-soft-green)}.route-recommendation h3{margin:3px 0 5px;color:var(--ku-green);font-size:18px}.route-recommendation p{margin:0;max-width:760px;color:#526668;font-size:12px;line-height:1.5}.route-kicker{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--ku-grey)}
.route-engine{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:850}.route-engine.api{background:var(--ku-green);color:#fff}.route-engine.browser{background:var(--ku-soft-yellow);color:var(--ku-brown);border:1px solid #E9D984}.recommendation-section.pending .route-recommendation{background:#FAFBFB;border-style:dashed}.recommendation-section.pending .route-recommendation b{color:var(--ku-muted)}
.predictor-details{padding:0;border-top:0}.predictor-details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;cursor:pointer;background:#fff}.predictor-details>summary::-webkit-details-marker{display:none}.predictor-details>summary>span:first-child{display:grid;gap:3px}.predictor-details>summary b{font-size:13px;color:#314749}.predictor-details>summary small{font-size:11px;color:var(--ku-muted)}.advanced-label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:var(--ku-green);background:var(--ku-soft-green);padding:5px 8px;border-radius:999px}
.predictor-details[open]>summary{border-bottom:1px solid var(--ku-line)}.predictor-mode-row{display:flex;flex-wrap:wrap;gap:18px;padding:14px 22px 8px;font-size:12px}.predictor-mode-row label{display:flex;align-items:center;gap:7px}.predictor-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 22px 14px}.predictor-list>label{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--ku-line);border-radius:10px;background:#fff}.predictor-list>label>span{display:grid;gap:1px;min-width:0}.predictor-list b{font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.predictor-list small{font-size:10px;color:var(--ku-muted)}.predictor-readonly{opacity:.68}.predictor-excluded{padding:0 22px 16px;color:var(--ku-muted);font-size:10.5px}
.analysis-plan-footer{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:14px;margin-top:16px}.plan-readiness{display:grid;gap:2px;text-align:right}.plan-readiness span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--ku-green)}.plan-readiness b{font-size:11.5px;color:var(--ku-muted);font-weight:600}.plan-readiness.review span{color:var(--ku-brown)}
.journey-pending-card{margin-top:18px;padding:20px 22px;border:1px dashed #C8D6D5;border-radius:14px;background:#fff}.journey-pending-card b{display:block;color:var(--ku-green);margin-bottom:6px}.journey-pending-card p{margin:0;color:var(--ku-muted);font-size:13px;line-height:1.55}

@media(max-width:1200px){.question-type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.predictor-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){header{height:auto;min-height:70px}.app{display:block;min-height:auto}aside{height:auto;position:sticky;top:var(--ku-product-header-height,70px);z-index:29;display:block;white-space:normal;padding:10px 12px;overflow-x:visible;overflow-y:visible}.journey-title{display:none}.journey-list{display:flex;overflow-x:auto;gap:7px;margin:0;padding:1px 0 7px}.journey-step{flex:0 0 auto;width:auto;grid-template-columns:24px auto;padding:7px 9px}.journey-num{width:23px;height:23px}.journey-copy span{display:none}.advanced-divider,.advanced-note,aside>.label,aside>.nav{display:none}main{padding:22px}.current-analysis-bar{grid-template-columns:1fr 1fr}.current-analysis-main{grid-column:1/-1}.analysis-plan-footer{grid-template-columns:auto 1fr}.analysis-plan-footer .plan-readiness{grid-column:1/-1;grid-row:1;text-align:left}.analysis-plan-footer .btn.primary{justify-self:end}}
@media(max-width:700px){.question-type-grid{grid-template-columns:1fr 1fr}.predictor-list{grid-template-columns:1fr}.route-recommendation{align-items:flex-start;flex-direction:column}.analysis-title-row{display:block}.analysis-title-row>.btn{margin-bottom:12px}.analysis-flow-section{padding:17px 15px}.predictor-details>summary,.predictor-mode-row{padding-left:15px;padding-right:15px}.predictor-list{padding-left:15px;padding-right:15px}.predictor-excluded{padding-left:15px;padding-right:15px}}
@media(max-width:650px){header{height:auto;min-height:64px}.app{min-height:auto}main{padding:18px 12px 28px}h1{font-size:27px}.lead{font-size:13px}.current-analysis-bar{grid-template-columns:1fr}.current-analysis-main{grid-column:auto}.journey-copy b{font-size:11px}.question-type-grid{grid-template-columns:1fr}.analysis-plan-footer{grid-template-columns:1fr}.analysis-plan-footer .plan-readiness{grid-column:auto}.analysis-plan-footer .btn{width:100%}}
