:root{color:#18313b;font-synthesis:none;text-rendering:optimizelegibility;background:#f2f5f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}a{color:#08799b}.app-layout{grid-template:auto auto 1fr/250px minmax(0,1fr);min-height:100vh;display:grid}.dev-banner{color:#342900;text-align:center;letter-spacing:.05em;background:#f6c743;grid-column:1/-1;padding:.45rem 1rem;font-weight:800}.topbar{color:#fff;background:#123746;grid-column:1/-1;justify-content:space-between;align-items:center;min-height:84px;padding:1rem 2rem;display:flex}.topbar strong{font-size:1.2rem;display:block}.eyebrow{color:#5e8998;letter-spacing:.12em;font-size:.75rem;font-weight:800;display:block}.topbar .eyebrow{color:#8fc5d5}.profile{text-align:right;grid-template-columns:auto auto;align-items:center;column-gap:1rem;display:grid}.profile small{color:#bdd3da;grid-column:1}.profile .button{grid-area:1/2/3}.sidebar{background:#e4ebed;border-right:1px solid #cad6da;padding:1.5rem 1rem}.sidebar a,.nav-placeholder{border-radius:6px;margin-bottom:.2rem;padding:.7rem .8rem;text-decoration:none;display:block}.sidebar a{color:#18313b;font-weight:650}.sidebar a.active{color:#08799b;background:#fff;box-shadow:0 1px 3px #16313d14}.nav-section{color:#687d85;text-transform:uppercase;margin:1.6rem .8rem .5rem;font-size:.72rem;font-weight:800}.nav-placeholder{color:#7d8b90;cursor:not-allowed}.content{padding:clamp(1.5rem,4vw,3.5rem);overflow:auto}.content h1{margin:.4rem 0 1rem;font-size:clamp(2rem,4vw,3rem)}.lead{color:#51666e;max-width:760px;font-size:1.12rem;line-height:1.6}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.5rem;display:grid}.card,.center-card,.login-card{background:#fff;border:1px solid #dce4e7;border-radius:12px;box-shadow:0 10px 30px #19343f0c}.card{padding:1.4rem}.card h2{margin-top:0;font-size:1rem}.login-page,.loading-screen{background:linear-gradient(135deg,#123746 0 46%,#e9eff1 46%);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-card{max-width:490px;padding:clamp(2rem,6vw,4rem)}.login-card h1{margin:.5rem 0 1rem;font-size:2.25rem}.login-card p{color:#526870;line-height:1.6}.auth-form{gap:.75rem;display:grid}.auth-form label{font-weight:700}.auth-form input{font:inherit;border:1px solid #8a9aa3;border-radius:.4rem;padding:.7rem}.auth-form input:focus{outline-offset:2px;outline:3px solid #82c7e8}.totp-qr{background:#fff;align-self:center;width:220px;height:220px}.manual-secret{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.recovery-codes{columns:2;padding:0;list-style:none}.warning-banner{color:#74500c;background:#fff7df;border-left:5px solid #c88612;padding:1rem}.button{cursor:pointer;border:0;border-radius:6px;justify-content:center;padding:.7rem 1rem;font-weight:750;text-decoration:none;display:inline-flex}.button.primary{color:#fff;background:#08799b;margin-top:1rem}.button.secondary{color:#fff;background:#ffffff18;border:1px solid #ffffff45}.button:disabled{cursor:not-allowed;opacity:.55}.button.activate{color:#fff;background:#176b3a;margin-top:1rem}.button.danger{color:#fff;background:#9d2f2b}.loading-screen{color:#fff;font-weight:700}.loading{color:#62757c;padding:2rem}.center-card{max-width:650px;margin:10vh auto;padding:2rem}.error-banner{color:#78211e;background:#fff0ee;border-left:5px solid #bd342f;padding:1rem}.status-list{background:#fff;border:1px solid #dce4e7;border-radius:10px;max-width:800px;overflow:hidden}.status-list div{border-bottom:1px solid #e8edef;grid-template-columns:180px 1fr;padding:.9rem 1rem;display:grid}.status-list div:last-child{border-bottom:0}.status-list dt{font-weight:750}.status-list dd{overflow-wrap:anywhere;margin:0}.active-source-card{background:#eaf6ee;border:1px solid #98c7a8;border-radius:10px;grid-template-columns:1fr auto;gap:.35rem 1rem;margin:1.5rem 0;padding:1.2rem 1.4rem;display:grid}.active-source-card div{color:#145d34;font-weight:800}.active-source-card small{color:#4b6654;grid-column:1/-1}.domain-panel{background:#fff;border:1px solid #cbdce1;border-radius:12px;margin:1.5rem 0;padding:1.4rem}.domain-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.domain-heading h2{margin:.25rem 0 0}.domain-heading .button{margin:0}.calculation-panel{background:#f7fbf8;border:1px solid #b9d5c2;border-radius:9px;margin-top:1.4rem;padding:1.2rem}.calculation-panel h2{font-size:1.15rem}.measurement-panel{background:#faf9fd;border:1px solid #c9c2df;border-radius:9px;margin-top:1.4rem;padding:1.2rem}.measurement-panel h2{font-size:1.15rem}.measurement-summary div{background:#f0edf7}.operational-status-panel{background:#f7fbfa;border-color:#b7d3cb}.operational-status-panel .measurement-summary div{background:#e8f4f0}.effective-status-panel{background:#fffdf6;border-color:#c8b176}.effective-status-panel .measurement-summary div{background:#f8f0d8}.panel-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.panel-header h2{margin:.25rem 0 0}.technical-results{margin-top:1rem;overflow-x:auto}.technical-results table{border-collapse:collapse;width:100%;font-size:.78rem}.technical-results th,.technical-results td{text-align:left;border-bottom:1px solid #ddd8e9;padding:.5rem}.technical-results th{color:#5f5576;background:#f0edf7}.pager{justify-content:space-between;align-items:center;gap:.8rem;margin-top:.75rem;display:flex}.pager .button{margin:0}.parameter-strip{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.parameter-strip span{color:#476353;background:#e4f1e8;border-radius:6px;padding:.45rem .65rem;font-size:.78rem}.parameter-strip strong{color:#174b2b;margin-left:.25rem}.calculation-summary div{background:#edf6ef}.success-text{color:#176b3a}.calculation-result{border-left:4px solid #318153}.calculation-result pre{white-space:pre-wrap;background:#eef3f1;max-height:320px;padding:.7rem;font-size:.75rem;overflow:auto}.canonical-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;margin-top:1.2rem;display:grid}.canonical-summary div{background:#edf5f7;border-radius:7px;min-width:0;padding:.8rem}.canonical-summary span,.canonical-summary strong{display:block}.canonical-summary span{color:#687d85;font-size:.74rem}.canonical-summary strong{overflow-wrap:anywhere;margin-top:.25rem}.category-counts{flex-wrap:wrap;gap:.5rem;margin:.8rem 0;display:flex}.category-counts span{color:#52676f;background:#eef1f2;border-radius:999px;padding:.35rem .6rem;font-size:.78rem}.quality-signals{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:.8rem 0;display:grid}.quality-signals div{background:#fff9eb;border-left:3px solid #d99b2b;grid-template-columns:3rem 1fr;gap:.5rem;padding:.65rem;display:grid}.article-lookup{border-top:1px solid #e3e9eb;gap:.4rem;margin-top:1.4rem;padding-top:1.2rem;display:grid}.article-lookup label{font-weight:750}.article-lookup>div{gap:.5rem;display:flex}.article-lookup input{min-width:0;font:inherit;border:1px solid #9aadb4;border-radius:6px;flex:1;padding:.7rem}.article-lookup .button{margin:0}.article-result{background:#f6f9fa;border-radius:8px;margin-top:1rem;padding:1rem}.article-result h3{margin:0}.article-result details{background:#fff;border:1px solid #dbe4e7;border-radius:6px;margin-top:.5rem;padding:.65rem}.article-result summary{cursor:pointer;font-weight:700}.article-result dl div{grid-template-columns:190px 1fr;gap:.6rem;margin-top:.35rem;display:grid}.article-result dt{color:#62757c}.article-result dd{overflow-wrap:anywhere;margin:0}.lineage-list{color:#5d737b;font-size:.8rem}.status-dot{border-radius:50%;width:.65rem;height:.65rem;margin-right:.5rem;display:inline-block}.status-dot.success{background:#258c4f}.upload-zone{text-align:center;background:#f9fbfb;border:2px dashed #8aa5ae;border-radius:12px;place-items:center;gap:.55rem;padding:2.2rem;display:grid}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.source-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1.25rem 0;display:grid}.source-card{background:#fff;border:2px solid #d4dee1;border-radius:10px;min-height:150px;padding:1rem}.source-card.selected{border-color:#82a8b5}.source-card.ok{background:#f3fbf5;border-color:#58a474}.source-card.warning{background:#fff9eb;border-color:#d99b2b}.source-card.error{background:#fff4f2;border-color:#c95850}.source-card header{justify-content:space-between;gap:.5rem;display:flex}.source-card header span{color:#687d85;font-size:.75rem}.source-card dl{margin:.9rem 0 0;font-size:.8rem}.source-card dl div{justify-content:space-between;gap:.5rem;margin-top:.3rem;display:flex}.source-card dd{text-align:right;margin:0;font-weight:700}.muted{color:#809096}.notice{border-radius:7px;margin:1rem 0;padding:.8rem 1rem}.notice.neutral{background:#e7f1f4;border-left:4px solid #4a8da2}.notice.error{color:#78211e;background:#fff0ee;border-left:4px solid #bd342f}.notice.success{color:#145d34;background:#ebf7ef;border-left:4px solid #258c4f}.notice.warning{color:#74500c;background:#fff7df;border-left:4px solid #c88612}.policy-editor{background:#fff;border:1px solid #d6e0e3;border-radius:12px;margin-top:1.5rem;padding:1.4rem}.policy-editor>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.policy-editor h2{margin:.25rem 0 0}.policy-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0;display:grid}.policy-columns article{background:#f3f7f8;border-radius:8px;padding:1rem}.policy-columns article:nth-child(2){background:#fff7df}.policy-columns article:nth-child(3){background:#eaf6ee}.policy-columns h3{margin-top:0}.policy-columns dl div{justify-content:space-between;gap:.5rem;margin-top:.4rem;display:flex}.policy-columns dd{text-align:right;margin:0;font-weight:750}.override-form{background:#fffaf0;border:1px solid #d9bd74;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0 1.5rem;padding:1rem;display:grid}.override-form label{gap:.35rem;font-weight:700;display:grid}.override-form input:not([type=checkbox]),.override-form textarea{width:100%;font:inherit;border:1px solid #9aadb4;border-radius:6px;padding:.65rem}.override-form .wide{grid-column:1/-1}.override-form .confirmation{flex-direction:row;align-items:center;display:flex}.button-row{gap:.6rem;display:flex}.table-scroll{overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%;font-size:.82rem}.table-scroll th,.table-scroll td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8ea;padding:.6rem}.table-scroll th{color:#52676f;background:#f2f5f6}.pagination{justify-content:space-between;align-items:center;gap:.8rem;margin-top:.75rem;display:flex}.status-pill.warning{color:#74500c;background:#fff0c2}.status-pill.success{color:#145d34;background:#d9efdf}.validation-panel,.history-panel{background:#fff;border:1px solid #d6e0e3;border-radius:12px;margin-top:2rem;padding:1.4rem}.validation-summary{grid-template-columns:repeat(6,1fr);gap:.6rem;display:grid}.validation-summary div{background:#f3f6f7;border-radius:6px;padding:.8rem}.validation-summary span,.validation-summary strong{display:block}.validation-summary span{color:#687d85;font-size:.75rem}.validation-summary strong{overflow-wrap:anywhere;margin-top:.3rem}.error-text strong{color:#a62f2a}.warning-text strong{color:#986407}.fingerprint{overflow-wrap:anywhere}.issue-list{border:1px solid #e2e8ea;border-radius:7px;max-height:420px;overflow:auto}.issue{border-bottom:1px solid #edf0f1;grid-template-columns:150px 1fr auto;gap:.7rem;padding:.65rem .8rem;display:grid}.issue.error strong{color:#a62f2a}.issue.warning strong,.issue.blocking_warning strong{color:#986407}.issue small{color:#687d85}.override-box{background:#fff9eb;border:1px solid #d99b2b;border-radius:7px;gap:.7rem;margin-top:1rem;padding:1rem;display:grid}.override-box label{gap:.35rem;display:grid}.override-box label:has(input[type=checkbox]){display:flex}.override-box textarea{min-height:90px;font:inherit;border:1px solid #a9b7bc;border-radius:5px;padding:.6rem}.history-panel h2{margin-top:0}.history-row{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #e4eaec;grid-template-columns:120px 1fr 1.2fr 120px;align-items:center;gap:.8rem;width:100%;padding:.75rem;display:grid}.history-row:hover{background:#f4f8f9}.status-pill{background:#dfe6e8;border-radius:999px;width:fit-content;padding:.2rem .5rem;font-size:.72rem;font-weight:800}.status-pill.active,.status-pill.ready{color:#145d34;background:#d9efdf}.status-pill.invalid{color:#8d2723;background:#f9dedb}.status-pill.superseded,.status-pill.cancelled{color:#63757b}@media (width<=800px){.app-layout{grid-template:auto auto auto 1fr/1fr}.topbar{align-items:flex-start;gap:1rem;padding:1rem}.profile{grid-template-columns:1fr}.profile .button{grid-area:auto/1;margin-top:.4rem}.sidebar{border-bottom:1px solid #cad6da;border-right:0;gap:.25rem;display:flex;overflow-x:auto}.sidebar>*{flex:none}.nav-section{display:none}.card-grid{grid-template-columns:1fr}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.validation-summary,.canonical-summary{grid-template-columns:repeat(2,1fr)}.quality-signals,.history-row,.policy-columns,.override-form{grid-template-columns:1fr}.override-form .wide{grid-column:auto}}@media (width<=520px){.source-grid{grid-template-columns:1fr}.domain-heading,.article-lookup>div{flex-direction:column;align-items:stretch}}
