
:root{color-scheme:dark;--bg:#0b1420;--panel:#142235;--panel2:#192b40;--line:#263b52;--text:#edf4fb;--muted:#9aadc0;--accent:#f0a94b;--green:#57c99a;--danger:#ef7777;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse at 80% -10%,#203650 0,transparent 42%),var(--bg);color:var(--text);min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}
button,input,select,textarea{font:inherit}
.topbar{height:68px;padding:0 20px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #ffffff12;background:#0b1420d9;position:sticky;top:0;z-index:2;backdrop-filter:blur(16px)}
.brand-mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,#ffc36b,#d77d2d);color:#182333;display:grid;place-items:center;font-weight:900;font-size:22px}
.brand-copy{display:flex;flex-direction:column;gap:2px}
.brand-copy strong{font-size:16px;letter-spacing:.04em}
.brand-copy span{font-size:10px;color:var(--muted)}
.status-pill{margin-left:auto;border:1px solid var(--line);border-radius:30px;padding:6px 10px;color:var(--muted);font-size:11px}
.shell{width:min(100%,760px);margin:auto;padding:30px 20px 24px}
.welcome{padding:12px 0 24px}
.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--accent);margin:0 0 9px}
.welcome h1{font-size:clamp(38px,10vw,56px);line-height:1.02;letter-spacing:-.055em;margin:0 0 14px}
.welcome h1 span{color:var(--accent)}
.muted{color:var(--muted);line-height:1.55;font-size:14px}
.welcome>.muted{max-width:540px}
.storage-card{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #315344;background:linear-gradient(110deg,#15372f,#142638);border-radius:16px;margin:8px 0 32px}
.storage-icon{width:38px;height:38px;border-radius:12px;background:#244c40;display:grid;place-items:center;color:#8de0b9;font-size:22px}
.storage-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.storage-copy strong{font-size:13px}
.storage-copy span{font-size:11px;color:#a8c5b8}
.local-dot{width:9px;height:9px;border-radius:50%;background:var(--green);margin-left:auto;box-shadow:0 0 12px #57c99a88}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:14px}
.section-heading h2{font-size:23px;margin:0;letter-spacing:-.03em}
.section-heading .eyebrow{margin-bottom:5px}
.primary-button,.secondary-button,.danger-button{border:0;border-radius:12px;padding:12px 15px;font-weight:750;font-size:13px;cursor:pointer;min-height:44px}
.primary-button{background:var(--accent);color:#1d2835}
.primary-button:active,.secondary-button:active{transform:scale(.98)}
.secondary-button{background:var(--panel2);border:1px solid var(--line);color:var(--text)}
.danger-button{background:#4b242b;color:#ffb7b7;border:1px solid #793c43}
.text-button{background:none;border:0;color:var(--muted);padding:10px 4px;font-size:12px}
.project-list{display:grid;gap:10px}
.empty-state{border:1px dashed #3a5068;border-radius:16px;padding:32px 18px;text-align:center;background:#ffffff04}
.empty-symbol{width:44px;height:44px;border-radius:50%;background:var(--panel2);display:grid;place-items:center;margin:0 auto 12px;color:var(--accent);font-size:25px}
.empty-state h3{margin:0 0 6px;font-size:16px}
.empty-state p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.project-card{padding:16px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#17283b,#111e2d);display:flex;align-items:center;gap:12px;cursor:pointer}
.project-card:active{background:#20364d}
.project-glyph{width:42px;height:42px;border-radius:12px;background:#263a50;color:var(--accent);display:grid;place-items:center;font-size:20px;flex:none}
.project-info{min-width:0;flex:1}
.project-info strong{display:block;font-size:14px;overflow-wrap:anywhere}
.project-info span{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.chevron{color:#8297ad;font-size:22px}
.tools-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:17px}
.tools-row button{flex:1}
footer{border-top:1px solid #ffffff12;margin-top:42px;padding-top:16px;display:flex;flex-direction:column;gap:6px;color:#71869c;font-size:10px}
.modal{width:min(calc(100% - 28px),480px);max-height:88vh;overflow:auto;border:1px solid var(--line);border-radius:20px;background:#132236;color:var(--text);padding:21px;box-shadow:0 25px 80px #0009}
.modal::backdrop{background:#020811bb;backdrop-filter:blur(4px)}
.modal form{display:flex;flex-direction:column;gap:15px}
.modal-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:10px}
.modal-head h2{font-size:22px;margin:0}
.close-button{border:0;background:#26394e;color:#dce8f3;border-radius:10px;width:34px;height:34px;font-size:23px;line-height:1}
.modal label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#c8d6e4;font-weight:700}
.modal input,.modal select,.modal textarea{width:100%;border:1px solid #354b62;background:#0d1928;color:var(--text);border-radius:11px;padding:12px;font-size:14px;outline:none}
.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--accent)}
.form-note{font-size:11px;color:var(--muted);line-height:1.5;margin:0}
.full-width{width:100%}
.detail-modal{width:min(calc(100% - 28px),520px)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}
.detail-field{padding:11px;border-radius:11px;background:#0d1a29;border:1px solid #263b52;min-width:0}
.detail-field span{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}
.detail-field strong{font-size:12px;overflow-wrap:anywhere}
.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}
.detail-description{font-size:13px;line-height:1.5;color:#c4d1df}
.notice{font-size:11px;color:#a8c5b8;background:#17372f;padding:10px;border-radius:10px;line-height:1.5}
@media(min-width:600px){.shell{padding-top:46px}.welcome{padding-bottom:32px}.project-list{grid-template-columns:1fr 1fr}footer{flex-direction:row;justify-content:space-between}}


/* Engineering readiness panel — TRACK277 */
.workflow-panel{margin:18px 0;padding:14px;border:1px solid #3c5268;border-radius:14px;background:linear-gradient(145deg,#192d42,#132337)}
.workflow-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.workflow-panel-heading>strong{font-size:15px}
.workflow-summary,.workflow-status{font-size:10px;font-weight:800;letter-spacing:.04em;padding:5px 8px;border-radius:20px}
.workflow-summary.hold,.workflow-status.hold{background:#493729;color:#f2c28a}
.workflow-summary.pass,.workflow-status.pass{background:#214b3d;color:#a2e6c4}
.workflow-progress{font-size:11px;color:#a8b8c8;margin:8px 0 12px}
.workflow-gates{display:grid;gap:7px}
.workflow-gate{padding:9px 10px;border:1px solid #30465e;border-radius:10px;background:#101e2e}
.workflow-gate-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.workflow-gate-top strong{text-transform:capitalize;font-size:12px}
.workflow-gate p{font-size:10px;line-height:1.45;color:#a8b8c8;margin:6px 0 0}
.workflow-note{font-size:10px;line-height:1.5;color:#9aadc0;margin:11px 0 0}


/* TRACK278 — geometry and physical-input evidence capture */
.evidence-section{margin:18px 0;padding:15px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#17283b,#111e2d)}
.evidence-section h3{font-size:16px;margin:0 0 7px}
.evidence-note{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 13px}
.evidence-form{display:grid;gap:10px}
.evidence-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.evidence-field>span{font-size:10px;font-weight:750;color:#c8d6e4}
.evidence-field input,.evidence-field select{width:100%;min-width:0;border:1px solid #354b62;background:#0d1928;color:var(--text);border-radius:10px;padding:11px;font-size:13px}
.evidence-field input:focus,.evidence-field select:focus{outline:2px solid #f0a94b66;border-color:var(--accent)}
.evidence-check{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid #354b62;border-radius:10px;background:#0d1928;font-size:11px;line-height:1.4;color:#c8d6e4}
.evidence-check input{margin:1px 0 0;accent-color:var(--accent);flex:none}
.evidence-input-card{border:1px solid #30465e;border-radius:11px;background:#0d1928;padding:11px}
.evidence-input-card summary{font-size:12px;font-weight:750;color:#e4edf6;cursor:pointer;line-height:1.4}
.evidence-fields-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:13px 0}
.evidence-form>.primary-button{margin-top:4px}
@media(min-width:520px){.evidence-fields-grid{grid-template-columns:1fr 1fr}.evidence-fields-grid .evidence-field:first-child{grid-column:1/-1}}
