:root{--bg:#f2f5f2;--card:#fff;--ink:#173229;--muted:#66766f;--green:#176b49;--green2:#0f5137;--line:#dce4df;--red:#a63636;--gold:#9c6a10;--shadow:0 8px 28px rgba(23,50,41,.09)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}h1,h2,h3,h4,p{margin-top:0}.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:16px max(18px,calc((100vw - 980px)/2));background:rgba(242,245,242,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}h1{font-size:22px;margin:0}h2{font-size:26px;margin-bottom:8px}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--green);text-transform:uppercase;margin-bottom:5px}.shell{max-width:980px;margin:0 auto;padding:22px 16px 80px}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.module-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px;margin-bottom:16px}.module-card{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid transparent;background:#f5f8f6;border-radius:15px;padding:14px;cursor:pointer;color:var(--ink)}.module-card.active{background:#e8f4ed;border-color:#b6d6c5;box-shadow:inset 0 0 0 1px #d0e6d8}.module-card strong,.module-card small{display:block}.module-card small{color:var(--muted);margin-top:2px}.module-icon{font-size:26px}.shared-controls{display:grid;grid-template-columns:2fr 1fr;gap:14px;padding:16px;margin-bottom:16px}.date-chip{background:#f5f8f6;border-radius:14px;padding:10px 14px;display:flex;flex-direction:column;justify-content:center}.date-chip span{font-size:11px;color:var(--muted);font-weight:700}.hero{padding:24px;display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:end}.hero p{color:var(--muted);margin:0}.prep-hero{background:linear-gradient(135deg,#fff,#fbf8ee)}.progress-row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px}.progress{height:12px;background:#e5ece8;border-radius:999px;overflow:hidden}.progress>div{height:100%;width:0;background:var(--green);transition:.2s}.controls{display:grid;grid-template-columns:2fr 1fr;gap:14px;padding:16px;margin:16px 0 24px}.single-control{grid-template-columns:1fr;max-width:400px}label>span,.field>span{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #cbd7d0;background:#fff;border-radius:12px;padding:12px 13px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,107,73,.11)}.area{margin:24px 0}.area-head{display:flex;justify-content:space-between;align-items:center;margin:0 4px 10px}.area-head h3{margin:0}.area-count{font-size:12px;color:var(--muted);font-weight:700}.task-card{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;background:white;border:1px solid var(--line);border-radius:16px;padding:14px;margin:8px 0;cursor:pointer;box-shadow:0 3px 12px rgba(23,50,41,.04)}.task-card:hover{border-color:#b9c9c0}.task-card.done{background:#f4fbf7}.task-card.redo{border-color:#e6b7a2;background:#fff8f3}.dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ecf1ee;font-weight:900}.done .dot{background:#d9f1e5;color:var(--green)}.redo .dot{background:#f8ded1;color:var(--red)}.task-name{font-weight:750}.task-meta{font-size:12px;color:var(--muted);margin-top:4px}.timing-inline{font-size:12px;color:var(--gold);font-weight:800;margin-top:4px}.status-pill{font-size:11px;font-weight:800;border-radius:999px;padding:6px 9px;background:#edf2ef;color:var(--muted)}.status-pill.approved{background:#d9f1e5;color:var(--green)}.status-pill.redo{background:#f8ded1;color:var(--red)}.btn{border:0;border-radius:12px;padding:10px 14px;font-weight:800;cursor:pointer}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:var(--green2)}.btn.secondary{background:#e7eee9;color:var(--ink)}.btn.danger{background:#f8dddd;color:var(--red)}.btn.wide{width:100%;padding:13px}.btn:disabled{opacity:.45;cursor:not-allowed}.modal{position:fixed;inset:0;z-index:50;background:rgba(15,35,28,.48);display:flex;align-items:flex-end;justify-content:center;padding:18px}.modal.hidden,.hidden{display:none!important}.sheet{width:min(620px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;padding:24px;position:relative;box-shadow:0 24px 60px rgba(0,0,0,.2)}.manager-sheet{width:min(940px,100%)}.small-sheet{width:min(520px,100%)}.x{position:absolute;right:16px;top:14px;border:0;background:#eef2ef;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}.camera-box{margin:16px 0;border:2px dashed #b7c9bf;border-radius:18px;padding:24px;text-align:center;display:block;cursor:pointer;background:#f7faf8}.camera-box.compact{padding:16px}.camera-box strong,.camera-box small{display:block}.camera{font-size:32px;display:block;margin-bottom:6px}.camera-box small{color:var(--muted);margin-top:4px}.preview-grid,.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0}.preview{position:relative}.preview img,.evidence-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.remove-photo{position:absolute;right:4px;top:4px;width:26px;height:26px;border:0;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0003;cursor:pointer}.hint{font-size:12px;color:var(--muted);text-align:center;margin:10px 0 0}.hint.left{text-align:left}.notice{border-radius:14px;padding:12px 14px;margin:12px 0;background:#f2f6f3;font-size:13px}.notice.redo{background:#fff1e9;color:#7d3c1d}.field{display:block;margin:14px 0}.timing-card{background:#fff8e8;border:1px solid #ead7a7;border-radius:16px;padding:14px;margin:12px 0}.timing-card strong{display:block;font-size:18px;color:#7c5715}.timing-card p{font-size:12px;color:#6b6048;margin:6px 0 0}.timing-label{font-size:10px;font-weight:900;letter-spacing:.12em;color:#a2751f}.step-card{display:flex;gap:12px;border:1px solid var(--line);border-radius:16px;padding:14px;margin:12px 0;background:#fbfcfb}.step-number{flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#e4efe8;color:var(--green);font-weight:900;display:grid;place-items:center}.grow{flex:1}.yes-no{display:flex;gap:8px;margin-top:12px}.choice{flex:1;border:1px solid var(--line);background:#f5f7f5;padding:11px;border-radius:12px;font-weight:800;cursor:pointer}.choice.selected{background:#dff3e8;border-color:#8fc5a8;color:var(--green)}.subtle{font-size:12px;color:var(--muted);margin:4px 0 0}.manager-head{display:flex;justify-content:space-between;align-items:center}.tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);margin:12px 0 18px;overflow-x:auto}.tab{border:0;background:transparent;padding:11px 12px;font-weight:800;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}.tab.active{color:var(--green);border-bottom-color:var(--green)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.stat{background:#f5f8f6;padding:14px;border-radius:14px}.stat strong{display:block;font-size:22px}.stat span{font-size:11px;color:var(--muted)}.review-card{border:1px solid var(--line);border-radius:16px;padding:14px;margin:10px 0}.review-top{display:flex;justify-content:space-between;gap:10px}.review-card h4{margin:0 0 4px}.review-meta{font-size:12px;color:var(--muted)}.review-actions{display:flex;gap:8px;margin-top:12px}.review-actions .btn{flex:1}.admin-list{margin-top:14px}.admin-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.admin-row small{color:var(--muted)}.toggle{display:flex;align-items:center;gap:10px;margin:14px 0}.toggle input{width:auto}.toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translateX(-50%);background:#173229;color:#fff;border-radius:12px;padding:11px 16px;font-weight:700;box-shadow:var(--shadow)}
@media(max-width:650px){.module-switch,.shared-controls,.hero,.controls{grid-template-columns:1fr}.topbar{padding:12px 14px}.shell{padding:14px 12px 70px}.hero{padding:18px}.task-card{grid-template-columns:32px 1fr}.status-pill{grid-column:2;justify-self:start}.modal{padding:0;align-items:flex-end}.sheet{border-radius:24px 24px 0 0;max-height:94vh}.preview-grid,.evidence-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:1fr 1fr 1fr}.module-card{padding:12px}.step-card{padding:12px}.tabs{margin-right:-12px}}
