/* Digital Audit web app. Light theme only, dark text on light (Rule 34). Phone first. */
:root{--ink:#1c1c1c;--muted:#555350;--line:#d9d7d0;--line2:#c9c7c0;--paper:#fff;--band:#f7f7f5;--accent:#14324f;--link:#1f4fbf;--linkh:#163b8f;
--gA:#1f6b45;--gB:#226b75;--gC:#8a5a12;--gD:#a34a14;--gF:#a3271c;--gN:#3f4f7f;--gX:#5f5e59;--warn:#7a3a0c;--warnbg:#fff4ea;--okbg:#eaf4ee}
*{box-sizing:border-box}
html{background:var(--paper);color-scheme:light}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.5}
a{color:var(--link)}a:hover{color:var(--linkh)}
h1,h2,h3{line-height:1.2;margin:0}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.top{border-bottom:1.5px solid var(--line2)}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;padding-bottom:12px}
.brand{font-weight:650;color:var(--ink);text-decoration:none}.brand span{color:#8a8880;font-weight:400;margin:0 6px}
.nav{display:flex;flex-wrap:wrap;gap:16px;font-size:15px;align-items:center}.nav .who{color:var(--muted)}
main{padding:28px 0 48px}
.lab{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600}
.lead{font-size:18px;color:var(--muted);max-width:720px}
.muted{color:var(--muted)}.small{font-size:14px}.tiny{font-size:13px}
.stack{display:flex;flex-direction:column;gap:14px}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:6px;background:var(--accent);color:#fff;font-weight:600;font-size:16px;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.btn:hover{background:#0d2238;color:#fff}.btn[disabled]{opacity:.6;cursor:wait}
.btn2{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:6px;background:#fff;color:var(--ink);font-weight:600;font-size:15px;text-decoration:none;border:1.5px solid #8f8c84;cursor:pointer;font-family:inherit}
.btn2:hover{border-color:var(--ink);color:var(--ink)}
.btn3{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border-radius:6px;background:#fff;color:var(--ink);font-size:14px;text-decoration:none;border:1.5px solid var(--line2);cursor:pointer;font-family:inherit}
.linkbtn{background:none;border:0;padding:0;color:var(--link);font:inherit;text-decoration:underline;cursor:pointer}
input[type=text],input[type=email],input[type=url],textarea,select{min-height:48px;padding:0 14px;font-size:17px;font-family:inherit;border:1.5px solid #8f8c84;border-radius:6px;background:#fff;color:var(--ink);width:100%}
textarea{padding:10px 14px;min-height:90px}
input:focus,textarea:focus,select:focus,.btn:focus,.btn2:focus,.btn3:focus,a:focus{outline:3px solid #8fb0e8;outline-offset:1px}
.runform{display:flex;flex-wrap:wrap;gap:10px;max-width:760px}.runform input{flex:1 1 320px;min-width:0}
.runform .btn{flex:0 0 auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.note{border:1.5px solid var(--line2);border-radius:6px;background:var(--band);padding:14px 16px}
.alert{border:1.5px solid #d9a072;border-radius:6px;background:var(--warnbg);color:var(--warn);padding:12px 14px}
.alert a{color:var(--warn)}
.okmsg{border:1.5px solid #8cc3a2;border-radius:6px;background:var(--okbg);padding:12px 14px}
.band{background:var(--band);border-top:1.5px solid var(--line2);border-bottom:1.5px solid var(--line2);padding:32px 0;margin:32px 0}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.box{border:1.5px solid var(--line2);border-radius:6px;background:#fff;padding:16px;display:flex;flex-direction:column;gap:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:5px 10px;border:1.5px solid var(--line2);border-radius:999px;font-size:14px;background:#fbfbfa}
.faq{border-top:1.5px solid var(--line2)}.faq div{padding:12px 0;border-bottom:1px solid var(--line)}
.foot{border-top:1.5px solid var(--line2);padding:18px 0;font-size:13px;color:var(--muted)}.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
/* grades */
.g{flex:none;width:44px;height:44px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;color:#fff;background:var(--gX)}
.g.sm{width:38px;height:38px;font-size:17px}
.gA{background:var(--gA)}.gB{background:var(--gB)}.gC{background:var(--gC)}.gD{background:var(--gD)}.gF{background:var(--gF)}.gN{background:var(--gN)}.gX{background:var(--gX)}
.overall{flex:none;width:150px;height:150px;border-radius:10px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--accent)}
.overall b{font-size:68px;line-height:1}.overall span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin-top:4px}
/* running */
.bar{height:10px;border-radius:999px;background:#ecebe6;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);transition:width .4s}
.checks{list-style:none;margin:0;padding:0}
.checks li{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);min-height:56px}
.st{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:1.5px solid var(--line2);color:#8a8880;background:#fff}
.st.running{border-color:var(--accent);color:var(--accent);animation:pulse 1.2s ease-in-out infinite}
.st.ok,.st.nascent{background:var(--gA);border-color:var(--gA);color:#fff}.st.couldnt{background:var(--gX);border-color:var(--gX);color:#fff}
@keyframes pulse{50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.st.running{animation:none}}
.checks .sum{grid-column:2/4;font-size:13px;color:var(--muted);margin-top:-4px;overflow-wrap:anywhere}
.checks .name{font-weight:550;overflow-wrap:anywhere}
.side{border:1.5px solid var(--line2);border-radius:6px;background:var(--band);padding:18px;display:flex;flex-direction:column;gap:10px}
.cols{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
@media (min-width:880px){.cols{grid-template-columns:minmax(0,1fr) 340px}}
/* report */
.actions{position:sticky;top:0;z-index:3;background:#fbfbfa;border-bottom:1.5px solid var(--line2)}
.actions .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;padding-bottom:10px}
.actions .t{min-width:0}.actions .t b{font-size:17px;overflow-wrap:anywhere}
.hero{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.hero .v{flex:1 1 420px;min-width:0}.hero .v p{margin:0 0 8px}
.grades{border-top:1px solid var(--line)}
.grades details{border-bottom:1px solid var(--line)}
.grades summary{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;padding:13px 0;cursor:pointer;list-style:none}
.grades summary::-webkit-details-marker{display:none}
.grades summary .n{font-weight:600}.grades summary .e{color:var(--muted);font-size:15px;display:block;margin-top:2px}
.grades summary .more{font-size:14px;color:var(--link);text-decoration:underline}
.grades details[open] summary .more{display:none}
.grades .body{padding:0 0 14px 58px;font-size:15px}.grades .body ul{margin:0 0 6px 18px;padding:0}.grades .body li{margin-bottom:4px}
.plus{color:var(--gA)}
.fix{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.fix .k{font-size:20px;font-weight:700;color:var(--accent)}.fix p{margin:4px 0}
.tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:3px;margin-right:6px;background:#e8eef4;color:var(--accent)}
.tag.Hours{background:#e6f2ec;color:#1f5c3d}.tag.Days{background:#fdf3de;color:#6b4c00}
.opp{border:1.5px dashed #8a9cc0;background:#f4f6fb;border-radius:6px;padding:16px}
.pitch{border:1.5px solid var(--accent);background:#eef2f8;border-radius:6px;padding:18px}
.ch{border:1.5px solid var(--line2);border-radius:6px;padding:16px;display:flex;flex-direction:column;gap:8px}
.ch .hd{display:flex;gap:12px;align-items:center}
/* tables (admin, my audits) */
table.t{border-collapse:collapse;width:100%;font-size:14px}table.t th,table.t td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top}
table.t th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.scroll{overflow-x:auto}
.mine{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.mine li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.mine .acts{grid-column:2;display:flex;flex-wrap:wrap;gap:6px}
@media (min-width:760px){.mine li{grid-template-columns:40px minmax(0,1fr) auto;align-items:center}.mine .acts{grid-column:3}}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.tile{border:1.5px solid var(--line2);border-radius:6px;padding:12px 14px}.tile b{display:block;font-size:24px}
.needs{border:2px solid #c96b2c;background:var(--warnbg);border-radius:6px;padding:14px 16px}
.cf-turnstile{min-height:65px}
@media print{.actions,.top,.foot,.noprint{display:none}}
@media (max-width:700px){.actions{position:static}.actions .btn,.actions .btn2{min-height:42px;padding:0 12px;font-size:14px}.overall{width:120px;height:120px}.overall b{font-size:54px}}
