:root{--bg:#f4f6f8;--surface:#fff;--surface-2:#eef3f6;--surface-3:#f8fafb;--text:#18232f;--muted:#5f6f82;--border:#d8e1e8;--border-strong:#bdc9d3;--primary:#0f766e;--primary-dark:#0b5f59;--danger:#b42318;--warning:#a15c07;--radius:8px;--shadow:0 1px 2px rgba(16,24,40,.05)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(15,118,110,.25);outline-offset:2px}
.shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{background:#102126;color:#f7fbfc;padding:22px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{display:grid;gap:4px;font-size:18px;font-weight:700;margin-bottom:28px}.brand small{color:#91a9ad;font-size:12px}.nav{display:grid;gap:6px}.nav a,.nav button{width:100%;border:0;border-radius:var(--radius);color:#dbe8ea;background:transparent;padding:10px 11px;display:flex;align-items:center;cursor:pointer;text-align:left;min-height:40px}.nav a:hover,.nav button:hover,.nav a.active{background:rgba(255,255,255,.1);color:#fff}.nav form{margin:0}.nav-logout{margin-top:8px}.sidebar-user{margin-top:auto;display:grid;gap:3px;color:#dbe8ea;font-size:13px;padding:12px;border-radius:var(--radius);background:rgba(255,255,255,.06)}.sidebar-user span{color:#91a9ad;font-size:12px}
.main{padding:28px;min-width:0;max-width:1240px;width:100%}.topbar{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:22px;gap:16px}.compact-topbar{align-items:center;margin-bottom:10px}.eyebrow{color:var(--muted);font-size:13px;margin:0 0 6px;font-weight:650}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:30px}h2{font-size:20px}h3{font-size:16px}.muted{color:var(--muted)}.top-gap{margin-top:16px}.link{text-decoration:underline;overflow-wrap:anywhere}
.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.panel{background:linear-gradient(180deg,#fff,#f7faf9);padding:20px}.metric{display:grid;gap:8px;min-height:96px}.metric-compact{min-height:84px}.metric strong{font-size:30px}.metric strong.metric-text{font-size:18px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius);padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;min-height:38px;font-weight:650;box-shadow:var(--shadow)}.btn:hover{border-color:var(--border-strong)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}
.form{display:grid;gap:14px}.form-inline{display:flex;align-items:end;gap:12px}.grow{flex:1}.field{display:grid;gap:6px}.label{font-weight:700;font-size:13px}.input,.textarea,.select{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:10px 11px;min-height:42px}.textarea{min-height:110px;resize:vertical}.textarea-compact{min-height:76px}.select-inline{width:min(300px,100%)}
.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.table-wrap{overflow-x:auto;border-radius:var(--radius)}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid var(--border);vertical-align:top}.table th{background:var(--surface-2);font-size:13px;color:var(--muted)}.table tbody tr:hover{background:var(--surface-3)}.badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:12px;background:var(--surface-2);color:#405165;font-weight:650}.badge-warning{background:#fff4e5;color:var(--warning)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,rgba(15,118,110,.08),rgba(197,138,31,.08)),var(--bg)}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:26px;box-shadow:0 12px 32px rgba(16,24,40,.08)}.notice{background:#eef8f8;border:1px solid #c9e6e5;border-radius:var(--radius);padding:12px;color:#184f51}.notice-error{background:#fff1f0;border-color:#ffd0cc;color:var(--danger)}.empty-state{display:grid;place-items:center;min-height:220px;padding:30px;text-align:center;background:#fff;border:1px dashed var(--border-strong);border-radius:var(--radius)}.empty-state p{max-width:520px}.empty-state-compact{min-height:150px}.document-list{display:grid;gap:8px;padding-left:20px}
.t1-workspace{display:grid;gap:16px}.progress-native{display:block;width:100%;height:12px;margin-top:16px;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--surface-2);accent-color:var(--primary)}.progress-native::-webkit-progress-bar{background:var(--surface-2)}.progress-native::-webkit-progress-value{background:linear-gradient(90deg,var(--primary),#4aa39a)}.progress-native::-moz-progress-bar{background:linear-gradient(90deg,var(--primary),#4aa39a)}.profile-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-pill{display:grid;gap:4px;border:1px solid var(--border);border-radius:var(--radius);padding:10px;background:var(--surface-3)}.profile-pill strong{font-size:13px}.profile-pill span{color:var(--muted);font-size:12px}.t1-form-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-section{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3)}.form-grid,.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.check-row{display:flex;align-items:flex-start;gap:8px;min-height:34px;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;font-size:13px}.document-sections{display:grid;gap:12px}.document-section{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3)}.document-section-head{display:flex;justify-content:space-between;gap:10px}.summary-preview{margin:0;max-height:640px;overflow:auto;white-space:pre-wrap;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:#fbfcfd;font:13px/1.55 "Cascadia Mono",Consolas,monospace}
.information-intro{max-width:900px}.information-intro p{margin:0}.information-intro p+p{margin-top:14px}.information-lead{font-size:20px;line-height:1.5;max-width:760px}.availability-badge{background:#e8f7f3;color:var(--primary-dark)}.availability-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.availability-list div{display:grid;gap:6px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3)}.availability-list dt{font-size:13px;font-weight:700;color:var(--muted)}.availability-list dd{margin:0;line-height:1.45}.availability-note{margin:0}
.build-information{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.build-information div{display:grid;gap:5px}.build-information strong{font-size:18px}.build-information code{overflow-wrap:anywhere}
@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px}.brand{margin-bottom:10px}.nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-user{display:none}.main{padding:18px;max-width:none}.grid-2,.grid-3,.profile-strip,.t1-form-sections,.form-grid,.checkbox-grid,.availability-list,.build-information{grid-template-columns:1fr}.span-2{grid-column:auto}.topbar{align-items:stretch;flex-direction:column}.actions{width:100%}.actions .btn,.actions form,.actions button{flex:1 1 auto}}
@media(max-width:520px){.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.form-inline{align-items:stretch;flex-direction:column}.table th,.table td{padding:10px;white-space:nowrap}h1{font-size:27px}}
