@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/001175b11e.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/98bbbccbdb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/001175b11e.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/98bbbccbdb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/001175b11e.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/98bbbccbdb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/001175b11e.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/98bbbccbdb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/44745446c8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/013b2f2f44.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/44745446c8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/013b2f2f44.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:75% 100%;font-display:swap;src:url(/fonts/0e94fc4f30.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:75% 100%;font-display:swap;src:url(/fonts/898dc723a5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/dee9d996ce.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/65222ea42d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fbfaf7;--bg-2:#f4f2ed;--card:#fff;--card-2:#f6f4ef;--line:#0b0b0c14;--line-2:#0b0b0c29;--fg:#0b0b0c;--fg-2:#3a3b40;--muted:#6e7079;--cobalt:#1e3fae;--cobalt-2:#1733a0;--cobalt-dim:#1e3fae1a;--cobalt-line:#1e3fae59;--sun:#f4c430;--sun-dim:#f4c43038;--sun-ink:#6a5000;--ok:#1e3fae;--warn:#e0a800;--bad:#d63a4a;--bad-dim:#d63a4a1f;--idle:#b8b6ae;--r:18px;--r-s:12px;--nav-h:64px;--f:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--m:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease:cubic-bezier(.2, .8, .2, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--shadow:0 1px 2px #0b0b0c0a, 0 6px 20px #0b0b0c0f;--shadow-2:0 2px 4px #0b0b0c0d, 0 16px 40px #0b0b0c1a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{background:var(--bg);-webkit-text-size-adjust:100%}body{font:400 15px/1.5 var(--f);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain;min-height:100dvh;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}a{color:var(--cobalt);text-decoration:none}h1,h2,h3{letter-spacing:-.025em;margin:0;font-weight:500}h1{font-size:26px;line-height:1.15}h2{font-size:17px}h3{font-size:15px}p{margin:0}.num{font-family:var(--m);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--m);letter-spacing:.02em;font-size:12px}::selection{background:var(--sun-dim)}.shell{grid-template-rows:1fr auto;min-height:100dvh;display:grid}.main{padding:max(16px, env(safe-area-inset-top)) 16px calc(var(--nav-h) + 24px + env(safe-area-inset-bottom));width:100%;max-width:1100px;margin:0 auto}.nav{z-index:20;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(18px)saturate(1.3);border-top:1px solid var(--line);background:#fbfaf7e0;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.nav a{color:var(--muted);letter-spacing:.01em;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:500;transition:color .2s;display:flex;position:relative}.nav a svg{width:24px;height:24px;transition:transform .25s var(--spring)}.nav a:active svg{transform:scale(.9)}.nav a[aria-current=page]{color:var(--cobalt)}.nav a[aria-current=page]:before{content:"";background:var(--cobalt);width:28px;height:3px;animation:tab .3s var(--spring);border-radius:0 0 3px 3px;position:absolute;top:0}@keyframes tab{0%{transform:scaleX(0)}}.nav a .badge{position:absolute;top:6px;left:calc(50% + 4px)}.badge{background:var(--sun);min-width:18px;height:18px;color:var(--fg);font:600 11px/1 var(--m);animation:pop .35s var(--spring);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.badge.bad{background:var(--bad);color:#fff}@keyframes pop{0%{opacity:0;transform:scale(.4)}}.nav .brand{display:none}@media (width>=900px){.shell{grid-template-rows:1fr;grid-template-columns:232px 1fr}.main{grid-area:1/2;padding:32px 36px 56px}.nav{border-top:0;border-right:1px solid var(--line);background:var(--bg-2);-webkit-backdrop-filter:none;backdrop-filter:none;grid-area:1/1;grid-auto-flow:row;align-content:start;gap:2px;height:100dvh;padding:22px 14px;position:sticky;top:0}.nav .brand{color:var(--fg);align-items:center;gap:10px;padding:6px 12px 20px;font-size:15px;font-weight:500;display:flex}.nav a{border-radius:var(--r-s);flex-direction:row;justify-content:flex-start;gap:12px;padding:11px 14px;font-size:14px}.nav a:hover{color:var(--fg);background:#0b0b0c0a}.nav a[aria-current=page]{background:var(--cobalt-dim)}.nav a[aria-current=page]:before{display:none}.nav a .badge{margin-left:auto;position:static}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:18px}.card+.card{margin-top:12px}.grid{gap:12px;display:grid}@media (width>=640px){.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}}.row{align-items:center;gap:12px;display:flex}.row.between{justify-content:space-between}.stack{gap:10px;display:grid}.head{justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 12px;display:flex}.page-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:6px 0 20px;display:flex}.page-title>.row{min-width:0}.page-title h1{overflow-wrap:anywhere}.page-title .sub{color:var(--muted);margin-top:3px;font-size:13px}.btn{border:1px solid var(--line-2);background:var(--card);height:42px;color:var(--fg);box-shadow:var(--shadow);transition:background .2s, border-color .2s, transform .18s var(--spring), box-shadow .2s, opacity .2s;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:500;display:inline-flex}.btn:hover{background:var(--card-2)}.btn:active{box-shadow:none;transform:scale(.96)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--cobalt);color:#fff;border-color:#0000;box-shadow:0 6px 18px #1e3fae47}.btn.primary:hover{background:var(--cobalt-2)}.btn.sun{background:var(--sun);color:var(--fg);border-color:#0000}.btn.danger{color:var(--bad);border-color:#d63a4a59}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.small{height:34px;padding:0 13px;font-size:13px}.btn.block{width:100%}.btn svg{width:18px;height:18px}.input{border-radius:var(--r-s);border:1px solid var(--line-2);background:var(--card);width:100%;height:50px;color:var(--fg);outline:none;padding:0 16px;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--cobalt);box-shadow:0 0 0 4px var(--cobalt-dim)}.input.code{font:500 30px/1 var(--m);letter-spacing:.4em;text-align:center;height:64px}label.lab{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:500;display:block}.err{color:var(--bad);font-size:13px}.seg{background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex}.seg button{height:30px;color:var(--muted);transition:background .2s, color .2s, transform .18s var(--spring);background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:13px;font-weight:500}.seg button[aria-pressed=true]{background:var(--card);color:var(--fg);box-shadow:var(--shadow)}.seg button:active{transform:scale(.95)}.dot{background:var(--idle);border-radius:50%;flex:none;width:10px;height:10px;transition:background .3s,box-shadow .3s;display:inline-block;box-shadow:0 0 0 3px #0000}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--cobalt-dim)}.dot.degraded{background:var(--sun);box-shadow:0 0 0 3px var(--sun-dim)}.dot.down{background:var(--bad);box-shadow:0 0 0 3px var(--bad-dim);animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 8px #d63a4a0f}}.pill{background:var(--bg-2);height:26px;color:var(--fg-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.pill.ok{background:var(--cobalt-dim);color:var(--cobalt)}.pill.degraded{background:var(--sun-dim);color:var(--sun-ink)}.pill.down{background:var(--bad-dim);color:var(--bad)}.pill.unknown{color:var(--muted)}.site{background:var(--card);border:1px solid var(--line);border-radius:var(--r);color:inherit;box-shadow:var(--shadow);transition:transform .22s var(--spring), box-shadow .25s, border-color .2s;gap:14px;padding:18px;display:grid;position:relative;overflow:hidden}.site:after{content:"";background:var(--cobalt);opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.site:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}.site:active{box-shadow:var(--shadow);transform:scale(.985)}.site:active:after{opacity:.04}.site .top{align-items:center;gap:10px;display:flex}.site .top h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.site .facts{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.fact{gap:3px;display:grid}.fact b{font:500 20px/1.1 var(--m);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.fact span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px}.fact.warn b{color:var(--sun-ink)}.fact.bad b{color:var(--bad)}.spark{width:100%;height:40px;display:block}.targets{display:grid}.target{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 0;font-size:14px;display:grid}.target:first-child{border-top:0}.target .ms{font-family:var(--m);color:var(--fg-2);font-variant-numeric:tabular-nums;font-size:13px}.target .ms.bad{color:var(--bad)}.target small{color:var(--muted);font-size:12px;display:block}.stagger>*{animation:rise .45s var(--ease) backwards}.stagger>:nth-child(2){animation-delay:60ms}.stagger>:nth-child(3){animation-delay:.12s}.stagger>:nth-child(4){animation-delay:.18s}.stagger>:nth-child(5){animation-delay:.24s}.stagger>:nth-child(n+6){animation-delay:.3s}.need{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--sun);border-radius:var(--r-s);color:inherit;box-shadow:var(--shadow);transition:transform .18s var(--spring), box-shadow .2s;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.need:hover{box-shadow:var(--shadow-2)}.need:active{transform:scale(.985)}.need.down,.need.tls{border-left-color:var(--bad)}.need .site-name{color:var(--muted);font-size:12px}.need .count{font:500 22px/1 var(--m);color:var(--sun-ink);text-align:center;min-width:30px}.need.down .count,.need.tls .count{color:var(--bad)}.need .arrow{color:var(--muted);transition:transform .2s var(--spring)}.need:hover .arrow{color:var(--cobalt);transform:translate(3px)}.all-clear{text-align:center;color:var(--muted);place-items:center;gap:10px;padding:44px 16px;display:grid}.all-clear .ring{background:var(--cobalt-dim);width:56px;height:56px;color:var(--cobalt);animation:pop .5s var(--spring);border-radius:50%;place-items:center;display:grid}.all-clear .ring svg{width:26px;height:26px}.counts{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (width>=640px){.counts{grid-template-columns:repeat(3,1fr)}}.count{background:var(--card);border:1px solid var(--line);border-radius:var(--r-s);color:inherit;box-shadow:var(--shadow);transition:transform .18s var(--spring), box-shadow .2s;gap:4px;padding:14px;display:grid}.count b{font:500 24px/1.1 var(--m);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.count span{color:var(--muted);font-size:12px}.count.attention{background:var(--sun-dim);border-color:#0000}.count.attention b{color:var(--sun-ink)}a.count:hover{box-shadow:var(--shadow-2)}a.count:active{transform:scale(.97)}.meter{gap:6px;display:grid}.meter .bar{background:var(--bg-2);border-radius:4px;height:8px;overflow:hidden}.meter .bar i{background:var(--cobalt);height:100%;transition:width .9s var(--ease);border-radius:4px;display:block}.meter .bar i.warn{background:var(--sun)}.meter .bar i.bad{background:var(--bad)}.meter .lab{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.meter .lab b{color:var(--fg-2);font-family:var(--m);font-weight:500}.days{grid-template-columns:repeat(30,1fr);gap:3px;display:grid}.days i{background:var(--bg-2);transform-origin:bottom;height:30px;animation:grow .5s var(--ease) both;border-radius:4px;display:block}.days i.ok{background:var(--cobalt);opacity:.85}.days i.warn{background:var(--sun)}.days i.bad{background:var(--bad)}@keyframes grow{0%{transform:scaleY(0)}}.chart{width:100%;height:150px;display:block}.chart .line{stroke-dasharray:1200;stroke-dashoffset:1200px;animation:draw 1.4s var(--ease) forwards}@keyframes draw{to{stroke-dashoffset:0}}.list{display:grid}.list>*{border-top:1px solid var(--line);padding:12px 0}.list>:first-child{border-top:0;padding-top:0}.list>:last-child{padding-bottom:0}.kv{grid-template-columns:1fr auto;gap:8px;font-size:14px;display:grid}.kv span{color:var(--muted);text-align:right;overflow-wrap:anywhere;max-width:60%}.gate{background:radial-gradient(80% 50% at 50% 0%, var(--cobalt-dim), transparent 70%), var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.gate .box{background:var(--card);border:1px solid var(--line);width:100%;max-width:400px;box-shadow:var(--shadow-2);border-radius:24px;gap:16px;padding:28px 24px;display:grid}.gate .logo{color:var(--cobalt);align-items:center;gap:12px;margin-bottom:4px;display:flex}.gate .logo b{color:var(--fg);font-size:18px;font-weight:500}.gate p{color:var(--fg-2);font-size:14px}.toast{left:50%;bottom:calc(var(--nav-h) + 16px + env(safe-area-inset-bottom));z-index:30;background:var(--fg);color:#fff;box-shadow:var(--shadow-2);animation:rise .3s var(--spring);border-radius:999px;max-width:calc(100vw - 32px);padding:11px 18px;font-size:14px;position:fixed;transform:translate(-50%)}.toast.bad{background:var(--bad)}@media (width>=900px){.toast{bottom:24px}}.enter{animation:rise .4s var(--ease) backwards}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.toast.enter{animation:rise .3s var(--spring)}.skel{background:linear-gradient(90deg, var(--bg-2) 25%, var(--card) 50%, var(--bg-2) 75%);border-radius:var(--r-s);background-size:200% 100%;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.empty{text-align:center;color:var(--muted);padding:24px}.spin{border:2px solid var(--line-2);border-top-color:var(--cobalt);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ptr{height:0;color:var(--muted);place-items:center;font-size:13px;transition:height .2s;display:grid;overflow:hidden}.ptr.on{height:44px}.hero{border-radius:var(--r);color:#fff;background:linear-gradient(135deg, var(--cobalt) 0%, #2a55d8 100%);gap:6px;margin-bottom:20px;padding:22px 20px;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 36px #1e3fae40}.hero.warn{background:linear-gradient(135deg, #e0a800 0%, var(--sun) 100%);color:var(--fg);box-shadow:0 14px 36px #f4c4304d}.hero.bad{background:linear-gradient(135deg, #b52a3a 0%, var(--bad) 100%);box-shadow:0 14px 36px #d63a4a4d}.hero h1{font-size:28px}.hero .sub{opacity:.85;font-size:13px}.hero .btn{height:36px;color:inherit;box-shadow:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border-color:#ffffff59;justify-self:start;margin-top:8px}.hero.warn .btn{background:#0b0b0c14;border-color:#0b0b0c33}.hero .btn:hover{background:#ffffff47}@media (width>=640px){.hero .btn{margin:0;position:absolute;top:16px;right:16px}}.hero:before{content:"";background:#ffffff14;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-70px;right:-40px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.manage{gap:10px;display:grid}.sec-row{background:var(--card);border:1px solid var(--line);border-radius:var(--r-s);color:inherit;box-shadow:var(--shadow);transition:transform .18s var(--spring), box-shadow .2s;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.sec-row:hover{box-shadow:var(--shadow-2)}.sec-row:active{transform:scale(.985)}.sec-row .ic{background:var(--cobalt-dim);width:40px;height:40px;color:var(--cobalt);border-radius:12px;place-items:center;display:grid}.sec-row .ic svg{width:20px;height:20px}.sec-row small{color:var(--muted);font-size:12px;display:block}.sec-row .arrow{color:var(--muted)}.toolbar{gap:10px;margin-bottom:14px;display:grid}.chips{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border:1px solid var(--line-2);background:var(--card);height:32px;color:var(--fg-2);transition:background .15s, color .15s, transform .15s var(--spring);border-radius:999px;flex:none;padding:0 12px;font-size:13px;font-weight:500}.chip[aria-pressed=true]{background:var(--fg);color:#fff;border-color:var(--fg)}.chip:active{transform:scale(.95)}.rows{gap:8px;display:grid}.rowc{background:var(--card);border:1px solid var(--line);border-radius:var(--r-s);color:inherit;text-align:left;box-shadow:var(--shadow);transition:transform .18s var(--spring), box-shadow .2s;gap:6px;width:100%;padding:12px 14px;display:grid}a.rowc:hover,button.rowc:hover{box-shadow:var(--shadow-2)}a.rowc:active,button.rowc:active{transform:scale(.985)}.rowc .t{justify-content:space-between;align-items:center;gap:10px;font-weight:500;display:flex}.rowc .t span:last-child{flex:none}.rowc .m{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.rowc .m b{color:var(--fg-2);font-weight:500}.pager{color:var(--muted);justify-content:center;align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.status-tag{background:var(--bg-2);height:22px;color:var(--fg-2);text-transform:capitalize;border-radius:999px;align-items:center;padding:0 8px;font-size:12px;font-weight:500;display:inline-flex}.status-tag.good{background:var(--cobalt-dim);color:var(--cobalt)}.status-tag.warn{background:var(--sun-dim);color:var(--sun-ink)}.status-tag.bad{background:var(--bad-dim);color:var(--bad)}.fields{display:grid}.fields>div{border-top:1px solid var(--line);grid-template-columns:1fr 1.4fr;gap:10px;padding:10px 0;font-size:14px;display:grid}.fields>div:first-child{border-top:0;padding-top:0}.fields>div>span:first-child{color:var(--muted)}.fields>div>span:last-child{word-break:break-word}.note{background:var(--bg-2);border-radius:var(--r-s);white-space:pre-wrap;padding:12px 14px;font-size:14px}.toggles{display:grid}.toggle{border-top:1px solid var(--line);text-align:left;background:0 0;border-bottom:0;border-left:0;border-right:0;grid-template-columns:26px 1fr;align-items:start;gap:12px;width:100%;padding:10px 0;display:grid}.toggle:first-child{border-top:0}.toggle i{border:1.5px solid var(--line-2);color:#fff;width:24px;height:24px;transition:background .15s, border-color .15s, transform .15s var(--spring);border-radius:8px;place-items:center;display:grid}.toggle i svg{opacity:0;width:14px;height:14px;transition:opacity .15s}.toggle.on i{background:var(--cobalt);border-color:var(--cobalt)}.toggle.on i svg{opacity:1}.toggle:active i{transform:scale(.9)}.toggle small{color:var(--muted);font-size:12px;display:block}.toggle.on .lab{color:var(--muted);text-decoration:line-through}.actions{flex-wrap:wrap;gap:8px;display:flex}.sheet-bg{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b0b0c59;animation:.2s fade;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{z-index:41;background:var(--card);max-height:88dvh;padding:18px 18px calc(18px + env(safe-area-inset-bottom));animation:up .32s var(--spring);border-radius:24px 24px 0 0;position:fixed;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -12px 40px #0b0b0c2e}@keyframes up{0%{opacity:0;transform:translateY(40px)}}@media (width>=640px){.sheet{width:480px;animation:pop .3s var(--spring);border-radius:24px;bottom:50%;left:50%;right:auto;transform:translate(-50%,50%)}}.sheet .grab{background:var(--line-2);border-radius:2px;width:40px;height:4px;margin:0 auto 14px}@media (width>=640px){.sheet .grab{display:none}}.sheet h2{margin-bottom:4px}.sheet .form{gap:12px;margin:14px 0;display:grid}.sheet textarea.input{resize:vertical;height:auto;min-height:96px;padding:12px 14px}.sheet select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;background-repeat:no-repeat;background-size:5px 5px}.sheet .confirm{border-radius:var(--r-s);background:var(--bad-dim);color:var(--bad);padding:12px 14px;font-size:14px}.sheet .btns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.empty-list{text-align:center;color:var(--muted);padding:36px 16px}.breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;display:flex}.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--cobalt)}.sheet .btns.one{grid-template-columns:1fr;margin-top:14px}.job-head{align-items:center;gap:12px;display:flex}.job-state{background:var(--cobalt-dim);width:40px;height:40px;color:var(--cobalt);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.job-state svg{width:20px;height:20px}.job-state.done{background:var(--cobalt);color:#fff;animation:pop .35s var(--spring)}.job-state.failed{background:var(--bad-dim);color:var(--bad)}.job-msg{border-radius:var(--r-s);background:var(--cobalt-dim);color:var(--cobalt);margin-top:12px;padding:12px 14px;font-size:14px}.job-msg.failed{background:var(--bad-dim);color:var(--bad)}.job-note{border-radius:var(--r-s);background:var(--sun-dim);color:var(--fg-2);margin-top:12px;padding:10px 14px;font-size:13px}.job-log{border-radius:var(--r-s);background:var(--bg-2);border:1px solid var(--line);height:220px;font:12px/1.55 var(--m);color:var(--fg-2);white-space:pre-wrap;word-break:break-word;margin:12px 0 0;padding:12px;overflow:auto}.act-badge{min-width:16px;height:16px;margin-left:6px;font-size:10px}.timeline{gap:10px;display:grid;position:relative}.inc{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--r-s);width:100%;box-shadow:var(--shadow);color:inherit;transition:transform .18s var(--spring), box-shadow .2s;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:14px 16px;display:grid}.inc:hover{box-shadow:var(--shadow-2)}.inc:active{transform:scale(.985)}.inc-dot{background:var(--cobalt);width:12px;height:12px;box-shadow:0 0 0 4px var(--cobalt-dim);border-radius:50%;margin-top:6px}.inc.critical .inc-dot{background:var(--bad);box-shadow:0 0 0 4px var(--bad-dim);animation:1.6s ease-in-out infinite pulse}.inc.warning .inc-dot,.inc.info .inc-dot{background:var(--sun);box-shadow:0 0 0 4px var(--sun-dim)}.inc.closed{box-shadow:none;background:0 0}.inc.closed .inc-dot{background:var(--idle);box-shadow:none}.inc.critical{border-left:4px solid var(--bad)}.inc.warning,.inc.info{border-left:4px solid var(--sun)}.inc-body{gap:4px;min-width:0;display:grid}.inc-body b{overflow-wrap:anywhere;font-weight:500}.inc-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inc-detail{overflow-wrap:anywhere}.inc .arrow{color:var(--muted);transition:transform .2s var(--spring);margin-top:4px}.inc:hover .arrow{color:var(--cobalt);transform:translate(3px)}.err-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-s);box-shadow:var(--shadow);gap:8px;padding:14px 16px;display:grid}.err-card.lvl-error,.err-card.lvl-critical{border-left:4px solid var(--bad)}.err-card.lvl-warning,.err-card.lvl-info{border-left:4px solid var(--sun)}.err-top{align-items:center;gap:8px;display:flex}.err-count{font:500 18px/1 var(--m);color:var(--fg-2);margin-left:auto}.err-msg{overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.err-where{overflow-wrap:anywhere}.notif-device{border-radius:var(--r-s);background:var(--bg-2);grid-template-columns:1fr auto;align-items:center;gap:14px;margin-bottom:12px;padding:14px;display:grid}.notif-device b{font-weight:500}.notif-device p{margin-top:2px}.kinds{border-top:1px solid var(--line);display:grid}.kinds-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 56px 56px;align-items:center;gap:8px;padding:10px 0;font-size:14px;display:grid}.kinds-row>span:not(:first-child){justify-self:center}.kinds-head{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding:8px 0;font-size:11px}.switch{background:var(--line-2);border:0;border-radius:13px;flex:none;width:44px;height:26px;padding:0;transition:background .2s;position:relative}.switch i{width:20px;height:20px;transition:transform .25s var(--spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0b0b0c40}.switch.on{background:var(--cobalt)}.switch.on i{transform:translate(18px)}.switch:active i{width:24px}.quiet{margin-top:14px}.quiet b{font-weight:500}.quiet-time{color:var(--muted);flex:1;gap:4px;font-size:12px;display:grid}.quiet-time .input{height:42px}.ikey{gap:8px;display:grid}.ikey-show{border-radius:var(--r-s);background:var(--sun-dim);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:10px;display:grid}.ikey-show code{overflow-wrap:anywhere;font-size:12px}.lab-s{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid>.full{grid-column:1/-1}.form-grid textarea.input,.inv-edit textarea.input,.card textarea.input{resize:vertical;height:auto;min-height:84px;padding:12px 14px}.form-grid select.input{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px) 22px,calc(100% - 15px) 22px;background-repeat:no-repeat;background-size:5px 5px}.form-grid .hint{margin-top:4px}@media (width<=520px){.form-grid{grid-template-columns:1fr}}.money-hero{border-radius:var(--r);background:var(--cobalt);color:#fff;box-shadow:var(--shadow);grid-template-columns:1.4fr 1fr;gap:14px;margin-bottom:14px;padding:20px;display:grid}.money-hero .lab-s{color:#ffffffb8}.mh-main b{font:500 34px/1.1 var(--m);letter-spacing:-.02em;margin:6px 0 8px;display:block}.mh-change{background:#ffffff24;border-radius:999px;padding:3px 9px;font-size:12px;display:inline-block}.mh-change.up{background:var(--sun);color:var(--fg)}.mh-side{border-left:1px solid #ffffff2e;align-content:center;gap:12px;padding-left:14px;display:grid}.mh-side b{font:500 18px/1.2 var(--m);margin-top:3px;display:block}@media (width<=420px){.money-hero{grid-template-columns:1fr}.mh-side{border-top:1px solid #ffffff2e;border-left:0;grid-template-columns:1fr 1fr;padding-top:12px;padding-left:0}}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.legend i,.chart-sel i,.pay-dot{vertical-align:0;border-radius:3px;width:9px;height:9px;margin-right:5px;display:inline-block}.chart-wrap{gap:10px;display:grid}.mchart{width:100%;height:auto;display:block;overflow:visible}.mbar{transform-box:fill-box;transform-origin:bottom;animation:grow .6s var(--spring) both}@media (prefers-reduced-motion:reduce){.mbar{animation:none}}.chart-sel{border-radius:var(--r-s);background:var(--bg-2);flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:10px 12px;font-size:13px;display:flex}.chart-sel .num{font:500 15px/1 var(--m)}.chart-sel small{color:var(--muted);font-family:var(--m)}.pay-list{display:grid}.pay{border-top:1px solid var(--line);color:inherit;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 2px;display:grid}.pay:first-child{border-top:0}.pay-dot{border-radius:50%;width:8px;height:8px;margin:0}.pay-mid{min-width:0;display:grid}.pay-mid b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.pay-mid small,.pay-amt small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pay-amt{text-align:right;display:grid}.pay-amt b{font:500 14px/1.3 var(--m)}a.pay:active{background:var(--bg-2)}.inv-sum{border-radius:var(--r);background:var(--card);border:1px solid var(--line);border-left:4px solid var(--idle);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;padding:18px;display:flex}.inv-sum.sent{border-left-color:var(--sun)}.inv-sum.paid{border-left-color:var(--cobalt)}.inv-sum.overdue{border-left-color:var(--bad)}.inv-sum.cancelled{opacity:.7}.inv-sum b{font:500 30px/1.1 var(--m);margin-top:4px;display:block}.inv-dates{gap:16px;font-size:14px;display:flex}.inv-dates span{display:grid}.inv-dates small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.inv-lines{display:grid}.inv-line{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.inv-line:first-child{border-top:0;padding-top:0}.inv-line>span:first-child{min-width:0;display:grid}.inv-line b{overflow-wrap:anywhere;font-weight:500}.inv-line small{color:var(--muted);font-family:var(--m);font-size:12px}.inv-totals{border-top:1px dashed var(--line-2);gap:8px;margin-top:14px;padding-top:12px;font-size:14px;display:grid}.inv-totals>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.inv-totals>div>span{color:var(--fg-2);align-items:center;gap:8px;display:flex}.inv-totals b{font:500 14px/1 var(--m)}.inv-totals .grand{border-top:1px solid var(--line);padding-top:8px}.inv-totals .grand span{color:var(--fg);font-weight:600}.inv-totals .grand b{font-size:18px}.tax-in{width:80px;height:36px;padding:0 10px}.lines{gap:12px;display:grid}.line{border-radius:var(--r-s);background:var(--bg-2);gap:8px;padding:12px;display:grid}.line .input{height:44px}.line-nums{grid-template-columns:70px 1fr auto auto;align-items:end;gap:8px;display:grid}.line-nums label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;gap:4px;font-size:11px;display:grid}.line-amt{font:500 14px/1 var(--m);text-align:right;align-self:center;min-width:70px}.sticky-save{bottom:calc(var(--nav-h) + 10px + env(safe-area-inset-bottom));z-index:5;margin-top:4px;position:sticky}@media (width>=900px){.sticky-save{bottom:16px}}.sticky-save .btn{box-shadow:0 10px 28px #1e3fae47}.tpl-item{text-align:left;width:100%;color:inherit;font:inherit;border:0;border-top:1px solid var(--line);cursor:pointer;background:0 0;padding:8px 0}.tpl-item:first-child{border-top:0}.tpl-item span{align-self:center}.compose-to{overflow-wrap:anywhere;margin-top:4px}.tpl-row{gap:6px;margin-top:12px;display:grid}.tpl-row .lab{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.msgs{gap:8px;display:grid}.msg{text-align:left;border:1px solid var(--line);border-left:3px solid var(--cobalt);border-radius:var(--r-s);background:var(--card-2);width:100%;color:inherit;font:inherit;cursor:pointer;gap:4px;padding:12px 14px;display:grid}.msg.failed{border-left-color:var(--bad)}.msg-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.msg-top b{overflow-wrap:anywhere;font-weight:500}.msg-body{color:var(--fg-2);white-space:pre-line;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.msg.open .msg-body{-webkit-line-clamp:unset;display:block}
