@font-face{font-family:Figtree;font-weight:400;src:url(/static/fonts/figtree-400.ttf) format('truetype');font-display:swap}@font-face{font-family:Figtree;font-weight:500;src:url(/static/fonts/figtree-500.ttf) format('truetype');font-display:swap}@font-face{font-family:Figtree;font-weight:600;src:url(/static/fonts/figtree-600.ttf) format('truetype');font-display:swap}@font-face{font-family:Figtree;font-weight:700;src:url(/static/fonts/figtree-700.ttf) format('truetype');font-display:swap}
:root{--p:#173973;--p2:#152848;--bg:#f8f8f7;--card:#fff;--t:#152848;--m:#5f6b80;--l:#e3e8f0;--pale:#eef4ff;--pale2:#d5e4ff;--ok:#2e7d32;--bad:#b3261e}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 Figtree,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--t)}
header{background:#f8f8f7;color:var(--p2);padding:.7rem 1.2rem;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;align-items:center;border-bottom:1px solid var(--l)}
header a{color:var(--p2);text-decoration:none;padding:.3rem .7rem;border-radius:999px;font-weight:500;font-size:.95rem}header a:hover{background:var(--pale)}header .brand img{height:34px;display:block}header .brand{margin-right:.8rem;padding:0}header .dbl{height:26px;display:block;margin-left:.4rem}
header form{margin-left:auto;color:var(--m);display:flex;gap:.6rem;align-items:center;font-size:.9rem}
main{max-width:1000px;margin:1rem auto;padding:0 1rem 3rem}
h1{font-size:1.9rem;font-weight:700;line-height:1.2;margin:.8rem 0 1.1rem;letter-spacing:-.01em}h2{font-size:1.2rem;font-weight:600;margin:1.2rem 0 .5rem}
.card{background:var(--card);border:1px solid var(--l);border-radius:16px;box-shadow:0 1px 3px rgba(21,40,72,.05);padding:1rem;margin-bottom:1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}
label{display:block;font-weight:600;margin:.7rem 0 .25rem}
input[type=text],input[type=password],select,textarea{width:100%;padding:.6rem;border:1px solid #c5d0e2;border-radius:12px;font:inherit;background:#fff}
textarea{min-height:5rem}
button,.btn{background:var(--p);color:#fff;border:0;border-radius:8px;padding:.6rem 1rem;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
button.sec,.btn.sec{background:transparent;color:var(--p);border:1px solid var(--p)}button:hover,.btn:hover{background:#0f2a5a}button.sec:hover,.btn.sec:hover{background:var(--pale)}button.danger{background:var(--bad)}button.small{padding:.3rem .6rem;font-size:.85rem}
table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:.45rem .5rem;border-bottom:1px solid var(--l);text-align:left;vertical-align:middle}
th{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--m)}.tw{overflow-x:auto}
.flash{background:#fff4d6;border:1px solid #e8cf85;padding:.6rem .8rem;border-radius:8px;margin-bottom:1rem}
.err{background:#fde7e5;border:1px solid #e9a8a3;padding:.6rem .8rem;border-radius:8px;margin-bottom:1rem}
.opt{display:flex;gap:.6rem;align-items:flex-start;padding:.55rem .6rem;border:1px solid var(--l);border-radius:8px;margin:.3rem 0;cursor:pointer;font-weight:400}
.opt input{margin-top:.25rem;width:1.15rem;height:1.15rem;flex:none}.opt b{min-width:1rem}
.opt:has(input:checked){border-color:var(--p);background:var(--pale)}
.muted{color:var(--m);font-size:.9rem}.inline{display:inline}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.row>*{flex:0 0 auto}.sc{display:inline-block;min-width:2rem;text-align:center;padding:.1rem .4rem;border-radius:6px;background:var(--pale);font-weight:600}
.chart{position:relative;width:100%;max-width:460px;margin:auto;aspect-ratio:1}
.login{max-width:400px;margin:8vh auto;padding:1.6rem}.logos{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem}.logos img.tp{height:40px}.logos img.dbl{height:28px}h1 b{font-weight:700}
@media(max-width:600px){main{padding:0 .6rem 3rem}.hide-s{display:none}}
.card>h2:first-child{margin-top:0}
.logos img,header img{width:auto;max-width:none;flex:none}.logos img.tp{height:36px}
main a{color:var(--p);text-decoration-color:var(--pale2);text-underline-offset:3px}main a:hover{text-decoration-color:var(--p)}main a.btn{color:#fff;text-decoration:none}main a.btn.sec{color:var(--p)}header{padding:.7rem 2rem}
header{padding:.6rem 1.2rem;gap:.4rem .5rem}header a{padding:.3rem .55rem}header .brand img{height:30px}header form{gap:.5rem}header .dbl{height:24px;margin-left:.6rem}
select{min-height:2.9rem;line-height:1.2}
