:root{--navy:#142b35;--navy-soft:#1c3944;--paper:#f3f0e9;--surface:#fffdfa;--ink:#1e2c31;--muted:#6b787b;--line:#d8d5ce;--coral:#d9684e;--coral-dark:#b74f39;--green:#4f7a62;--green-soft:#e3ede6;--amber:#bd7b2b;--amber-soft:#f7ead5;--red:#a94d45;--red-soft:#f4dfdc;--shadow:0 18px 55px rgba(21,43,52,.09);--radius:20px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Avenir Next","Trebuchet MS",sans-serif;line-height:1.5}
button,input,textarea{font:inherit}
button,a{ -webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(217,104,78,.35);outline-offset:3px}
.prototype-shell{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr)}
.prototype-sidebar{position:fixed;inset:0 auto 0 0;width:264px;background:var(--navy);color:#f6f0e7;padding:28px 20px;display:flex;flex-direction:column;z-index:30;overflow-y:auto}
.prototype-brand{color:inherit;text-decoration:none;display:flex;align-items:center;gap:13px;padding:0 8px 30px;border-bottom:1px solid rgba(255,255,255,.12)}
.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--coral);clip-path:polygon(13% 0,100% 0,100% 87%,87% 100%,0 100%,0 13%)}
.brand-mark svg{width:22px;fill:#fff7ee}
.prototype-brand strong,.prototype-brand small{display:block}.prototype-brand strong{font-family:Georgia,serif;font-size:1.2rem;letter-spacing:.01em}.prototype-brand small{color:#abc0c5;font-size:.71rem;margin-top:1px}
.prototype-nav{margin-top:30px;display:grid;gap:7px}.prototype-nav>p{margin:0 10px 7px;color:#829da4;text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;font-weight:800}
.side-link{width:100%;border:0;color:#bfd0d3;background:transparent;text-decoration:none;display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:11px;cursor:pointer;text-align:left;font-size:.9rem;font-weight:700;transition:background .2s,color .2s,transform .2s}
.side-link svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.side-link:hover{color:#fff;background:rgba(255,255,255,.07);transform:translateX(2px)}.side-link.active{background:#f5eee3;color:var(--navy)}
.sidebar-status{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:23px 10px 4px;display:flex;align-items:center;gap:10px}.sidebar-status strong,.sidebar-status small{display:block}.sidebar-status strong{font-size:.8rem}.sidebar-status small{color:#8ca6ac;font-size:.7rem}.status-pulse{width:9px;height:9px;border-radius:50%;background:#81ad8c;box-shadow:0 0 0 5px rgba(129,173,140,.12)}
.prototype-main{grid-column:2;min-width:0;padding:0 46px 70px}
.workspace-header{height:108px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:18px}.workspace-header h1{font:700 clamp(1.5rem,3vw,2rem)/1 Georgia,serif;margin:4px 0 0}.header-kicker{margin:0;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.inspector-chip{margin-left:auto;display:flex;align-items:center;gap:11px}.inspector-chip>span{width:38px;height:38px;border-radius:50%;background:var(--navy);color:white;display:grid;place-items:center;font-size:.76rem;font-weight:800}.inspector-chip strong,.inspector-chip small{display:block}.inspector-chip strong{font-size:.82rem}.inspector-chip small{font-size:.7rem;color:var(--muted)}
.sidebar-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:10px;cursor:pointer}.sidebar-toggle span{display:block;height:2px;background:var(--navy);margin:4px 0}
.prototype-view{animation:view-in .4s ease both}.prototype-view[hidden]{display:none}@keyframes view-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.unit-hero{margin:34px 0 26px;background:var(--navy);color:#eef1ed;border-radius:var(--radius);padding:30px 34px;display:grid;grid-template-columns:minmax(230px,1fr) auto 132px;align-items:center;gap:34px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.unit-hero::after{content:"";position:absolute;width:180px;height:180px;border:38px solid rgba(255,255,255,.035);border-radius:50%;right:-72px;bottom:-95px}.unit-label{color:var(--coral);font-size:.66rem;text-transform:uppercase;letter-spacing:.15em;font-weight:900}.unit-copy h2{font:700 clamp(2rem,4vw,3.2rem)/1 Georgia,serif;margin:8px 0 9px}.unit-copy h2 span{font:600 .9rem/1 "Avenir Next","Trebuchet MS",sans-serif;color:#90a8ae;letter-spacing:.08em}.unit-copy p{margin:0;color:#b9c8ca;font-size:.88rem}.unit-meta{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:0 30px;border-left:1px solid rgba(255,255,255,.15);border-right:1px solid rgba(255,255,255,.15)}.unit-meta small,.unit-meta strong{display:block;white-space:nowrap}.unit-meta small{color:#89a1a7;font-size:.65rem;text-transform:uppercase;letter-spacing:.09em}.unit-meta strong{font-size:.82rem;margin-top:4px}
.progress-ring{--progress:0;width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--coral) calc(var(--progress)*1%),rgba(255,255,255,.13) 0);position:relative;transition:background .25s}.progress-ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--navy)}.progress-ring div{position:relative;text-align:center}.progress-ring strong,.progress-ring small{display:block}.progress-ring strong{font:700 1.4rem/1 Georgia,serif}.progress-ring small{font-size:.61rem;color:#8ea5ab;margin-top:4px;text-transform:uppercase;letter-spacing:.08em}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:25px;align-items:start}.checklist-card,.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 40px rgba(21,43,52,.04)}.checklist-card{padding:28px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.card-heading>div{display:flex;align-items:center;gap:12px}.section-index{width:31px;height:31px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--coral-dark);font-size:.66rem;font-weight:900}.card-heading h2{font:700 1.25rem/1.1 Georgia,serif;margin:0}.item-count{background:#ebe8e1;padding:6px 10px;border-radius:999px;font-size:.68rem;color:var(--muted);font-weight:800}.card-intro{color:var(--muted);font-size:.84rem;margin:16px 0 9px;padding-bottom:21px;border-bottom:1px solid var(--line)}
.inspection-item{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px 24px;align-items:center;scroll-margin-top:20px}.inspection-item.invalid{background:linear-gradient(90deg,rgba(169,77,69,.07),transparent);margin-inline:-12px;padding-inline:12px}.item-identity{display:flex;align-items:center;gap:13px}.item-icon{width:42px;height:42px;border-radius:12px;background:#e8ece8;display:grid;place-items:center;flex:none}.item-icon svg{width:22px;fill:none;stroke:var(--navy);stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.item-identity h3{font-size:.9rem;margin:0 0 2px}.item-identity p{margin:0;color:var(--muted);font-size:.69rem}
.condition-picker{display:flex;border:0;padding:0;margin:0;gap:6px}.condition-picker legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.condition-picker label{cursor:pointer}.condition-picker input{position:absolute;opacity:0;pointer-events:none}.condition-picker span{display:block;border:1px solid var(--line);background:#f7f5f0;border-radius:8px;padding:8px 11px;color:#677477;font-size:.67rem;font-weight:900;transition:transform .15s,background .15s,border .15s,color .15s}.condition-picker span:hover{transform:translateY(-1px);border-color:#aaa9a3}.condition-picker input:focus-visible+span{outline:3px solid rgba(217,104,78,.3);outline-offset:2px}.condition-picker input:checked+.ready{background:var(--green-soft);border-color:#9ab4a1;color:#315d43}.condition-picker input:checked+.attention{background:var(--amber-soft);border-color:#dfb575;color:#855313}.condition-picker input:checked+.out{background:var(--red-soft);border-color:#d39a93;color:#873d36}
.issue-note{grid-column:1/-1;display:none;margin-left:55px}.inspection-item.has-issue .issue-note{display:block;animation:view-in .22s ease}.issue-note label{display:block;color:var(--muted);font-size:.68rem;font-weight:800}.issue-note label span{color:var(--red)}.issue-note textarea{display:block;width:100%;margin-top:6px;border:1px solid #c9c5bc;border-radius:9px;background:#faf8f3;padding:10px 12px;resize:vertical;color:var(--ink);font-size:.78rem}.issue-note textarea.invalid{border-color:var(--red);background:#fff9f8}
.form-message{display:none;margin-top:18px;padding:11px 13px;border-radius:9px;background:var(--red-soft);color:#7b352f;font-size:.78rem;font-weight:700}.form-message.visible{display:block}.form-actions{padding-top:24px;display:flex;align-items:center;justify-content:space-between}.text-button{border:0;background:transparent;color:var(--muted);font-weight:800;font-size:.75rem;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.primary-action{border:0;background:var(--coral);color:#fff;padding:12px 17px;border-radius:9px;font-size:.76rem;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:0 8px 18px rgba(183,79,57,.18);transition:transform .18s,background .18s}.primary-action:hover{background:var(--coral-dark);transform:translateY(-1px)}.primary-action:active{transform:translateY(1px)}.primary-action svg{width:16px;fill:none;stroke:currentColor;stroke-width:2}
.inspection-aside{display:grid;gap:18px;position:sticky;top:18px}.summary-card{padding:22px}.card-heading.compact{padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:6px}.summary-stat{display:flex;align-items:center;gap:13px;padding:15px 4px;border-bottom:1px solid var(--line)}.summary-stat:last-child{border:0}.summary-stat strong,.summary-stat small{display:block}.summary-stat strong{font:700 1.25rem/1 Georgia,serif}.summary-stat small{color:var(--muted);font-size:.69rem;margin-top:3px}.stat-dot{width:11px;height:11px;border-radius:3px}.ready-dot{background:var(--green)}.attention-dot{background:var(--amber)}.out-dot{background:var(--red)}
.tip-card{background:#e4dfd3;border-radius:var(--radius);padding:23px;position:relative;overflow:hidden}.tip-card::before{content:"";position:absolute;width:120px;height:120px;border:26px solid rgba(20,43,53,.035);border-radius:50%;right:-65px;top:-55px}.tip-card>span{font-size:.63rem;color:var(--coral-dark);text-transform:uppercase;letter-spacing:.12em;font-weight:900}.tip-card h2{font:700 1.12rem/1.2 Georgia,serif;margin:7px 0 13px}.tip-card ol{margin:0;padding-left:18px;color:#536165;font-size:.75rem}.tip-card li{padding:4px 0}.tip-card p{border-top:1px solid rgba(20,43,53,.12);margin:15px 0 0;padding-top:13px;font-size:.65rem;color:#768080}
.history-head{margin:34px 0 24px;display:flex;align-items:end;justify-content:space-between;gap:20px}.history-head h2{font:700 clamp(2rem,4vw,3rem)/1 Georgia,serif;margin:8px 0}.history-head p{margin:0;color:var(--muted)}.history-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:auto;box-shadow:var(--shadow)}.history-table{width:100%;border-collapse:collapse;min-width:720px}.history-table th{text-align:left;padding:16px 20px;background:#e8e4dc;color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.1em}.history-table td{padding:20px;border-top:1px solid var(--line);font-size:.8rem}.history-table td strong,.history-table td small{display:block}.history-table td small{color:var(--muted);font-size:.68rem}.record-status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.65rem;font-weight:900}.ready-record{background:var(--green-soft);color:#315d43}.attention-record{background:var(--amber-soft);color:#855313}.out-record{background:var(--red-soft);color:#873d36}
.modal-backdrop{position:fixed;inset:0;background:rgba(13,31,38,.7);backdrop-filter:blur(5px);z-index:100;display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.confirmation-modal{width:min(480px,100%);background:var(--surface);border-radius:24px;padding:34px;text-align:center;position:relative;box-shadow:0 28px 90px rgba(0,0,0,.26);animation:modal-in .3s ease both}@keyframes modal-in{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}.modal-close{position:absolute;right:15px;top:12px;border:0;background:transparent;color:var(--muted);font-size:1.6rem;cursor:pointer}.confirmation-icon{width:62px;height:62px;border-radius:50%;background:var(--green-soft);display:grid;place-items:center;margin:0 auto 20px}.confirmation-icon svg{width:30px;fill:none;stroke:var(--green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.confirmation-modal h2{font:700 1.8rem/1.1 Georgia,serif;margin:8px auto 10px;max-width:340px}.confirmation-modal>p{color:var(--muted);font-size:.82rem}.receipt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0}.receipt-grid div{background:#eeebe4;border-radius:10px;padding:12px 7px}.receipt-grid small,.receipt-grid strong{display:block}.receipt-grid small{color:var(--muted);font-size:.59rem;text-transform:uppercase;letter-spacing:.07em}.receipt-grid strong{font-size:.82rem;margin-top:3px}.modal-done{width:100%}
@media(max-width:1100px){.unit-hero{grid-template-columns:1fr auto}.unit-meta{grid-row:2;grid-column:1/-1;border:0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.14)}.progress-ring{grid-column:2;grid-row:1}.workspace-grid{grid-template-columns:1fr}.inspection-aside{position:static;grid-template-columns:1fr 1fr}}
@media(max-width:780px){.prototype-shell{display:block}.prototype-sidebar{transform:translateX(-100%);transition:transform .25s;box-shadow:20px 0 60px rgba(0,0,0,.2)}.prototype-sidebar.open{transform:none}.prototype-main{padding:0 20px 50px}.workspace-header{height:88px}.sidebar-toggle{display:block}.inspector-chip div{display:none}.unit-hero{margin-top:22px;padding:24px;gap:20px}.inspection-item{grid-template-columns:1fr}.condition-picker{margin-left:55px}.issue-note{margin-left:55px}.checklist-card{padding:21px}.inspection-aside{grid-template-columns:1fr}.history-head{align-items:flex-start;flex-direction:column}.card-heading{align-items:flex-start}.item-count{white-space:nowrap}}
@media(max-width:520px){.prototype-main{padding-inline:14px}.unit-hero{grid-template-columns:1fr}.progress-ring{grid-column:1;grid-row:auto;width:86px;height:86px}.unit-meta{grid-template-columns:1fr;gap:12px}.condition-picker{margin-left:0;width:100%}.condition-picker label{flex:1}.condition-picker span{text-align:center;padding-inline:5px}.issue-note{margin-left:0}.form-actions{align-items:stretch;flex-direction:column-reverse;gap:15px}.receipt-grid{grid-template-columns:1fr}.confirmation-modal{padding:30px 20px}.workspace-header h1{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
