@font-face{font-family:"Outfit";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/outfit-latin-500.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/outfit-latin-600.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/outfit-latin-700.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-latin-400.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-sans-3-latin-600.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-sans-3-latin-700.woff2) format("woff2")}
:root{--navy:#0E1B3D;--ink:#1A2130;--muted:#5F6878;--faint:#8B93A3;--line:#E6E8EC;--bg:#fff;--soft:#F7F8FA;--lime:#93C741;
--red:#C0392B;--amber:#B7791F;--blue:#2B5FC4;--green:#2F8A4E;--slate:#5F6878;
--display:Outfit,"Source Sans 3",ui-sans-serif,system-ui,sans-serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.65 "Source Sans 3",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--navy);text-decoration:underline;text-decoration-color:#B9C0CC;text-underline-offset:2px}a:hover{text-decoration-color:var(--navy)}
h1,h2,h3,label,.btn,.brand span{font-family:var(--display)}
.t-red{--tone:var(--red)}.t-amber{--tone:var(--amber)}.t-blue{--tone:var(--blue)}.t-green{--tone:var(--green)}.t-slate{--tone:var(--slate)}
.top{background:var(--navy);color:#fff}
.top-in{max-width:820px;margin:0 auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand img{height:26px;width:auto;display:block}
.brand span{font-size:15px;font-weight:500;color:#C5CDDC;padding-left:12px;border-left:1px solid #34446A;line-height:1.2}
.top a.ext,.top .live{font-size:14px;color:#C5CDDC;text-decoration:none}.top a.ext:hover{color:#fff}
main{max-width:820px;margin:0 auto;padding:56px 28px 24px}
.ind{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--tone)}
.ind:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--tone)}
.status h1{margin:10px 0 10px;font-size:34px;line-height:1.2;font-weight:600;letter-spacing:-.015em;color:var(--navy)}
.status .sub{margin:0;color:var(--muted);font-size:15px}
.comp{margin-top:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0}
.comp b{font-weight:600}.comp .ind{font-size:15px}
h2.sec{font-size:20px;font-weight:600;color:var(--navy);margin:56px 0 4px}
.tl{list-style:none;margin:0;padding:0}
.tl li{display:grid;grid-template-columns:170px 1fr;gap:28px;padding:28px 0;border-bottom:1px solid var(--line)}
.tl li:last-child{border-bottom:0}
.when time{display:block;font-size:15px;font-weight:600;color:var(--ink)}
.when .date{display:block;font-size:14px;color:var(--muted)}
.when .ago{display:block;font-size:13px;color:var(--faint);margin-top:2px}
.state{display:block;font-family:var(--display);font-size:15px;font-weight:600;color:var(--tone);margin-bottom:6px}
.upd h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--navy)}
.upd .body p{margin:0 0 14px}.upd .body p:last-child{margin-bottom:0}.upd .body a{word-break:break-word}
.upd .edited{font-size:13px;color:var(--faint);margin-top:12px}
.new{animation:flash 2.4s ease-out}@keyframes flash{0%{background:#F3F8EA}100%{background:transparent}}
footer{max-width:820px;margin:32px auto 0;padding:20px 28px 40px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px}
footer a{color:var(--muted)}
.empty,.err{padding:24px 0;color:var(--muted)}.err{color:var(--red)}
.skel{height:14px;border-radius:4px;background:#F0F2F5;margin:10px 0}
@media (max-width:640px){.top-in{padding:14px 18px}.brand img{height:22px}.brand span{font-size:14px}.top a.ext{display:none}
main{padding:36px 18px 16px}.status h1{font-size:26px}.tl li{grid-template-columns:1fr;gap:8px;padding:22px 0}
.when time,.when .date,.when .ago{display:inline;margin:0}.when .date:after{content:" · "}.when .ago:before{content:" · "}
footer{padding:18px 18px 32px}.comp{flex-wrap:wrap}h2.sec{margin-top:44px}}
@media (prefers-reduced-motion:reduce){.new{animation:none}}
/* admin */
.panel{padding:32px 0;border-bottom:1px solid var(--line)}.panel:first-child{padding-top:0}
.panel h2{margin:0 0 4px;font-size:21px;font-weight:600;color:var(--navy)}.panel p.hint{margin:0 0 8px;color:var(--muted);font-size:15px}
label{display:block;font-size:14px;font-weight:500;color:var(--ink);margin:16px 0 6px}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);padding:10px 12px;border:1px solid #D3D8E0;border-radius:6px;background:#fff}
textarea{min-height:200px;resize:vertical;line-height:1.6}
input:focus,select:focus,textarea:focus{outline:2px solid var(--navy);outline-offset:-1px;border-color:var(--navy)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:640px){.row{grid-template-columns:1fr}}
.btn{display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:500;padding:9px 16px;border-radius:6px;border:1px solid transparent;cursor:pointer}
.btn.primary{background:var(--navy);color:#fff}.btn.primary:hover{background:#1A2B57}
.btn.ghost{background:#fff;border-color:#D3D8E0;color:var(--ink)}.btn.ghost:hover{border-color:#AEB6C3}
.btn.danger{background:#fff;border-color:#E5C7C3;color:var(--red)}
.btn[disabled]{opacity:.55;cursor:wait}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;align-items:center}
.msg{font-size:14px}.msg.ok{color:var(--green)}.msg.bad{color:var(--red)}
.login{max-width:400px}
.adm-list .tl li{grid-template-columns:150px 1fr}
.tools{display:flex;gap:8px;margin-top:14px}
.hidden{display:none!important}

.lu-wrap{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.refresh{font:500 13px/1 var(--display);color:var(--navy);background:#fff;border:1px solid #D3D8E0;border-radius:6px;padding:6px 11px;cursor:pointer}
.refresh:hover{border-color:#AEB6C3}.refresh[disabled]{opacity:.5;cursor:wait}
.note{font-size:13px;color:var(--faint);flex-basis:100%}.note:empty{display:none}
