:root{--navy:#0c1c31;--blue:#108cff;--blue-deep:#1169c8;--text:#17283c;--muted:#687c92;--line:#e4eaf2;--surface:#f3f6fa;--white:#fff}*{box-sizing:border-box}html{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text)}body{margin:0;background:var(--surface);line-height:1.55}h1,h2,h3{line-height:1.23;margin:0 0 14px;letter-spacing:-.024em}h1{font-size:clamp(25px,3vw,34px)}h2{font-size:20px}p{margin:0 0 16px;color:var(--muted)}a{color:#116cc9;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font:inherit;font-weight:650;border-radius:9px;border:0;background:#126ed7;color:#fff;padding:11px 18px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #78b7f7;outline-offset:2px}button:hover{background:#0f57b0}label{display:block;font-weight:650;font-size:13px;margin:0 0 15px}input,select{display:block;width:100%;margin-top:6px;background:#fff;color:var(--text);border:1px solid #c8d3df;border-radius:9px;font:inherit;font-weight:400;padding:11px 12px;min-height:44px}.panel,.stat{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px}.panel{margin-bottom:20px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px}.stat h2{font-size:17px}.stat p{font-size:13px}.notice{border:1px solid #c8ddf9;border-radius:10px;background:#eaf3ff;color:#144871;padding:14px 18px;margin:0 0 22px}.error{border:1px solid #f3c6c6;background:#fff0f0;color:#991e21;padding:11px 14px;border-radius:9px}.muted{font-size:12px;color:var(--muted)}.setup{width:min(690px,calc(100% - 32px));margin:35px auto}.setup .panel{padding:25px}.setup .access-url{word-break:break-all;font-weight:700;color:#155daa;background:#e7f3ff;padding:15px;border-radius:10px}footer{font-size:12px;color:#8a9bb0;padding:20px 0}.page-heading{margin-bottom:24px}@media(max-width:850px){.cards{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Common cards and display primitives; never style Customer/Staff navigation here. */
.statgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin:0 0 22px}.statgrid .stat{display:flex;flex-direction:column;gap:8px;color:var(--text);min-height:137px;padding:21px;text-decoration:none}.statgrid .stat:hover{border-color:#b8d5f3;box-shadow:0 8px 25px rgba(10,45,90,.04);text-decoration:none}.statgrid .stat span{font-size:14px;font-weight:700}.statgrid .stat strong{font-size:26px;line-height:1.14}.statgrid .stat strong.stat-word{font-size:23px}.statgrid .stat small{color:var(--muted);font-size:12px}.columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.button{display:inline-block;padding:9px 16px;border-radius:8px;background:#096ed6;color:#fff!important;font-size:14px;font-weight:700}.button:hover{text-decoration:none;background:#0757ad}.button-soft{background:#eaf3ff;color:#135fb5!important}.button-soft:hover{background:#d7eafb}.empty-state{background:#f7f9fc;border:1px dashed #d5e0ef;color:#50657e;padding:23px;border-radius:10px}.empty-state strong{display:block;color:#203550;margin-bottom:7px}.empty-state p{font-size:13px;margin:0}.details{display:grid;grid-template-columns:minmax(85px,130px) 1fr;gap:12px}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:650}.data-list{margin-top:13px;border:1px solid var(--line);border-radius:11px;overflow:hidden}.data-row{padding:12px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.data-row:last-child{border-bottom:none}.data-row:hover{background:#f7faff}.data-row small{display:block;color:var(--muted);font-size:12px}.status-pill{background:#edf4fc;color:#205d9e;padding:5px 10px;border-radius:999px;font-size:12px}.diag-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.diag-check{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:7px 0;font-size:13px}.diag-check strong.good{color:#147c4f}.diag-check strong.bad{color:#a12b28}.section-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.diag-entry{border-bottom:1px solid var(--line)}.diag-entry:last-child{border-bottom:0}.diag-entry summary{cursor:pointer;display:flex;align-items:center;gap:15px;padding:13px 16px;list-style:none}.diag-entry summary::-webkit-details-marker{display:none}.diag-entry summary:hover{background:#f4f8fd}.diag-primary{display:flex;flex-direction:column;flex:1;min-width:0}.diag-primary strong{font-size:13px}.diag-primary small{font-size:11px;color:var(--muted)}.diag-origin{font-size:12px;color:#62778f;overflow-wrap:anywhere;max-width:42%;text-align:right}.severity{font-size:10px;min-width:65px;text-align:center;padding:4px 6px;border-radius:6px;background:#fff0ed;color:#a53124;font-weight:800}.severity-warning{background:#fff4db;color:#885b06}.severity-notice{background:#e8f2fe;color:#185f9b}.diag-body{border-top:1px dashed var(--line);padding:13px 18px;background:#fbfcfe;overflow-wrap:anywhere}.diag-body p{font-size:12px;margin-bottom:6px}.diag-frame{font-family:monospace;font-size:11px;color:#556981}.panel code{overflow-wrap:anywhere}@media(max-width:1200px){.statgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.columns,.diag-grid{grid-template-columns:1fr}}@media(max-width:480px){.statgrid{grid-template-columns:1fr}.section-header{align-items:start;flex-direction:column}.diag-entry summary{flex-wrap:wrap}.diag-origin{max-width:100%;width:100%;text-align:left}}

/* Isolated 2FA enrollment. QR is generated locally, never by an external service. */
.wk-2fa-qr{display:inline-block;margin:12px 0 4px;padding:12px;background:#fff;border:1px solid #ccd6e4;border-radius:12px;min-width:188px;min-height:188px}
.wk-2fa-qr svg{display:block;width:190px;height:190px;image-rendering:pixelated}
.wk-2fa-note{font-size:.84rem;line-height:1.45;margin:4px 0 12px}
.wk-2fa-manual{display:block;margin:12px 0 5px}
