:root{font-family:system-ui,sans-serif;color:#182c3b;background:#f2f5f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{max-width:1200px;margin:auto;padding:36px 28px}h1{font-size:36px;letter-spacing:-1px;margin:8px 0}h2{font-size:21px}h3{font-size:14px}p{line-height:1.6}.eyebrow{font-size:12px;letter-spacing:2px;color:#426678;font-weight:700}header>p:last-child,footer,.period p{color:#536775}form{display:flex;flex-wrap:wrap;gap:18px;align-items:end;background:white;padding:24px;border:1px solid #dce5eb;border-radius:12px;margin-top:28px}label{display:flex;flex:1;flex-direction:column;gap:8px;font-size:14px;font-weight:600}select,button{font:inherit;min-height:44px;border-radius:6px;padding:10px;border:1px solid #aebfc9}button{background:#155b72;color:white;cursor:pointer;padding:11px 23px}select:focus,button:focus{outline:3px solid #74bfe2;outline-offset:2px}.period{margin:28px 0 20px}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.kpis article{background:white;border:1px solid #dce5eb;border-radius:10px;padding:22px}.kpis h3{margin-top:0;color:#536775}.kpis strong{display:block;font-size:32px;letter-spacing:-.5px}.kpis span{display:block;color:#536775;margin-top:7px}.kpis .quality{font-size:22px}.warning,.kpis .warning{background:#fff5dd;border:1px solid #d7ab47;color:#674600}.complete,.kpis .complete{background:#edf8f2;border:1px solid #9ac8ac;color:#225c3d}.coverage,section.warning{padding:22px;border-radius:10px;margin-top:22px}.coverage h2{margin-top:0}.coverage li{padding:5px 0;overflow-wrap:anywhere}footer{font-size:12px;margin-top:26px}@media(max-width:760px){main{padding:22px 16px}.kpis{grid-template-columns:repeat(2,1fr)}label{min-width:200px}}@media(max-width:430px){.kpis{grid-template-columns:1fr}}

.charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.chart,.table-section{background:white;border:1px solid #dce5eb;border-radius:10px;padding:18px;min-width:0}.chart h2{font-size:18px;margin:0}.chart-unit,.legend{font-size:12px;color:#536775}.chart svg{width:100%;height:auto;overflow:visible}.chart svg text{font:12px system-ui;fill:#536775}.grid-line{stroke:#dce5eb;stroke-width:1}.chart svg .missing-point{fill:#bd6800;font-size:22px}.legend{display:flex;flex-wrap:wrap;gap:12px}.table-section{margin-top:24px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}td,th{padding:12px 9px;text-align:right;border-bottom:1px solid #dce5eb}th:first-child{text-align:left}.incomplete-row{background:#fff5dd;color:#674600}.delta{font-size:13px;color:#536775;line-height:1.7;border-top:1px solid #dce5eb;margin-top:12px;padding-top:10px}#loading{padding:14px;background:#dceef6;border-radius:6px}button:disabled{opacity:.65;cursor:wait}form label{min-width:150px}@media(max-width:1000px){.charts{grid-template-columns:1fr}}

.auth-page{max-width:600px;margin:50px auto}.auth-panel{background:white;border:1px solid #dce5eb;padding:26px;border-radius:12px}.auth-form{display:flex;flex-direction:column;align-items:stretch;padding:0;border:0;margin-top:20px}.auth-form input{font:inherit;padding:12px;border:1px solid #aebfc9;border-radius:6px;min-height:44px}.auth-message{padding:15px;border-radius:8px}.logout-form{float:right;display:block;margin:0;padding:0;border:0;background:transparent}.logout-form button{font-size:13px;background:white;color:#155b72}.legend-155b72{color:#155b72}.legend-436e45{color:#436e45}.legend-9a4e92{color:#9a4e92}
