:root {
  --navy-950:#071326; --navy-900:#0a1730; --navy-850:#0d1d3b; --navy-800:#102343;
  --blue-600:#2563eb; --blue-500:#3b82f6; --blue-100:#dbeafe; --blue-50:#eff6ff;
  --slate-950:#0f172a; --slate-800:#1e293b; --slate-700:#334155; --slate-600:#475569; --slate-500:#64748b;
  --slate-400:#94a3b8; --slate-300:#cbd5e1; --slate-200:#e2e8f0; --slate-100:#f1f5f9; --slate-50:#f8fafc;
  --green-700:#15803d; --green-600:#16a34a; --green-100:#dcfce7; --green-50:#f0fdf4;
  --amber-800:#92400e; --amber-700:#b45309; --amber-100:#fef3c7; --amber-50:#fffbeb;
  --red-700:#b91c1c; --red-600:#dc2626; --red-100:#fee2e2; --red-50:#fef2f2;
  --violet-700:#6d28d9; --violet-100:#ede9fe; --violet-50:#f5f3ff;
  --white:#fff; --bg:#f4f7fb; --radius:16px; --radius-sm:11px;
  --shadow:0 12px 34px rgba(15,23,42,.08); --shadow-sm:0 5px 18px rgba(15,23,42,.06);
  --sidebar:260px; --topbar:72px; --transition:160ms ease;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--slate-950);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased} button,input,textarea,select{font:inherit} button{cursor:pointer} a{color:inherit} .hidden{display:none!important}
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}
.sidebar{background:linear-gradient(180deg,var(--navy-950),var(--navy-900));color:#dbe7ff;min-height:100vh;position:sticky;top:0;height:100vh;padding:22px 16px;display:flex;flex-direction:column;z-index:30}
.brand{display:flex;align-items:center;gap:11px;padding:4px 10px 24px}.brand-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#1d4ed8,#60a5fa);font-weight:900;color:#fff;letter-spacing:-.04em}.brand-copy strong{display:block;color:#fff;font-size:15px;letter-spacing:.08em}.brand-copy span{font-size:11px;color:#91a7ca;letter-spacing:.12em;text-transform:uppercase}
.nav{display:flex;flex-direction:column;gap:5px}.nav-btn{border:0;background:transparent;color:#adc0df;border-radius:11px;padding:11px 12px;text-align:left;display:flex;align-items:center;gap:11px;transition:var(--transition);font-weight:650}.nav-btn:hover{background:rgba(255,255,255,.055);color:#fff}.nav-btn.active{background:rgba(59,130,246,.18);color:#fff;box-shadow:inset 3px 0 0 #60a5fa}.nav-icon{width:21px;text-align:center;opacity:.95}.ai-pill{margin-left:auto;background:#1d4ed8;color:#dbeafe;border-radius:999px;font-size:9px;font-weight:800;padding:2px 6px;letter-spacing:.06em}.sidebar-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:16px 10px 0}.pilot-tag{font-size:11px;color:#8ea6ca;margin-bottom:13px}.user-mini{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:#1e3a5f;color:#fff;display:grid;place-items:center;font-weight:800}.user-mini strong{display:block;font-size:12px;color:#fff;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mini span{display:block;font-size:10px;color:#8ea6ca;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main{min-width:0}.topbar{height:var(--topbar);display:flex;align-items:center;gap:16px;padding:0 30px;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border-bottom:1px solid var(--slate-200);position:sticky;top:0;z-index:20}.mobile-menu{display:none}.topbar-title{font-size:13px;color:var(--slate-500);font-weight:700;letter-spacing:.03em}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:9px}.content{padding:30px;max-width:1500px;margin:0 auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.eyebrow{font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:var(--blue-600);margin-bottom:5px}.page-head h1{font-size:30px;line-height:1.2;margin:0 0 7px;letter-spacing:-.035em}.page-head p{margin:0;color:var(--slate-500);max-width:760px}.page-actions{display:flex;gap:9px;flex-wrap:wrap}
.btn{border:1px solid transparent;border-radius:11px;padding:10px 14px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:var(--transition);text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn:disabled{cursor:not-allowed;opacity:.48;transform:none}.btn-primary{background:var(--navy-900);color:#fff}.btn-primary:hover{background:#12274b}.btn-blue{background:var(--blue-600);color:#fff}.btn-blue:hover{background:#1d4ed8}.btn-secondary{background:#fff;color:var(--slate-700);border-color:var(--slate-200)}.btn-secondary:hover{background:var(--slate-50)}.btn-danger{background:var(--red-50);color:var(--red-700);border-color:var(--red-100)}.btn-sm{padding:7px 10px;border-radius:9px;font-size:12px}.icon-btn{border:1px solid var(--slate-200);background:#fff;width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--slate-600)}
.grid{display:grid;gap:18px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.span-2{grid-column:span 2}.card{background:#fff;border:1px solid var(--slate-200);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;border-bottom:1px solid var(--slate-100)}.card-head h2,.card-head h3{font-size:15px;margin:0;letter-spacing:-.01em}.card-body{padding:20px}.kpi{padding:19px}.kpi-label{font-size:10px;font-weight:850;letter-spacing:.1em;color:var(--slate-500);text-transform:uppercase}.kpi-value{font-size:28px;font-weight:850;letter-spacing:-.04em;margin:5px 0 1px}.kpi-sub{font-size:12px;color:var(--slate-500)}
.section{margin-top:22px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:0 0 11px}.section-title h2{margin:0;font-size:18px;letter-spacing:-.02em}.section-title p{margin:3px 0 0;color:var(--slate-500);font-size:13px}.divider{height:1px;background:var(--slate-100);margin:17px 0}
.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 9px;font-size:10px;font-weight:850;letter-spacing:.035em;white-space:nowrap}.badge-green{background:var(--green-100);color:var(--green-700)}.badge-amber{background:var(--amber-100);color:var(--amber-800)}.badge-red{background:var(--red-100);color:var(--red-700)}.badge-blue{background:var(--blue-100);color:#1d4ed8}.badge-slate{background:var(--slate-100);color:var(--slate-600)}.badge-violet{background:var(--violet-100);color:var(--violet-700)}
.project-list{display:flex;flex-direction:column}.project-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:13px;align-items:center;padding:15px 20px;border-bottom:1px solid var(--slate-100);transition:var(--transition)}.project-row:last-child{border-bottom:0}.project-row:hover{background:var(--slate-50)}.project-main strong{display:block;font-size:14px}.project-main span{display:block;color:var(--slate-500);font-size:12px;margin-top:2px}.project-meta{text-align:right}.project-meta small{display:block;color:var(--slate-400);font-size:10px;text-transform:uppercase;font-weight:800}.project-meta span{font-size:12px;font-weight:700}.chev{color:var(--slate-400);font-size:19px}
.project-context{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--slate-200);border-radius:14px;padding:12px 14px;margin-bottom:22px;box-shadow:var(--shadow-sm)}.project-context .context-main{min-width:0}.project-context strong{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-context span{font-size:11px;color:var(--slate-500)}.project-tabs{margin-left:auto;display:flex;gap:5px;flex-wrap:wrap}.project-tab{border:0;background:var(--slate-50);color:var(--slate-600);font-size:11px;font-weight:750;padding:7px 9px;border-radius:8px}.project-tab.active{background:var(--navy-900);color:#fff}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:var(--slate-700);font-weight:800}.field input,.field textarea,.field select{border:1px solid var(--slate-300);background:#fff;color:var(--slate-950);border-radius:10px;padding:10px 11px;outline:0;transition:var(--transition)}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px rgba(59,130,246,.12)}.field-hint{font-size:10px;color:var(--slate-400)}
.empty{padding:34px 22px;text-align:center;color:var(--slate-500)}.empty-icon{font-size:32px;margin-bottom:9px}.empty strong{display:block;color:var(--slate-800);margin-bottom:4px}.empty p{margin:0 auto 15px;max-width:510px;font-size:13px}.notice{border-radius:12px;padding:13px 15px;font-size:12px;display:flex;gap:10px;align-items:flex-start}.notice-info{background:var(--blue-50);border:1px solid var(--blue-100);color:#1e40af}.notice-warning{background:var(--amber-50);border:1px solid var(--amber-100);color:var(--amber-800)}.notice-danger{background:var(--red-50);border:1px solid var(--red-100);color:var(--red-700)}.notice-success{background:var(--green-50);border:1px solid var(--green-100);color:var(--green-700)}
.dropzone{border:1.5px dashed var(--slate-300);border-radius:14px;background:var(--slate-50);padding:28px;text-align:center;transition:var(--transition)}.dropzone.drag{border-color:var(--blue-500);background:var(--blue-50)}.dropzone strong{display:block;margin:4px 0}.dropzone p{font-size:12px;color:var(--slate-500);margin:3px 0 13px}.file-list{display:flex;flex-direction:column}.file-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--slate-100)}.file-row:last-child{border-bottom:0}.file-icon{width:38px;height:38px;border-radius:10px;background:var(--red-50);color:var(--red-600);display:grid;place-items:center;font-size:11px;font-weight:900}.file-main strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-main span{font-size:10px;color:var(--slate-400)}
.analysis-hero{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;padding:22px}.recommendation{border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px}.recommendation .rec-word{font-size:31px;font-weight:950;letter-spacing:-.04em}.recommendation .rec-confidence{font-size:12px;font-weight:700;margin-top:4px}.rec-GO{background:linear-gradient(145deg,#dcfce7,#f0fdf4);color:var(--green-700);border:1px solid #bbf7d0}.rec-VURDER{background:linear-gradient(145deg,#fef3c7,#fffbeb);color:var(--amber-800);border:1px solid #fde68a}.rec-NO-GO{background:linear-gradient(145deg,#fee2e2,#fef2f2);color:var(--red-700);border:1px solid #fecaca}.analysis-summary h2{margin:0 0 8px;font-size:20px}.analysis-summary p{margin:0;color:var(--slate-600)}.reason-list{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:7px}.reason-list li{font-size:12px;color:var(--slate-700);display:flex;gap:8px}.reason-list li:before{content:"•";color:var(--blue-600);font-weight:900}
.finding{padding:16px 18px;border-bottom:1px solid var(--slate-100)}.finding:last-child{border-bottom:0}.finding-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.finding h3{font-size:13px;margin:0 0 5px}.finding p{font-size:12px;color:var(--slate-600);margin:0}.finding-actions{font-size:11px;color:var(--slate-600);margin-top:8px}.source-card{margin-top:11px;background:var(--slate-50);border:1px solid var(--slate-200);border-radius:10px;padding:10px 11px}.source-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.source-head strong{font-size:10px;color:var(--slate-700)}.source-location{font-size:10px;color:var(--slate-500)}.source-card blockquote{margin:8px 0 0;font-size:11px;color:var(--slate-600);font-style:normal;border-left:2px solid var(--slate-300);padding-left:9px}.validation-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.requirement-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.group-card{overflow:hidden}.group-title{padding:13px 16px;background:var(--slate-50);border-bottom:1px solid var(--slate-100);display:flex;justify-content:space-between;gap:10px}.group-title strong{font-size:12px}.group-title span{font-size:10px;color:var(--slate-500)}
.progress-panel{padding:28px;text-align:center}.spinner{width:42px;height:42px;margin:0 auto 15px;border:4px solid var(--slate-200);border-top-color:var(--blue-600);border-radius:50%;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-panel strong{display:block;font-size:15px}.progress-panel p{font-size:12px;color:var(--slate-500);margin:4px 0}.progress-steps{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}.progress-step{font-size:10px;background:var(--slate-100);color:var(--slate-500);padding:5px 8px;border-radius:999px}.progress-step.active{background:var(--blue-100);color:#1d4ed8;font-weight:800}
.calc-summary{background:linear-gradient(145deg,var(--navy-900),var(--navy-800));color:#fff;border-radius:16px;padding:22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.calc-summary small{display:block;color:#9db1d2;font-size:10px;text-transform:uppercase;font-weight:800}.calc-summary strong{display:block;font-size:20px;margin-top:3px}.money-input{position:relative}.money-input input{padding-right:40px}.money-input:after{content:"kr";position:absolute;right:12px;bottom:10px;font-size:11px;color:var(--slate-400);font-weight:800}.percent-input{position:relative}.percent-input input{padding-right:32px}.percent-input:after{content:"%";position:absolute;right:12px;bottom:10px;font-size:11px;color:var(--slate-400);font-weight:800}
.margin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.margin-item{padding:17px;border:1px solid var(--slate-200);border-radius:14px;background:#fff}.margin-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.margin-item h3{font-size:13px;margin:0}.margin-item p{font-size:12px;color:var(--slate-600);margin:5px 0}.cost-check{margin-top:10px;background:var(--amber-50);border:1px solid var(--amber-100);color:var(--amber-800);padding:9px 10px;border-radius:9px;font-size:11px}.calc-link{margin-top:9px;font-size:10px;color:var(--slate-500)}
.check-list{display:flex;flex-direction:column}.check-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:11px;align-items:start;padding:14px 0;border-bottom:1px solid var(--slate-100)}.check-row:last-child{border-bottom:0}.check-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;font-size:12px;font-weight:900}.check-ok{background:var(--green-100);color:var(--green-700)}.check-warn{background:var(--amber-100);color:var(--amber-800)}.check-high{background:var(--red-100);color:var(--red-700)}.check-info{background:var(--blue-100);color:#1d4ed8}.check-main strong{font-size:12px;display:block}.check-main span{font-size:11px;color:var(--slate-500)}
.auth-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,520px);background:var(--navy-950)}.auth-visual{padding:64px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(circle at 20% 15%,rgba(59,130,246,.28),transparent 32%),linear-gradient(145deg,#071326,#0b1c3a)}.auth-logo{display:flex;gap:12px;align-items:center}.auth-logo .brand-mark{width:48px;height:48px}.auth-copy{max-width:680px}.auth-copy h1{font-size:48px;line-height:1.05;letter-spacing:-.05em;margin:0 0 18px}.auth-copy p{color:#a9bddd;font-size:16px;max-width:580px}.auth-points{display:grid;gap:11px;margin-top:28px}.auth-point{display:flex;gap:10px;color:#cfddf4;font-size:13px}.auth-legal{font-size:11px;color:#7088ad}.auth-panel{background:#fff;padding:54px;display:flex;flex-direction:column;justify-content:center}.auth-panel h2{font-size:27px;letter-spacing:-.04em;margin:0 0 7px}.auth-panel>p{margin:0 0 23px;color:var(--slate-500);font-size:13px}.auth-panel .field input{padding:13px}.auth-note{font-size:11px;color:var(--slate-400);margin-top:16px}.auth-status{margin-top:14px}
.toast-root{position:fixed;right:18px;bottom:18px;z-index:100;display:flex;flex-direction:column;gap:8px;max-width:min(390px,calc(100vw - 36px))}.toast{background:#fff;border:1px solid var(--slate-200);box-shadow:var(--shadow);border-radius:12px;padding:12px 14px;font-size:12px;animation:toastIn .18s ease}.toast strong{display:block;margin-bottom:2px}.toast.success{border-left:4px solid var(--green-600)}.toast.error{border-left:4px solid var(--red-600)}.toast.info{border-left:4px solid var(--blue-600)}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.modal-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.55);z-index:80;display:grid;place-items:center;padding:20px}.modal{background:#fff;border-radius:18px;box-shadow:0 30px 80px rgba(2,6,23,.25);width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--slate-100)}.modal-head h2{margin:0;font-size:18px}.modal-body{padding:22px}.modal-foot{padding:16px 22px;border-top:1px solid var(--slate-100);display:flex;justify-content:flex-end;gap:9px}
.skeleton{background:linear-gradient(90deg,var(--slate-100),#fff,var(--slate-100));background-size:220% 100%;animation:shimmer 1.3s infinite;border-radius:9px}@keyframes shimmer{to{background-position:-220% 0}}
.sidebar-overlay{display:none}.danger-zone{border-color:var(--red-100)}.danger-zone .card-head{background:var(--red-50)}.muted{color:var(--slate-500)}.small{font-size:11px}.nowrap{white-space:nowrap}.right{text-align:right}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-0{margin-bottom:0}.w-full{width:100%}
@media(max-width:1180px){.grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.requirement-groups,.margin-grid{grid-template-columns:1fr}}
@media(max-width:880px){:root{--sidebar:0px}.app-shell{display:block}.sidebar{position:fixed;left:0;top:0;width:260px;transform:translateX(-105%);transition:var(--transition);box-shadow:20px 0 50px rgba(2,6,23,.22)}.sidebar.open{transform:none}.sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(2,6,23,.5);z-index:25}.mobile-menu{display:grid}.topbar{padding:0 18px}.content{padding:22px 18px}.grid-3,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-hero{grid-template-columns:1fr}.recommendation{min-height:115px}.project-tabs{display:none}.auth-wrap{grid-template-columns:1fr}.auth-visual{display:none}.auth-panel{min-height:100vh;padding:32px}.calc-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.page-head{flex-direction:column}.page-head h1{font-size:26px}.page-actions{width:100%}.page-actions .btn{flex:1}.grid-2,.grid-3,.grid-4,.grid-5,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.project-row{grid-template-columns:auto minmax(0,1fr) auto}.project-meta{display:none}.content{padding:18px 12px}.topbar{padding:0 12px}.topbar-title{display:none}.card-pad,.card-body{padding:16px}.card-head{padding:15px 16px}.analysis-hero{padding:16px}.calc-summary{grid-template-columns:1fr 1fr;padding:17px}.file-row{grid-template-columns:40px minmax(0,1fr) auto}.file-row>.small{display:none}.auth-panel{padding:24px}.auth-panel h2{font-size:24px}.project-context{align-items:flex-start}.project-context .badge{display:none}}

.project-row-button{border-left:0;border-right:0;border-top:0;background:transparent;text-align:left;width:100%;font:inherit;color:inherit}.auth-eyebrow{color:#93c5fd}

/* ======================================================================
   JTR Anbud Pilot — approved visual system (v3.1)
   Shared banner, navy palette, spacing and component proportions.
   ====================================================================== */
:root{
  --navy-950:#031431;
  --navy-900:#061b3d;
  --navy-850:#09254f;
  --navy-800:#0b2e61;
  --teal-800:#004b58;
  --teal-700:#006274;
  --teal-100:#dff3f4;
  --blue-600:#1557d8;
  --blue-500:#2a68e8;
  --blue-100:#e5edff;
  --blue-50:#f3f6ff;
  --slate-950:#071530;
  --slate-800:#17243c;
  --slate-700:#2d3b55;
  --slate-600:#475774;
  --slate-500:#66748d;
  --slate-400:#8e9ab0;
  --slate-300:#cdd5e2;
  --slate-200:#e1e6ee;
  --slate-100:#eef2f7;
  --slate-50:#f8fafc;
  --green-700:#16703d;
  --green-600:#1b8b4b;
  --green-100:#e5f4e9;
  --green-50:#f4fbf6;
  --amber-800:#9a5c00;
  --amber-700:#b56b00;
  --amber-100:#fff0cf;
  --amber-50:#fffaf0;
  --red-700:#aa1f22;
  --red-600:#ca2d31;
  --red-100:#f9e1e2;
  --red-50:#fff4f4;
  --bg:#f7f9fc;
  --radius:11px;
  --radius-sm:8px;
  --shadow:0 14px 36px rgba(14,31,60,.08);
  --shadow-sm:0 3px 13px rgba(14,31,60,.045);
  --sidebar:236px;
  --topbar:76px;
}
body{background:var(--bg);font-size:14px;color:var(--slate-950)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);grid-template-rows:var(--topbar) minmax(calc(100vh - var(--topbar)),auto)}
.global-header{grid-column:1/-1;grid-row:1;position:sticky;top:0;z-index:60;height:var(--topbar);display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:linear-gradient(105deg,#031431 0%,#061b3d 52%,#0a2b5a 100%);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 3px 18px rgba(3,20,49,.12)}
.header-left{display:flex;align-items:center;min-width:0}.brand-lockup{display:block;width:auto;height:52px;max-width:min(510px,54vw);object-fit:contain;object-position:left center}.global-actions{display:flex;align-items:center;gap:14px;color:#fff}.header-help{display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap}.header-bell{position:relative;font-size:20px;line-height:1}.notification-dot{position:absolute;right:-7px;top:-9px;min-width:17px;height:17px;border-radius:999px;background:#1466df;border:2px solid #082249;display:grid;place-items:center;font-size:9px;font-weight:850}.header-avatar{width:38px;height:38px;border-radius:50%;background:#1259c3;display:grid;place-items:center;font-size:12px;font-weight:850}.header-user{display:grid;line-height:1.18;min-width:110px}.header-user strong{font-size:12px}.header-user span{font-size:10px;color:#d8e5fa;margin-top:4px}.header-caret{color:#d8e5fa}.mobile-menu{display:none;background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important;margin-right:12px}
.sidebar{grid-column:1;grid-row:2;background:linear-gradient(180deg,#061b3d 0%,#082450 52%,#061b3d 100%);min-height:calc(100vh - var(--topbar));height:calc(100vh - var(--topbar));position:sticky;top:var(--topbar);padding:24px 14px 18px;box-shadow:inset -1px 0 rgba(255,255,255,.035);z-index:30}.nav{gap:7px}.nav-btn{min-height:45px;color:#edf4ff;padding:11px 13px;border-radius:7px;font-weight:620;font-size:13px}.nav-btn:hover{background:rgba(255,255,255,.07)}.nav-btn.active{background:rgba(73,116,180,.28);box-shadow:inset 3px 0 0 #3185ff;color:#fff}.nav-icon{font-size:18px;width:20px;color:#fff}.ai-pill{background:#124b9a;color:#eaf2ff;padding:3px 6px;border-radius:5px}.nav-divider{height:1px;background:rgba(255,255,255,.12);margin:10px 0 6px}.nav-disabled{opacity:.84;cursor:default}.nav-disabled:hover{background:transparent}.sidebar-foot{padding:15px 9px 0;border-top:1px solid rgba(255,255,255,.1)}.pilot-tag{font-size:10px;color:#bfd0eb}.avatar{background:#314d74}.user-mini strong{font-size:11px}.user-mini span{font-size:9px;color:#b5c8e5}.sidebar-legal{font-size:9px;color:#b8c7df;line-height:1.65;margin-top:18px}
.main{grid-column:2;grid-row:2;min-width:0;background:linear-gradient(180deg,#fbfcfe 0%,#f7f9fc 100%)}.content{padding:28px 32px 36px;max-width:1540px;margin:0 auto}.page-head{margin-bottom:24px;align-items:center}.page-head h1{font-size:29px;letter-spacing:-.025em;color:#071530}.page-head p{font-size:12px;color:var(--slate-500)}.eyebrow{font-size:10px;letter-spacing:.13em;color:#075b72}.page-actions .btn{min-height:46px;padding-inline:18px}.btn{border-radius:7px}.btn-primary,.btn-blue{background:linear-gradient(180deg,#005665,#004651);box-shadow:0 5px 14px rgba(0,75,88,.16)}.btn-primary:hover,.btn-blue:hover{background:#003f4a}.btn-secondary{border-color:#d7dee8}.card{border-color:#dfe5ed;border-radius:10px;box-shadow:0 2px 10px rgba(18,36,70,.04)}.card-head{padding:17px 19px}.card-head h2,.card-head h3{font-size:14px}.card-body{padding:19px}.text-link{border:0;background:none;color:#0b50c7;font-size:11px;font-weight:700;padding:4px 0}.text-link:disabled{opacity:.4;cursor:not-allowed}
.project-context{border-radius:9px;padding:14px 16px;margin-bottom:24px;box-shadow:0 2px 10px rgba(18,36,70,.04);gap:13px}.project-context .badge{border-radius:6px;background:#edf4ff;color:#0b4fa8}.project-context strong{font-size:14px}.project-context span{font-size:11px}.project-tabs{gap:13px}.project-tab{position:relative;background:transparent!important;border-radius:0;color:#22314e;padding:8px 4px;font-size:11px}.project-tab:hover{color:#0d55ce}.project-tab.active{background:transparent!important;color:#0c4fc4!important}.project-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:2px;background:#1557d8;border-radius:2px}
.dashboard-kpis{gap:16px}.kpi{display:flex;align-items:center;gap:15px;min-height:128px;padding:18px 19px}.kpi-icon{width:50px;height:50px;border-radius:8px;display:grid;place-items:center;font-size:27px;font-weight:500;background:#eef3ff;color:#1547a3;flex:0 0 auto}.kpi-value{font-size:27px;margin:0 0 1px}.kpi-label{font-size:10px;letter-spacing:.03em;color:#14213a}.kpi-sub{font-size:10px}.kpi-go .kpi-icon{background:#eaf5ed;color:#146537}.kpi-consider .kpi-icon{background:#fff6e7;color:#a96706}.kpi-nogo .kpi-icon{background:#fbeaea;color:#9d2227}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1.35fr) minmax(230px,.9fr);gap:16px}.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.9fr);gap:16px}.project-row{padding:15px 18px}.project-row-button{cursor:pointer}.analysis-mini-list{display:flex;flex-direction:column}.analysis-mini-row{border:0;border-bottom:1px solid var(--slate-100);background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;text-align:left;padding:15px 18px;color:inherit}.analysis-mini-row:last-child{border-bottom:0}.analysis-mini-row:hover{background:#fbfcfe}.analysis-mini-main strong{display:block;font-size:12px}.analysis-mini-main span{display:block;font-size:10px;color:var(--slate-500);margin-top:3px}.analysis-mini-score{text-align:right}.analysis-mini-score strong{display:block;font-size:16px;color:#14703f}.analysis-mini-score span{display:block;font-size:9px;color:var(--slate-500)}.dashboard-margin-card{display:flex;flex-direction:column}.dashboard-margin-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:242px;padding:20px}.margin-count-ring{width:134px;height:134px;border-radius:50%;border:13px solid #d9e0ea;border-top-color:#0a2d63;border-left-color:#0a2d63;display:grid;place-items:center;transform:rotate(-35deg)}.margin-count-ring strong{font-size:42px;letter-spacing:-.04em;transform:rotate(35deg)}.margin-count-label{font-size:12px;color:#13713e;font-weight:700}.card-foot-link{border-top:1px solid var(--slate-100);padding:13px 18px}.activity-list{padding:5px 18px 10px}.activity-row{display:grid;grid-template-columns:37px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--slate-100)}.activity-row:last-child{border-bottom:0}.activity-icon{width:34px;height:34px;border-radius:6px;background:#edf2fb;display:grid;place-items:center;color:#0f4daa;font-size:17px}.activity-main strong{display:block;font-size:11px}.activity-main span{display:block;font-size:9px;color:var(--slate-500);margin-top:3px}.activity-row time{font-size:9px;color:var(--slate-500)}.quick-list{display:grid;gap:7px;padding:14px 17px 18px}.quick-action{border:1px solid var(--slate-200);border-radius:6px;background:#fff;color:#17243c;min-height:42px;text-align:left;display:flex;align-items:center;gap:12px;padding:9px 12px;font-size:11px}.quick-action span{color:#0b4fc2;font-size:17px}.quick-action:hover{background:#f8faff;border-color:#cfd8e8}.quick-action:disabled{opacity:.45;cursor:not-allowed}
.analysis-hero{grid-template-columns:205px minmax(0,1fr);gap:24px;padding:20px;border-radius:10px}.recommendation{min-height:142px;border-radius:8px}.recommendation .rec-word{font-size:24px}.recommendation .rec-confidence{font-size:11px}.analysis-summary h2{font-size:17px}.reason-list li{font-size:11px}.requirement-groups{gap:14px}.finding{padding:15px 16px}.group-title{background:#fbfcfe}.source-card{background:#fbfcfe}.notice{border-radius:7px}.notice-warning{background:#fff8eb;border-color:#f3d59f;color:#88520c}.notice-info{background:#f4f8fd;border-color:#d6e2f1;color:#244a75}
.calc-summary{background:transparent;color:inherit;border-radius:0;padding:0;gap:16px}.calc-summary>div{background:#fff;border:1px solid #dfe5ed;border-radius:10px;padding:22px;box-shadow:0 2px 10px rgba(18,36,70,.04)}.calc-summary small{color:#4e5b72}.calc-summary strong{font-size:23px;color:#071530}.form-grid{gap:14px}.field input,.field textarea,.field select{border-radius:6px;border-color:#d8dfe9;background:#fff}.field input:focus,.field textarea:focus,.field select:focus{border-color:#1557d8;box-shadow:0 0 0 3px rgba(21,87,216,.08)}
.margin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.margin-item{border-radius:9px;padding:18px;box-shadow:0 2px 10px rgba(18,36,70,.04)}.cost-check{border-radius:6px}.check-row{padding:14px 0}.check-icon{border-radius:50%}
.auth-wrap{background:linear-gradient(120deg,#031431,#082b5a)}.auth-visual{background:linear-gradient(120deg,#031431,#082b5a)}
@media(max-width:1220px){.dashboard-main-grid{grid-template-columns:1fr 1fr}.dashboard-margin-card{grid-column:1/-1}.dashboard-margin-body{min-height:190px}.dashboard-bottom-grid{grid-template-columns:1fr}.margin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:920px){:root{--sidebar:0px;--topbar:70px}.app-shell{display:block;padding-top:var(--topbar)}.global-header{position:fixed;inset:0 0 auto 0;height:var(--topbar);padding:0 14px}.brand-lockup{height:45px;max-width:64vw}.header-help,.header-user,.header-caret{display:none}.global-actions{gap:10px}.header-avatar{width:34px;height:34px}.mobile-menu{display:grid}.sidebar{position:fixed;left:0;top:var(--topbar);width:250px;height:calc(100vh - var(--topbar));min-height:0;transform:translateX(-105%);transition:var(--transition);box-shadow:20px 0 50px rgba(2,6,23,.22)}.sidebar.open{transform:none}.main{display:block}.sidebar-overlay{display:block;position:fixed;inset:var(--topbar) 0 0;background:rgba(2,6,23,.5);z-index:25}.content{padding:22px 18px}.dashboard-main-grid,.dashboard-bottom-grid{grid-template-columns:1fr}.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.margin-grid{grid-template-columns:1fr}.project-tabs{display:none}}
@media(max-width:580px){.brand-lockup{height:41px;max-width:70vw}.header-bell{display:none}.content{padding:18px 12px 28px}.page-head{align-items:flex-start}.page-head h1{font-size:26px}.dashboard-kpis{grid-template-columns:1fr 1fr}.kpi{min-height:112px;padding:15px;gap:10px}.kpi-icon{width:42px;height:42px;font-size:22px}.kpi-value{font-size:23px}.analysis-mini-row{grid-template-columns:auto minmax(0,1fr) auto}.analysis-mini-score{display:none}.activity-row{grid-template-columns:34px minmax(0,1fr)}.activity-row time{display:none}.project-context{padding:12px}.analysis-hero{grid-template-columns:1fr}.calc-summary{grid-template-columns:1fr 1fr}.sidebar-legal{display:none}}
.auth-brand-lockup{display:block;width:min(430px,80%);height:auto}.auth-logo{display:block}
.header-bell{width:22px;height:24px;display:block;position:relative}.header-bell:before{content:"";position:absolute;left:5px;top:4px;width:11px;height:13px;border:1.5px solid #fff;border-radius:7px 7px 4px 4px}.header-bell:after{content:"";position:absolute;left:9px;top:18px;width:4px;height:2px;border-radius:50%;background:#fff}
/* Complete-site additions: fully functional header, reports, settings, help, source actions */
.pilot-brand-home{display:flex;align-items:center;text-decoration:none}.header-action,.header-user-button,.header-bell{border:0;background:transparent;color:#fff}.header-action{display:flex;align-items:center;gap:7px;font-weight:650;font-size:12px;padding:8px 6px;border-radius:6px}.header-action:hover,.header-user-button:hover,.header-bell:hover{background:rgba(255,255,255,.07)}.header-user-button{display:flex;align-items:center;gap:10px;padding:5px 7px;border-radius:8px;text-align:left}.header-bell{cursor:pointer;border-radius:7px}.notification-dot:empty{display:none}.source-open{margin-left:auto;border:0;background:transparent;color:#0b50c7;font-size:10px;font-weight:800;padding:3px 0}.source-open:hover{text-decoration:underline}.file-row{grid-template-columns:auto minmax(0,1fr) auto auto auto}.review-final{background:#f4f8fd;border:1px solid #d6e2f1;border-radius:9px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}.review-final strong{display:block;color:#0a2d63}.review-final p{margin:4px 0 0;color:#50627b;font-size:11px;max-width:780px}.report-sheet{background:#fff;border:1px solid #dfe5ed;border-radius:10px;padding:28px;box-shadow:0 2px 10px rgba(18,36,70,.04)}.report-title{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #e8edf3}.report-title h2{font-size:25px;letter-spacing:-.03em;margin:0 0 4px}.report-title p{margin:0;color:#65748b;font-size:11px}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.report-grid section,.report-section{border:1px solid #e4e9f0;border-radius:8px;padding:18px}.report-sheet h3{font-size:13px;margin:0 0 11px}.report-sheet p,.report-sheet li{font-size:11px;color:#4e5e75}.report-sheet dl{margin:0}.report-sheet dl>div{display:flex;justify-content:space-between;border-top:1px solid #edf0f4;padding:8px 0;font-size:11px}.report-sheet dl>div:first-child{border-top:0}.report-sheet dt{color:#607089}.report-sheet dd{margin:0;font-weight:750}.report-section{margin-top:16px}.report-section ul{margin:0;padding-left:18px}.report-disclaimer{margin-top:18px;background:#fff8eb;border:1px solid #f3d59f;color:#7d510f;border-radius:7px;padding:12px;font-size:10px}.settings-grid{align-items:start}.settings-account{display:grid;gap:17px}.settings-account>div:not(.settings-actions){display:grid;gap:3px;padding-bottom:13px;border-bottom:1px solid #edf0f4}.settings-account small{color:#6b7a91;font-size:10px}.settings-account strong{font-size:12px}.settings-actions{display:flex;flex-wrap:wrap;gap:8px}.check-setting{display:flex!important;grid-template-columns:auto 1fr!important;flex-direction:row!important;align-items:flex-start;gap:9px!important;font-weight:600!important}.check-setting input{margin-top:3px}.help-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.help-steps{display:grid;gap:8px}.help-steps button{border:1px solid #e2e8f0;background:#fff;border-radius:7px;padding:13px;text-align:left;display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;color:#17243c}.help-steps button:hover{background:#f8faff;border-color:#cdd9ea}.help-steps button>span{width:27px;height:27px;border-radius:50%;background:#edf3ff;color:#0f50be;display:grid;place-items:center;font-weight:850;font-size:10px}.help-steps strong{font-size:11px}.help-steps p{margin:2px 0 0;font-size:10px;color:#65748b}.auth-back{display:inline-block;margin-top:18px;color:#0b50c7;text-decoration:none;font-size:11px;font-weight:750}.modal-sm{max-width:460px}.notification-list{display:grid;gap:7px}.notification-item{border:1px solid #e1e7ef;background:#fff;border-radius:7px;padding:12px;text-align:left;display:grid;gap:2px}.notification-item:hover{background:#f8faff}.notification-item strong{font-size:11px}.notification-item span{font-size:10px;color:#65748b}.account-menu{display:grid;gap:6px}.account-menu button,.account-menu a{border:1px solid #e1e7ef;background:#fff;border-radius:7px;padding:11px 12px;text-align:left;text-decoration:none;color:#1d2b44;font-weight:650;font-size:11px}.account-menu button:hover,.account-menu a:hover{background:#f8faff}.account-menu .danger-text{color:#b91c1c}.mt-2{margin-top:8px}
@media(max-width:920px){.header-action span{display:none}.help-grid,.report-grid{grid-template-columns:1fr}.review-final{align-items:flex-start;flex-direction:column}.review-final .btn{width:100%}.file-row{grid-template-columns:auto minmax(0,1fr) auto auto}.file-row>.small.muted{display:none}}
@media(max-width:580px){.header-action{display:none}.header-user-button .header-user,.header-user-button .header-caret{display:none}.report-sheet{padding:18px}.report-title{flex-direction:column}.settings-grid{grid-template-columns:1fr}.file-row{grid-template-columns:auto minmax(0,1fr) auto}.file-row [data-open-doc]{display:none}.source-head{flex-wrap:wrap}.source-open{margin-left:0;width:100%;text-align:left}}
@media print{.global-header,.sidebar,.page-head,.project-context,.toast-root,.review-final,.notice{display:none!important}.app-shell{display:block!important}.main,.content{padding:0!important;margin:0!important;background:#fff!important}.report-sheet{border:0!important;box-shadow:none!important;padding:0!important}.report-sheet *{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
