:root{--navy:#2b2a6b;--blue:#2b60a8;--sky:#4a8fe7;--pink:#ff2d6f;--teal:#44c4b0;--yellow:#e5a820;--bg:#f4f6f8;--card:#fff;--ink:#1f2937;--ink2:#55606e;--ink3:#646d7b;--line:#e3e7ed;--line2:#d5dbe3;--field:#848f9e;--soft:#edf4fd;--hover:#f7f9fb;--side-mut:#ffffffa8;--good:#3fa98a;--good-bg:#edf9f5;--good-fg:#276b57;--warn-bg:#fff6e5;--warn-fg:#8a6416;--bad:#d8544f;--bad-bg:#fdedec;--bad-fg:#b23b36;--mut-bg:#eef0f3;--shadow:0 1px 2px #2b2a6b0a, 0 2px 10px #2b2a6b0f;--f-ui:Nunito, "Segoe UI", system-ui, sans-serif;--f-mono:ui-monospace, Menlo, monospace}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:14.5px/1.5 var(--f-ui);margin:0}h1{color:var(--ink);margin:0 0 18px;font-size:26px;font-weight:900;line-height:1.15}h2{color:var(--ink);margin:28px 0 10px;font-size:17px;font-weight:900}a{color:var(--blue)}:focus-visible{outline:3px solid var(--sky);outline-offset:2px}.layout{min-height:100vh;display:flex}.side{background:var(--navy);color:#fff;flex-direction:column;flex:none;gap:14px;width:236px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0;overflow:hidden auto}.brand{align-items:center;gap:10px;padding:2px 10px 8px;text-decoration:none;display:flex}.brand img{width:auto;height:30px;display:block}.brand span{letter-spacing:.1em;text-transform:uppercase;color:var(--side-mut);border:1px solid #ffffff40;border-radius:6px;padding:1px 6px;font-size:10.5px;font-weight:800}.grp,.gi{flex-direction:column;gap:2px;display:flex}.gi[hidden]{display:none}.gl{cursor:pointer;width:100%;font:inherit;letter-spacing:.07em;white-space:nowrap;text-transform:uppercase;color:var(--side-mut);text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;padding:6px 10px 4px;font-size:11px;font-weight:800;display:flex}.gl:hover{color:#fff}.gl:focus-visible{outline-offset:1px;outline:2px solid #fff}.gl svg{flex:none;width:14px;height:14px;transition:transform .15s}.gl[aria-expanded=false] svg{transform:rotate(-90deg)}.nav{color:var(--side-mut);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;font-weight:700;text-decoration:none;display:flex}.nav svg{opacity:.9;flex:none}.nav:hover{color:#fff;background:#ffffff14}.nav[aria-current=page]{color:var(--navy);background:#fff}.dot{pointer-events:none;-webkit-user-select:none;user-select:none;align-self:center;width:120px;height:auto;margin-top:auto;padding-top:16px}.body{flex-direction:column;flex:1;min-width:0;display:flex}.top{background:var(--card);border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:12px;padding:12px 32px;display:flex;position:sticky;top:0}.crumb{min-width:0;color:var(--ink3);flex:1;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.crumb b{color:var(--ink)}.who{color:var(--ink2);align-items:center;gap:10px;font-size:13px;display:flex}.av{background:var(--soft);width:30px;height:30px;color:var(--blue);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:900;display:grid}.main{width:100%;min-width:0;max-width:1180px;padding:28px 32px 60px}.main>.row:first-child{margin-bottom:20px}.row>h1,.row>h2{margin:0}.center{background:radial-gradient(circle at 15% 10%, #4a8fe71f, transparent 40%), var(--bg);place-items:center;min-height:100vh;padding:16px;display:grid}.card.login{padding:0;overflow:hidden}.login .band{background:var(--navy);padding:22px 24px}.login .band img{height:30px;display:block}.login>.stack{padding:24px}.login h1{margin:0}.card{background:var(--card);box-shadow:var(--shadow);border-radius:18px;padding:20px}.card+.card{margin-top:16px}.card>h2:first-child{margin-top:0}.narrow{width:100%;max-width:400px}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.spacer{flex:1}.muted{color:var(--ink3)}.small{font-size:13px}.error{color:var(--bad-fg);background:var(--bad-bg);border-radius:12px;margin:0 0 12px;padding:10px 14px;font-weight:700}.ok{color:var(--good-fg);background:var(--good-bg);border-radius:12px;margin:0 0 12px;padding:10px 14px;font-weight:700}.stack>.error,.stack>.ok{margin:0}label{color:var(--ink2);flex-direction:column;gap:5px;font-size:13px;font-weight:800;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}label.check{color:var(--ink);flex-direction:row;align-items:center;gap:8px;font-size:14px;font-weight:700}input,select,textarea{font:inherit;color:var(--ink);border:1.5px solid var(--field);background:#fff;border-radius:12px;min-height:40px;padding:8px 12px;font-weight:400}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--blue)}input[type=file]{background:var(--hover);border-style:dashed}textarea{resize:vertical;min-height:90px}textarea.prompt{font-family:var(--f-mono);background:var(--hover);min-height:260px;font-size:13px}input:focus,select:focus,textarea:focus{outline:3px solid var(--sky);outline-offset:0;border-color:var(--blue)}a.btn{text-decoration:none}.btn{font:inherit;border:1.5px solid var(--line2);background:var(--card);min-height:40px;color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:14px;font-weight:800;display:inline-flex}.btn:hover{background:var(--hover)}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:var(--bad-fg)}.btn.danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}.card.danger-zone{border:1.5px solid var(--bad)}.card.danger-zone h2{color:var(--bad-fg)}.btn.sm{border-radius:10px;min-height:32px;padding:0 11px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.link{font:inherit;color:var(--blue);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-weight:700;text-decoration:none}.link:hover,td a:hover{text-decoration:underline}td a{font-weight:800;text-decoration:none}table{border-collapse:separate;border-spacing:0;background:var(--card);width:100%;box-shadow:var(--shadow);border-radius:16px;font-size:14px;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}th{color:var(--ink2);text-transform:uppercase;letter-spacing:.06em;background:var(--hover);white-space:nowrap;font-size:11.5px;font-weight:800}tbody tr:hover td{background:var(--hover)}tr:last-child td{border-bottom:0}.card table{box-shadow:none;border-radius:0}.scroll{border-radius:16px;overflow-x:auto}td img.thumb{object-fit:cover;border-radius:10px;width:44px;height:44px;display:block}.pill{background:var(--mut-bg);color:var(--ink2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:12px;font-weight:800;display:inline-flex}.pill:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:7px;height:7px}.pill.failed{background:var(--bad-bg);color:var(--bad-fg)}.pill.published{background:var(--good-bg);color:var(--good-fg)}.pill.draft,.pill.photo{background:var(--warn-bg);color:var(--warn-fg)}.pill.routine{background:var(--good-bg);color:var(--good-fg)}.pill.appointment{background:var(--soft);color:var(--blue)}.tabs{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.tabs button{font:inherit;font-family:var(--f-mono);text-transform:uppercase;border:1.5px solid var(--line2);background:var(--card);color:var(--ink2);cursor:pointer;border-radius:8px;padding:4px 10px;font-size:12px}.tabs button.on{background:var(--navy);border-color:var(--navy);color:#fff}.tabs button.empty{border-style:dashed}.item{border:1.5px solid var(--line);background:var(--hover);border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex}.preview{max-width:220px;box-shadow:var(--shadow);border-radius:14px;display:block}.answer ol{margin:4px 0 12px;padding-left:22px}.answer li{margin:2px 0}.days{flex-wrap:wrap;gap:4px;display:flex}.days button{font:inherit;border:1.5px solid var(--line2);background:var(--card);color:var(--ink2);cursor:pointer;border-radius:10px;padding:6px 10px;font-size:13px;font-weight:800}.days button.on{background:var(--navy);border-color:var(--navy);color:#fff}.board .grid2{align-items:stretch}.board{flex-direction:column;gap:16px;margin-top:20px;transition:opacity .2s;display:flex}.board.busy{opacity:.55}.board .card+.card{margin-top:0}.board h2.sec{letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin:18px 0 -4px;font-size:13px;font-weight:800}.board h3{margin:0 0 12px;font-size:15px;font-weight:900}.board .row>h3{margin:0}.board .row:has(>h3){margin-bottom:12px}.board .card>h2:first-child{margin:0 0 10px}.tiles>*,.grid2>*{min-width:0}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.tile{flex-direction:column;gap:6px;min-height:132px;display:flex;position:relative}.tile .tl{color:var(--ink2);font-size:13px;font-weight:800}.tile .tv{color:var(--navy);font-size:32px;font-weight:900;line-height:1.1}.tile .tv small{color:var(--ink3);font-size:14px;font-weight:700}.tile .spark{position:absolute;bottom:16px;right:16px}.delta{color:var(--ink3);font-size:12.5px;font-weight:800}.delta span{font-weight:600}.delta.up{color:var(--good-fg)}.delta.down{color:var(--bad-fg)}.meter{background:var(--soft);border-radius:99px;height:8px;margin:4px 0 2px;overflow:hidden}.meter span{background:var(--blue);border-radius:99px;height:100%;display:block}.meter.hi span{background:var(--yellow)}.meter.over span{background:var(--bad)}.alerts{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.alerts li{background:var(--hover);border-radius:12px;align-items:center;gap:12px;padding:10px 14px;font-weight:700;display:flex}.alerts .ai{color:#fff;background:var(--ink3);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;font-weight:900;display:grid}.alerts .at{flex:1}.alerts .t-good{background:var(--good-bg)}.alerts .t-good .ai{background:var(--good)}.alerts .t-warn{background:var(--warn-bg)}.alerts .t-warn .ai{background:var(--yellow)}.alerts .t-bad{background:var(--bad-bg)}.alerts .t-bad .ai{background:var(--bad)}.alerts .t-info{background:var(--soft)}.alerts .t-info .ai{background:var(--blue)}.chart{width:100%;position:relative}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .base{stroke:var(--line2);stroke-width:1px}.chart .cross{stroke:var(--ink3);stroke-width:1px}.chart .axis{fill:var(--ink3);font-variant-numeric:tabular-nums;font-size:11px}.chart rect:focus{outline:none}.chart rect:focus-visible{stroke:var(--sky);stroke-width:2px}.tip{pointer-events:none;background:var(--card);border:1px solid var(--line);width:170px;box-shadow:var(--shadow);z-index:2;border-radius:12px;padding:8px 10px;font-size:12.5px;position:absolute;top:-6px}.tip-t{color:var(--ink3);margin-bottom:4px;font-weight:700}.tip-r{align-items:center;gap:6px;display:flex}.tip-r i{border-radius:2px;flex:none;width:12px;height:3px}.tip-r b{font-variant-numeric:tabular-nums}.tip-r span{color:var(--ink2)}.legend{color:var(--ink2);flex-wrap:wrap;gap:14px;font-size:12.5px;font-weight:700;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend .key{border-radius:3px;width:10px;height:10px;display:inline-block}.legend .key.line{border-radius:2px;width:14px;height:3px}.legend .key.wash{background:var(--blue);opacity:.15;width:14px;height:10px}.segbar{gap:2px;height:28px;margin:4px 0 14px;display:flex}.seg{color:#fff;border-radius:4px;align-items:center;min-width:4px;padding-left:8px;font-size:12px;font-weight:800;transition:opacity .15s;display:flex}.seg.empty{background:var(--mut-bg);flex:1}.seglegend{gap:6px;display:grid}.seglegend div{border-radius:8px;align-items:center;gap:8px;padding:2px 6px;font-size:13.5px;display:flex}.seglegend div.on{background:var(--hover)}.seglegend i{border-radius:3px;flex:none;width:10px;height:10px}.seglegend span{color:var(--ink2);flex:1}.seglegend b{font-variant-numeric:tabular-nums}table.mini{border:1px solid var(--line);border-radius:12px;margin-top:16px;font-size:13px}table.mini th,table.mini td{padding:7px 10px}.rank{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.rank li{gap:4px;display:grid}.rn{justify-content:space-between;gap:8px;font-weight:700;display:flex}.rb{gap:2px;height:8px;display:flex}.rb span{background:var(--blue);border-radius:99px}.rb span.rest{background:var(--soft)}.rv{color:var(--ink2);align-items:center;gap:8px;font-size:12.5px;display:flex}.facts{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;padding-top:14px;display:grid}.facts div{flex-direction:column;display:flex}.facts b{color:var(--navy);font-size:22px;font-weight:900}.facts span{color:var(--ink2);font-size:12.5px}.facts.col{border-top:0;grid-template-columns:1fr;gap:14px;margin-top:0;padding-top:0}.people{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.people li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:6px 0;display:flex}.people li:last-child{border-bottom:0}.pn{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;display:flex}@media (max-width:1100px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.warn{color:var(--warn-fg);background:var(--warn-bg);border-radius:12px;margin:0;padding:8px 12px;font-weight:700}.rule{background:var(--warn-bg);color:var(--warn-fg);border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.rule.on{background:var(--good-bg);color:var(--good-fg)}.prov{border:1.5px solid var(--line);border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}.prov.off{opacity:.6}.prov code{font-family:var(--f-mono);background:var(--mut-bg);border-radius:6px;padding:1px 6px}.prov td input:not([type=checkbox]),.prov td select{min-height:32px;padding:4px 8px}.secret{-webkit-text-security:disc}label .small{font-weight:400}.grid2{align-items:start}.modal{z-index:20;background:#2b2a6b59;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stat{background:var(--bg);border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.stat b{font-size:22px;font-weight:900}.bar{background:var(--mut-bg);border-radius:9px;height:8px;margin-top:4px;overflow:hidden}.bar i{background:var(--teal);height:100%;display:block}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin:16px 0 12px;display:flex}.filters input[type=search]{flex:260px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips button{font:inherit;border:1.5px solid var(--line2);background:var(--card);color:var(--ink2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:700;display:inline-flex}.chips button:hover{background:var(--hover)}.chips button b{font-variant-numeric:tabular-nums;color:var(--ink)}.chips button.alert b{color:var(--bad-fg)}.chips button.on{background:var(--navy);border-color:var(--navy);color:#fff}.chips button.on b{color:#fff}td.slow{color:var(--bad-fg);font-weight:800}tr.sel td{background:var(--soft)}@media (max-width:900px){.tiles{grid-template-columns:1fr}.facts{grid-template-columns:1fr 1fr}.layout{flex-direction:column}.side{flex-direction:row;align-items:center;gap:4px;width:auto;height:auto;padding:10px 16px;position:static;overflow-x:auto}.brand{padding:0 8px 0 0}.brand span,.gl,.dot{display:none}.grp,.gi,.gi[hidden]{flex-direction:row;display:flex}.nav{white-space:nowrap}.top{padding:10px 16px}.who .mail{display:none}.main{padding:20px 16px 48px}.grid2,.stats{grid-template-columns:1fr}table{display:block;overflow-x:auto}td a{white-space:nowrap}}
