:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#17324b;background:#f4f8fb}*{box-sizing:border-box}body{margin:0}header{background:#123b5d;color:white;display:flex;align-items:center;justify-content:space-between;padding:16px max(20px,calc((100vw - 1050px)/2))}.brand{display:flex;align-items:center;gap:12px}.brand small{display:block;opacity:.75}.logo{background:#18b6c4;color:#fff;padding:12px;border-radius:12px;font-weight:900}main{max-width:1050px;margin:25px auto;padding:0 18px}nav{display:flex;gap:8px;overflow:auto;margin-bottom:20px}button{border:0;background:#123b5d;color:white;border-radius:10px;padding:12px 16px;font:inherit;cursor:pointer;white-space:nowrap}button:hover{opacity:.88}nav button{background:#e1edf2;color:#123b5d}nav button.active{background:#123b5d;color:white}.subtle{background:transparent;color:inherit}.secondary{background:#def2f4;color:#123b5d}.panel,.item{background:white;border:1px solid #dfe8ed;border-radius:15px;padding:20px;box-shadow:0 3px 10px #123b5d09}.heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}h1{font-size:25px;margin:0}h2{font-size:19px;margin:0 0 16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.stats small{display:block;color:#6b7c8c}.stats b{display:block;font-size:32px;margin-top:8px}.items{display:grid;gap:10px;margin-top:16px}.item{display:flex;justify-content:space-between;gap:12px;align-items:start}.item small{display:block;color:#6b7c8c;margin-top:5px}.item p{margin:8px 0;white-space:pre-wrap}.actions{display:flex;gap:6px;flex-wrap:wrap}label{display:block;font-weight:600;font-size:14px;margin:12px 0}input,textarea,select{display:block;width:100%;padding:12px;margin-top:5px;border:1px solid #cad7df;border-radius:9px;font:inherit;background:white;color:#17324b}textarea{min-height:90px}dialog{width:min(560px,95vw);border:0;border-radius:16px;padding:24px;max-height:90vh;overflow:auto}dialog::backdrop{background:#10283b99}.hint{font-size:13px;color:#617585}.form-actions{margin-top:20px}#status{color:#9d302e;min-height:20px}.empty{color:#72808d;padding:15px 0}.overdue{color:#a23c32;font-weight:700}@media(max-width:620px){.stats{grid-template-columns:repeat(3,1fr)}.stats .panel{padding:12px}.stats b{font-size:25px}.item{display:block}.actions{margin-top:12px}h1{font-size:21px}header{padding:12px 16px}}
