:root { --ink:#2b2b2b; --paper:#f0eee7; --card:#f8f6ef; --line:#c9c5ba; --acid:#b7b556; --orange:#c24928; --muted:#63676d; }
* { box-sizing:border-box; }
[hidden] { display:none!important; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
button,input,select,textarea { font:inherit; }
.app-header { height:72px; display:flex; align-items:center; justify-content:space-between; padding:0 32px; border-bottom:2px solid var(--ink); background:var(--card); }
.brand { color:inherit; font-weight:800; text-decoration:none; text-transform:uppercase; }
.brand span { display:inline-block; padding:7px 9px; margin-right:6px; background:var(--ink); color:white; }
.header-title { display:grid; grid-template-columns:auto auto; align-items:center; gap:2px 8px; text-align:right; text-transform:uppercase; }
.header-title small { grid-column:2; color:var(--muted); font-size:10px; letter-spacing:.08em; }
.local-dot { width:9px; height:9px; grid-row:1/3; border-radius:50%; background:var(--acid); box-shadow:0 0 0 3px rgba(183,181,86,.25); }
main { max-width:1680px; margin:auto; padding:34px 32px 50px; }
.eyebrow { margin:0 0 10px; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.page-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; padding-bottom:28px; border-bottom:2px solid var(--ink); }
.page-heading h1 { margin:0; font-size:clamp(60px,8vw,112px); line-height:.78; letter-spacing:-.07em; text-transform:uppercase; }
.prototype-note { max-width:330px; padding:14px 16px; border:1px solid var(--ink); background:var(--acid); }
.prototype-note strong,.prototype-note span { display:block; }.prototype-note strong { margin-bottom:4px; text-transform:uppercase; font-size:12px; }.prototype-note span { font-size:12px; }
.stats { display:grid; grid-template-columns:repeat(4,1fr); border-left:1px solid var(--line); margin:26px 0; }
.stats article { min-height:120px; padding:18px; border-top:1px solid var(--line); border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--card); }
.stats span,.stats small { display:block; color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; }
.stats strong { display:block; margin:7px 0 4px; font-size:40px; line-height:1; }
.toolbar { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,360px) 180px; gap:10px; align-items:center; margin-bottom:16px; }
.tabs { display:flex; gap:4px; overflow:auto; }
.tabs button { flex:0 0 auto; padding:11px 13px; border:1px solid var(--line); background:var(--card); cursor:pointer; font-size:12px; font-weight:700; }.tabs button.active { border-color:var(--ink); background:var(--ink); color:white; }.tabs span { opacity:.6; }
.search { display:flex; align-items:center; border:1px solid var(--ink); background:white; }.search span { padding-left:12px; font-size:22px; }.search input,.toolbar select { width:100%; height:43px; padding:0 12px; border:1px solid var(--ink); background:white; }.search input { border:0; outline:0; }
.advance-layout { display:grid; grid-template-columns:minmax(650px,1.25fr) minmax(410px,.75fr); align-items:start; gap:18px; }
.show-list-wrap { border:1px solid var(--ink); background:var(--card); }
.list-header,.show-row { display:grid; grid-template-columns:1.75fr .72fr .78fr 1.15fr; gap:15px; align-items:center; }
.list-header { padding:11px 16px; border-bottom:1px solid var(--ink); background:var(--ink); color:white; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.show-row { width:100%; min-height:98px; padding:14px 16px; border:0; border-bottom:1px solid var(--line); background:transparent; color:inherit; text-align:left; cursor:pointer; }.show-row:hover,.show-row.selected { background:var(--acid); }.show-row.selected { box-shadow:inset 5px 0 0 var(--orange); }
.show-row strong,.show-row small,.show-name time { display:block; }.show-row strong { margin-bottom:5px; }.show-row small { color:var(--muted); font-size:11px; line-height:1.35; }.show-name time { margin-bottom:5px; color:var(--orange); font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.status { display:inline-block; padding:5px 8px; margin-bottom:6px; border:1px solid var(--ink); background:var(--card); font-size:9px; font-style:normal; font-weight:800; text-transform:uppercase; }.status-needs-advance { background:var(--orange); color:white; }.status-advancing { background:#e6c88b; }.status-ready { background:var(--acid); }.status-complete { background:var(--ink); color:white; }
.empty,.detail-empty { padding:40px; color:var(--muted); text-align:center; }
.show-detail { position:sticky; top:16px; max-height:calc(100vh - 32px); overflow:auto; border:1px solid var(--ink); background:var(--card); }
.detail-head { padding:24px; border-bottom:1px solid var(--ink); }.detail-head h2 { margin:0 0 5px; font-size:38px; letter-spacing:-.05em; }.detail-head>p:not(.eyebrow) { margin:0; color:var(--muted); }.detail-date { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }.detail-date time { color:var(--orange); font-weight:900; text-transform:uppercase; }
.quick-times { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; margin-top:20px; }.quick-times span { padding:9px; border:1px solid var(--line); font-size:9px; text-transform:uppercase; }.quick-times strong { display:block; margin-bottom:3px; font-size:19px; }
.show-detail section { padding:20px 24px; border-bottom:1px solid var(--line); }.show-detail h3 { margin:0 0 14px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; }.show-detail p { line-height:1.5; }
.field-grid,.edit-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.single-field { margin-top:15px; }.field-grid label,.edit-grid label { display:grid; gap:6px; color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; }.field-grid span { color:var(--ink); font-size:13px; font-weight:400; line-height:1.35; text-transform:none; }
.note-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.note-grid article { padding:13px; border:1px solid var(--line); background:var(--paper); }.note-grid strong { font-size:10px; text-transform:uppercase; }.note-grid p { margin:6px 0 0; font-size:12px; }
.section-heading { display:flex; justify-content:space-between; gap:10px; }.section-heading small { color:var(--muted); font-size:10px; text-transform:uppercase; }
.document-list { display:grid; gap:8px; margin-bottom:12px; }.document { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; padding:10px; border:1px solid var(--line); background:var(--paper); }.pdf-mark { display:grid; place-items:center; width:37px; height:44px; background:var(--orange); color:white; font-size:9px; font-weight:900; }.document strong,.document small { display:block; }.document strong { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.document small { margin-top:3px; color:var(--muted); font-size:10px; }.document button { width:30px; height:30px; border:0; background:transparent; cursor:pointer; font-size:20px; }.empty-docs { margin:0; padding:14px; border:1px dashed var(--line); color:var(--muted); font-size:12px; text-align:center; }
.upload-button { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:10px 14px; border:1px solid var(--ink); background:var(--ink); color:white; cursor:pointer; font-size:11px; font-weight:800; text-transform:uppercase; }.upload-button:hover { background:var(--orange); }.upload-button input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.upload-note { margin:8px 0 0; color:var(--muted); font-size:10px; }
.edit-grid input,.edit-grid select,.edit-grid textarea { width:100%; min-width:0; padding:8px; border:1px solid var(--ink); background:white; color:var(--ink); font-size:12px; text-transform:none; }.edit-grid input,.edit-grid select { height:40px; }.edit-grid textarea { resize:vertical; }.edit-grid .wide { grid-column:1/-1; }
@media(max-width:1100px){.toolbar{grid-template-columns:1fr 1fr}.tabs{grid-column:1/-1}.advance-layout{grid-template-columns:1fr}.show-detail{position:static;max-height:none}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.app-header{padding:0 16px}.header-title small{display:none}main{padding:24px 16px}.page-heading{align-items:start;flex-direction:column}.prototype-note{max-width:none;width:100%}.stats{grid-template-columns:1fr 1fr}.toolbar{grid-template-columns:1fr}.tabs{grid-column:auto}.list-header{display:none}.show-row{grid-template-columns:1fr 1fr}.advance-layout{display:block}.show-detail{margin-top:16px}.field-grid,.edit-grid,.note-grid{grid-template-columns:1fr}.edit-grid .wide{grid-column:auto}}
