:root{--navy:#0F126F;--bg:#f4f5fa}*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:#141632}
.top{background:var(--navy);color:#fff;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 1rem}
.brand{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-weight:600}.brand img{height:34px;filter:brightness(0) invert(1)}
nav{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}nav a,.top .link{color:#fff;text-decoration:none;font-size:.95rem}
main{max-width:1100px;margin:auto;padding:1rem}footer{text-align:center;color:#666;font-size:.85rem;padding:2rem}
h1{color:var(--navy);font-size:1.6rem}h2{color:var(--navy);font-size:1.2rem;margin-top:1.6rem}
.card{background:#fff;border-radius:8px;padding:1rem 1.2rem;box-shadow:0 1px 3px #0002;margin:.6rem 0}.narrow{max-width:420px;margin:2rem auto}
label{display:block;margin:.5rem 0;font-weight:600;font-size:.9rem}input,select{display:block;width:100%;padding:.55rem;border:1px solid #9a9db8;border-radius:6px;font:inherit;margin-top:.2rem}
button{background:var(--navy);color:#fff;border:0;border-radius:6px;padding:.6rem 1rem;font:inherit;cursor:pointer;margin-top:.5rem}
button.link{background:none;padding:0;margin:0;text-decoration:underline;color:inherit}button.danger{background:#a11}.inline{display:inline}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 1rem;align-items:end}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem}.tile{background:#fff;border-radius:8px;padding:.8rem;box-shadow:0 1px 3px #0002;display:flex;flex-direction:column;gap:.3rem;text-decoration:none;color:inherit}
.big{font-size:2rem;color:var(--navy)}.tw{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff}th{background:var(--navy);color:#fff;text-align:left}th,td{padding:.5rem;border-bottom:1px solid #e3e4ee;font-size:.92rem}
.b{display:inline-block;padding:.1rem .5rem;border-radius:99px;font-size:.8rem;font-weight:600}.b-current{background:#d7f3df;color:#0b5a23}.b-due_30{background:#ffd9b3;color:#7a3a00}.b-due_60{background:#fff1b8;color:#665200}.b-expired{background:#f8d0d0;color:#8a0f0f}.b-missing{background:#e5e5ea;color:#333}.b-ovr{background:var(--navy);color:#fff}
.err{background:#f8d0d0;padding:.6rem;border-radius:6px}.warn,.banner{background:#fff1b8;padding:.6rem;border-radius:6px}.flash{background:#d7f3df;padding:.6rem;border-radius:6px}.muted{color:#666}
.list li.unread{font-weight:600}.sr{position:absolute;left:-9999px}summary{cursor:pointer}
fieldset{border:1px solid #c9cbe0;border-radius:6px;margin:.5rem 0}.chk{display:flex;gap:.4rem;align-items:center;font-weight:400}.chk input{width:auto;display:inline;margin:0}
.head-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.head-row h1{margin:.6rem 0}
button.sm{padding:.3rem .7rem;font-size:.85rem;margin:0}button.ghost{background:#fff;color:var(--navy);border:1px solid var(--navy)}
td.act{white-space:nowrap;text-align:right}td.act .inline{margin-left:.3rem}tr.arch td{color:#666}
dialog{border:0;border-radius:10px;padding:1.2rem 1.4rem;width:min(520px,94vw);box-shadow:0 10px 40px #0005}dialog::backdrop{background:#0F126F66}
dialog h2{margin-top:0}.dlg-btns{display:flex;justify-content:flex-end;gap:.5rem}
@media (max-width:600px){table.types th:nth-child(4),table.types td:nth-child(4){display:none}}
@media (max-width:600px){td.act{white-space:normal}td.act button,td.act .inline{display:block;width:100%;margin:.15rem 0 0}table.types th,table.types td{padding:.45rem .35rem}}
.techdates table{background:none}.techdates th{background:#eef0f8;color:var(--navy)}.techdates td,.techdates th{padding:.3rem;border:0}.techdates input{margin:0;padding:.35rem}
dialog{max-height:90vh;overflow:auto}
@media (max-width:600px){table.types th:nth-child(5),table.types td:nth-child(5){display:none}.techdates td:first-child{font-size:.85rem}}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.2rem 0 .4rem}.chip{background:#fff;border:1px solid var(--navy);color:var(--navy);border-radius:99px;padding:.25rem .8rem;font-size:.85rem;text-decoration:none}.chip:hover{background:var(--navy);color:#fff}
.type-sec{margin-top:1.4rem;scroll-margin-top:1rem}.type-head{display:flex;justify-content:space-between;align-items:flex-end;gap:.8rem;flex-wrap:wrap;margin-bottom:.4rem}
.type-head h2{margin:0}.meta{margin:.2rem 0 0;color:#555;font-size:.88rem}.type-head .act{display:flex;gap:.3rem}
.grid-t small.exp{display:block;color:#555;font-size:.75rem;margin-top:.15rem}.arch-list{margin-top:1.6rem}.arch-list li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem 0}.arch-list ul{padding:0;list-style:none}
@media (max-width:600px){.meta .earliest-wrap{display:none}}
