
:root{--bg:#f4f6f8;--panel:#fff;--ink:#11151b;--muted:#68727d;--line:#e1e6ea;--dark:#10151b;--accent:#1f6553;--red:#b83232;--amber:#976100;--green:#1d7550;--blue:#315f91}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}.hidden{display:none!important}button{cursor:pointer}.top{background:var(--dark);color:#fff;padding:15px 20px;display:flex;justify-content:space-between;gap:14px;align-items:center;position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:10px}.logo{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#fff;color:#111;font-weight:900}.brand b{font-size:18px}.brand small{display:block;color:#98a3ae;font-size:10px}.topright{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.top button,.btn{border:1px solid var(--line);border-radius:9px;background:#fff;color:#111;padding:9px 12px;font-weight:800;font-size:11px}.top button{background:#1b222b;color:#fff;border-color:#313a45}.btn.dark{background:#11151b;color:#fff;border-color:#11151b}.btn.danger{background:#fff1f1;color:#9a2b2b;border-color:#efcaca}.main{max-width:1480px;margin:auto;padding:25px 28px 70px}.pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:18px}.pagehead small,.eyebrow{font-size:10px;letter-spacing:1.15px;font-weight:850;color:#6c7681}.pagehead h1{font-size:31px;margin:3px 0 0;letter-spacing:-.7px}.pagehead p{margin:5px 0 0;color:var(--muted);font-size:12px}.toolbar{display:flex;gap:8px;flex-wrap:wrap}.card{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 10px 28px rgba(16,25,35,.06)}.pad{padding:20px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.formgrid label{font-size:11px;font-weight:800;color:#56616d;display:flex;flex-direction:column;gap:6px}.formgrid input,.formgrid select,.formgrid textarea,.filterbar input,.filterbar select{border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px;outline:none;width:100%}.span2{grid-column:1/-1}.sectionhead{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin:23px 0 12px}.sectionhead:first-child{margin-top:0}.sectionhead h2{margin:3px 0 0;font-size:22px}.sub{font-size:11px;color:var(--muted);line-height:1.45}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.tabs button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 11px;font-weight:800;font-size:11px}.tabs button.active{background:#11151b;color:#fff;border-color:#11151b}
.loginwrap{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:18px}.login{width:min(440px,100%);padding:26px}.login h1{margin:5px 0 7px}.login p{color:var(--muted);font-size:12px;line-height:1.5}.login input{width:100%;padding:11px;border:1px solid var(--line);border-radius:9px;margin:10px 0}.message{font-size:11px;margin-top:10px;color:var(--accent)}
.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.project{padding:17px}.project h3{margin:0;font-size:17px}.pmeta{font-size:10px;color:var(--muted);margin-top:4px}.pstats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.pstats div{background:#f5f7f8;border-radius:9px;padding:9px}.pstats strong{display:block;font-size:21px}.pstats span{font-size:9px;color:var(--muted)}.pfoot{display:flex;justify-content:space-between;gap:7px;align-items:center;margin-top:13px}.pill{font-size:9px;font-weight:850;padding:5px 7px;border-radius:99px;display:inline-block}.pill.priority{background:#fde9e9;color:#902929}.pill.improvement{background:#fff1cc;color:#805400}.pill.good{background:#e8f6ee;color:#176847}.pill.opportunity{background:#e8f0fa;color:#2a5684}.pill.neutral{background:#eef1f4;color:#58626d}
.live{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.live div{border:1px solid var(--line);border-radius:11px;padding:13px}.live strong{font-size:25px;display:block}.live span{font-size:9px;color:var(--muted)}.minicats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.minicat{background:#f5f7f8;border-radius:9px;padding:9px}.minicat b{font-size:10px}.minicat span{float:right;font-weight:900}.track{height:6px;background:#e8ecef;border-radius:99px;overflow:hidden;margin-top:7px}.bar{height:100%;background:var(--accent);border-radius:99px}
.filterbar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.filterbar input{flex:1;min-width:200px}.checkgroup{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;margin-bottom:9px}.checkgroup summary{padding:13px 14px;background:#f8f9fa;cursor:pointer;font-weight:850;display:flex;justify-content:space-between;gap:10px}.checkgroup summary span{font-size:10px;color:var(--muted)}.checkrow{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;padding:10px 12px;border-top:1px solid #edf0f2}.checktext{font-size:12px;font-weight:650;line-height:1.45}.checknote{font-size:10px;color:var(--muted);margin-top:3px}.statusbuttons{display:flex;gap:4px;flex-wrap:wrap}.sbtn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 7px;font-size:9px;font-weight:850}.sbtn.sel.pass{background:#e8f6ee;color:#176847;border-color:#b8dfc9}.sbtn.sel.improvement{background:#fff1cc;color:#805400;border-color:#e4cd81}.sbtn.sel.priority{background:#fde9e9;color:#902929;border-color:#e8baba}.sbtn.sel.na{background:#eef1f4;color:#58626d}.detailbtn{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 8px;font-size:9px;font-weight:850}.detailbtn.has{color:var(--accent);border-color:#b6cec5}
.manualrow{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:7px}.manualrow b{font-size:12px}.manualrow small{display:block;font-size:9px;color:var(--muted);margin-top:3px}
/* Dashboard */
.hero{display:grid;grid-template-columns:.8fr 1.6fr;gap:14px}.scorecard,.summarycard{padding:20px}.ring{width:172px;height:172px;border-radius:50%;margin:13px auto;display:grid;place-items:center;position:relative}.ring:after{content:"";position:absolute;inset:13px;background:#fff;border-radius:50%}.ring>div{z-index:1}.ring strong{font-size:52px}.ring span{color:var(--muted);font-weight:800}.caption{text-align:center;color:#56616c;font-size:12px;line-height:1.5}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stats div{border:1px solid var(--line);border-radius:10px;padding:12px}.stats strong{display:block;font-size:24px}.stats span{font-size:9px;color:var(--muted)}.callout{background:#f5f7f8;border-radius:10px;padding:12px;margin-top:11px}.callout p{font-size:11px;color:#56616d;line-height:1.5;margin:4px 0 0}.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.cat{padding:12px}.cattop{display:flex;justify-content:space-between;gap:7px}.cattop b{font-size:10px}.cattop strong{font-size:22px}.finding{display:grid;grid-template-columns:6px 1fr .6fr auto 20px;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;padding-right:10px;margin-bottom:7px}.strip{height:100%}.strip.Priority{background:var(--red)}.strip.Improvement{background:var(--amber)}.strip.Opportunity{background:var(--blue)}.fmain{padding:10px 0}.fmain b{font-size:11px}.fmain p{font-size:9px;color:var(--muted);margin:3px 0 0}.fmeta{font-size:9px;color:var(--muted)}.egrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.ecard{overflow:hidden}.eimg{height:160px;background:#e5e9ec center/cover no-repeat;padding:9px;display:flex;align-items:flex-end}.ebody{padding:10px}.ebody b{font-size:11px}.ebody p{font-size:9px;color:var(--muted);margin:4px 0 0}
/* Field mode */
.fieldtop{background:#10151b;color:#fff;padding:16px;display:flex;justify-content:space-between;gap:10px;position:sticky;top:0;z-index:40}.fieldtop small{font-size:8px;letter-spacing:1px;color:#a2adb8}.fieldtop h1{margin:3px 0 0;font-size:20px}.fieldtop p{font-size:9px;color:#9ca7b1;margin:3px 0 0}.fieldprog{background:#fff;padding:10px 14px;border-bottom:1px solid var(--line);position:sticky;top:76px;z-index:39}.progline{display:flex;justify-content:space-between;font-size:10px}.fieldmain{max-width:820px;margin:auto;padding:14px 12px 90px}.fieldcard{background:#fff;border:1px solid var(--line);border-radius:17px;padding:17px;box-shadow:0 10px 25px rgba(16,25,35,.06)}.fieldchip{display:inline-block;background:#eaf3ef;color:#245e4f;border-radius:99px;padding:6px 8px;font-size:9px;font-weight:900;margin-top:12px}.fieldcard h2{font-size:23px;line-height:1.22;letter-spacing:-.45px}.guidance{background:#f6f8f9;border-left:3px solid #cbd5d1;border-radius:0 9px 9px 0;padding:10px;font-size:11px;line-height:1.5;color:#66717c}.fieldstatus{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.fieldstatus button{min-height:75px;border:2px solid transparent;border-radius:12px;font-weight:850}.fieldstatus .pass{background:#edf8f2;color:#176847}.fieldstatus .improvement{background:#fff7df;color:#805400}.fieldstatus .priority{background:#fff0f0;color:#902929}.fieldstatus .na{background:#eff2f4;color:#5b6570}.fieldstatus button.sel{border-color:currentColor}.fieldactions,.fieldnav{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.fieldactions button,.fieldnav button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;font-size:10px;font-weight:850}.fieldfooter{position:fixed;bottom:0;left:0;right:0;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:7px;z-index:45}.fieldfooter button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px;font-size:9px;font-weight:850}
/* Modal */
.backdrop{position:fixed;inset:0;background:rgba(8,12,17,.58);display:none;align-items:center;justify-content:center;padding:15px;z-index:100}.backdrop.open{display:flex}.modal{width:min(850px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;padding:23px;position:relative}.x{position:absolute;right:13px;top:8px;border:0;background:transparent;font-size:27px}.preview{max-width:100%;max-height:260px;object-fit:contain;border-radius:9px;border:1px solid var(--line)}.empty{padding:24px;border:1px dashed #cbd2d8;border-radius:11px;text-align:center;color:var(--muted);font-size:11px}
@media(max-width:1050px){.projects{grid-template-columns:repeat(2,1fr)}.cats{grid-template-columns:repeat(2,1fr)}.minicats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.main{padding:17px 11px 70px}.pagehead{flex-direction:column;align-items:flex-start}.projects,.grid2,.grid3,.hero,.stats,.cats,.egrid,.live{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.span2{grid-column:auto}.checkrow{grid-template-columns:1fr}.manualrow{grid-template-columns:1fr}.finding{grid-template-columns:6px 1fr 20px}.finding .fmeta,.finding .pill{display:none}.brand small{display:none}.top{position:relative}.filterbar input{min-width:100%}}
@media(min-width:700px){.fieldstatus{grid-template-columns:repeat(4,1fr)}}
@media print{.top,.tabs,.toolbar,.pagehead .btn{display:none!important}.main{padding:0}body{background:#fff}}

.login-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--muted);font-size:10px}
.login-divider:before,.login-divider:after{content:"";height:1px;background:var(--line);flex:1}
.login-help{font-size:10px!important;margin:10px 0 0!important;color:var(--muted)!important}

.brand-home{border:0!important;background:transparent!important;padding:0!important;color:#fff!important;text-align:left;box-shadow:none!important}.brand-home:hover{opacity:.9}.brand-home b{font-size:18px}.brand-home small{display:block;color:#98a3ae;font-size:10px}
