:root{--bg:#f6f6f6;--fg:#000;--accent:#0f45c9;--muted:#6f6f6f;--white:#fff;--error:#c92727;--font-body:"IBM Plex Mono", monospace;--font-display:"Oswald", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--fg);font-family:var(--font-body);min-height:100vh;font-size:16px;line-height:24px}h1,h2,h3{font-family:var(--font-display);font-weight:700}button{font-family:var(--font-body)}.page{max-width:720px;margin:0 auto;padding:2rem}.page h1{margin-bottom:.25rem;font-size:2.4rem;line-height:1.1}.page-subtitle{color:var(--muted);margin-bottom:2rem}.status-error{border:1px solid var(--error);color:var(--error);background-color:#fdecec;margin-bottom:1.5rem;padding:.75rem 1rem}.stat-row{flex-wrap:wrap;gap:1rem;display:flex}.stat-card{background-color:var(--white);border:1px solid var(--fg);flex:160px;padding:1.5rem}.stat-value{font-family:var(--font-display);font-size:2.5rem;font-weight:700}.stat-ok{color:#1a7a1a}.stat-bad{color:var(--error)}.stat-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin-top:.25rem;font-size:.85rem}.login-page{max-width:400px}.login-form{flex-direction:column;gap:1.25rem;display:flex}.login-field{flex-direction:column;gap:.4rem;display:flex}.login-field span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.85rem}.login-field input,.login-field select{background-color:var(--white);border:1px solid var(--fg);font-family:var(--font-body);padding:.6rem .75rem;font-size:1rem}.login-submit{background-color:var(--accent);color:var(--white);cursor:pointer;border:none;padding:.7rem;font-size:1rem;font-weight:500}.login-submit:disabled{cursor:not-allowed;opacity:.6}.correction-form{max-width:400px;margin-bottom:2rem}.log-section-heading{margin:2rem 0 1rem;font-size:1.2rem}.log-caveat{border:1px solid var(--muted);color:var(--muted);background-color:#fff8e6;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.85rem}.log-table{background-color:var(--white);border:1px solid var(--fg);border-collapse:collapse;width:100%}.log-table th,.log-table td{border-bottom:1px solid var(--muted);text-align:left;padding:.6rem 1rem}.log-table th{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:.8rem}.log-table tr:last-child td{border-bottom:none}.settings-row{background-color:var(--white);border:1px solid var(--fg);justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1.25rem 1.5rem;display:flex}.settings-label{font-weight:700}.settings-hint{color:var(--muted);margin-top:.25rem;font-size:.85rem}.toggle{background-color:var(--bg);border:1px solid var(--fg);cursor:pointer;font-family:var(--font-body);min-width:4rem;padding:.5rem 1rem;font-weight:700}.toggle-on{background-color:var(--accent);border-color:var(--accent);color:var(--white)}.save-button{background-color:var(--fg);color:var(--white);cursor:pointer;font-family:var(--font-body);border:none;margin-top:1rem;padding:.75rem 1.5rem;font-weight:700}.save-button:disabled{cursor:not-allowed;opacity:.6}.status-saved{color:#1a7a1a;margin-top:.75rem}.header{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:1.5rem 2rem;display:flex}.header-logo{font-family:var(--font-display);font-size:1.6rem;font-weight:700}.header-badge{background-color:var(--fg);color:var(--white);letter-spacing:.05em;border-radius:4px;padding:.2rem .4rem;font-size:.7rem}.header-nav{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.nav-link{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:.4rem .6rem;font-size:.9rem}.nav-link-active{color:var(--fg);font-weight:700}.chart{background-color:var(--white);border:1px solid var(--fg);break-inside:avoid;margin:0 0 1.5rem;padding:1rem 1rem .5rem}.chart-title{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.1rem;font-weight:700}.chart-svg{width:100%;height:auto;display:block}.chart-grid{stroke:#d8d8d8;stroke-width:1px}.chart-tick{fill:var(--muted);font-family:var(--font-body);font-size:11px}.chart-bar{fill:var(--accent)}.chart-line{fill:none;stroke:var(--accent);stroke-width:2.5px}.chart-area{fill:var(--accent);fill-opacity:.12}.chart-dot{fill:var(--accent)}.report-page{max-width:920px}.report-controls{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.report-controls .login-submit{padding:.6rem 1.25rem}.report-actions{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.report-secondary,.report-print{border:1px solid var(--fg);cursor:pointer;padding:.5rem 1rem;font-size:.9rem}.report-secondary{background-color:var(--white);color:var(--fg)}.report-print{background-color:var(--fg);color:var(--white);margin-left:auto}.report-secondary:disabled,.report-print:disabled{cursor:not-allowed;opacity:.5}.report{background-color:var(--white);border:1px solid var(--fg);padding:2rem}.report-header{border-bottom:2px solid var(--fg);margin-bottom:1.5rem;padding-bottom:1rem}.report-brand{color:var(--accent);font-family:var(--font-display);letter-spacing:.15em;font-size:1rem}.report-title{font-size:2.2rem;line-height:1.1}.report-range{color:var(--muted);margin-top:.25rem}.report-section{margin-bottom:2rem}.report-heading{margin-bottom:.75rem;font-size:1.3rem}.report-insights{flex-direction:column;gap:.5rem;padding-left:1.25rem;display:flex}.report-footer{border-top:1px solid var(--muted);color:var(--muted);padding-top:.75rem;font-size:.8rem}@media print{@page{margin:14mm}body{background-color:#fff}.header,.no-print{display:none!important}.page,.report-page{max-width:none;margin:0;padding:0}.report{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:none;padding:0}.report-section,.stat-card{break-inside:avoid}}
