*{box-sizing:border-box}body{margin:0;background:#f3f6fb;color:#152b48;font:16px Calibri,Arial,sans-serif}header{background:#073e80;color:white;padding:24px 5%;display:flex;justify-content:space-between;align-items:center}header b{font-size:24px;letter-spacing:3px}small{display:block;font-size:13px;color:#69809a;margin-top:8px}header small{color:#d4e6ff}header span,.eyebrow{font-size:12px;letter-spacing:2px}main{max-width:1440px;margin:35px auto;padding:0 4%}h1{font-size:34px;margin:5px 0}h2{font-size:21px}p{line-height:1.5}.top{display:flex;align-items:center;justify-content:space-between;gap:16px}section{background:white;border:1px solid #e2eaf4;border-radius:16px;padding:24px;margin:20px 0;box-shadow:0 5px 20px #17315d05}.notice{border:1px solid #bcd8fa;background:#eaf3ff;padding:16px;border-radius:10px;margin:16px 0}.error{background:#fff2ef;border-color:#ffc5bb}.filters{display:flex;align-items:end;flex-wrap:wrap;gap:14px}label{display:block;font-size:13px;font-weight:600}input,select{display:block;padding:12px;border:1px solid #cbd8e8;border-radius:8px;margin:8px 0 0;background:white;color:#152b48}button,.button{display:inline-block;background:#075ec4;color:white;border:0;padding:12px 20px;border-radius:8px;cursor:pointer;font:inherit;text-decoration:none}button:disabled{background:#6c86a5}.secondary{background:#e8eff8;color:#15385c}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px}.cards section{margin:6px 0}.cards strong{font-size:34px;color:#075ec4}.stat{display:flex;justify-content:space-between;border-bottom:1px solid #edf1f6;padding-bottom:8px}.donut{width:90px;height:90px;border:12px solid #1973d7;border-radius:50%;display:grid;place-items:center;margin:10px auto}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}td,th{text-align:left;padding:14px 10px;border-bottom:1px solid #e5ebf4;white-space:nowrap}th{color:#647994}a{color:#075ec4}.login{max-width:440px;margin:80px auto}.login input{width:100%}.login button{width:100%;margin:20px 0}@media(max-width:650px){header span{display:none}.top{flex-wrap:wrap}.filters label,.filters input,.filters select{width:100%}.filters{display:block}.filters button{margin-top:15px}.cards{grid-template-columns:repeat(2,1fr)}section{padding:18px}}@media print{button,.button,.filters,header,.notice{display:none}section{break-inside:avoid;box-shadow:none}body{background:white}.scroll{overflow:visible}}

.donut{border:0}.donut b{display:grid;place-items:center;background:white;width:64px;height:64px;border-radius:50%}
/* Touch and small-screen refinements: no iOS focus zoom, accessible targets. */
nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px}nav a{padding:12px 10px;text-decoration:none;background:#fff;border:1px solid #dae6f5;border-radius:8px;min-height:44px}input,select,button,.button{font-size:16px;min-height:44px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e5a62f;outline-offset:3px}section,.top>*{min-width:0}input[type=file]{max-width:100%;width:100%}.scroll{max-width:100%;-webkit-overflow-scrolling:touch}small,.notice{overflow-wrap:anywhere}@media(max-width:650px){header{padding:20px 5%}header small{max-width:300px}main{margin-top:22px}.login{margin:28px auto}.login input{font-size:16px}.cards{gap:10px}.cards section{padding:15px}.filters select[multiple]{min-height:160px}.top form{max-width:100%}.top .button,.top>button{flex:1;text-align:center}h1{font-size:29px}nav{gap:6px}nav a{font-size:14px}section form>button{margin-top:12px}section input,section select{max-width:100%}.stat{font-size:14px}}@media(max-width:360px){.cards{grid-template-columns:1fr}}
