:root{--bg:#090b10;--surface:#11141b;--surface-2:#171b24;--surface-3:#1e2330;--border:#ffffff12;--border-strong:#ffffff24;--text:#eceef4;--muted:#8a92a6;--accent:#ff4d5e;--accent-2:#8b5cf6;--ok:#34d399;--warn:#fbbf24;--bad:#f87171;--radius:1rem;--shadow:0 .625rem 2.5rem -.75rem #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:radial-gradient(56.25rem 31.25rem at 85% -10%, #8b5cf624, transparent 60%), radial-gradient(43.75rem 25rem at -5% 110%, #ff4d5e1a, transparent 60%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:.875rem;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}button:disabled{opacity:.45;cursor:not-allowed}h1{letter-spacing:-.02em;font-size:1.5rem;font-weight:650}h2{letter-spacing:-.01em;font-size:1.125rem;font-weight:650}h3{text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:600;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.75rem}.mt{margin-top:.5rem}.pad{padding:.875rem 1.25rem 1.125rem}.pad-h{padding:1.125rem 1.25rem 0}.push{margin-left:auto}.bad-text{color:var(--bad)}.money{font-variant-numeric:tabular-nums}.app{min-height:100%;display:flex}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem);background:#0d1016b3;flex-direction:column;flex-shrink:0;gap:1.375rem;width:15.5rem;height:100vh;padding:1.375rem .875rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.75rem;padding:0 .5rem;display:flex}.brand b{letter-spacing:-.01em;font-size:.9375rem;display:block}.brand span{color:var(--muted);font-size:.75rem}.logo{color:#fff;background:linear-gradient(135deg, var(--accent), #ff7a45);border-radius:.6875rem;place-items:center;width:2.25rem;height:2.25rem;display:grid;box-shadow:0 .375rem 1.25rem -.25rem #ff4d5e99}nav{flex-direction:column;gap:.25rem;display:flex}.nav{color:var(--muted);text-align:left;border-radius:.6875rem;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nav:hover{background:var(--surface-2);color:var(--text)}.nav.on{color:var(--text);background:linear-gradient(90deg,#ff4d5e29,#8b5cf614);box-shadow:inset 0 0 0 1px #ff4d5e40}.nav.on svg{color:var(--accent)}.nav.sm{padding:.5rem .75rem;font-size:.8125rem}.nav-dot{background:var(--bad);border-radius:50%;width:.5rem;height:.5rem;margin-left:auto;animation:1.6s infinite pulse}.side-foot{border-top:1px solid var(--border);flex-direction:column;gap:2px;margin-top:auto;padding-top:.875rem;display:flex}.main{flex:1;min-width:0;max-width:140rem;margin-inline:auto;padding:1.75rem 2.25rem 3.75rem}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.625rem;display:flex}.page{animation:.35s both rise}.stack{flex-direction:column;gap:1.125rem;min-width:0;display:flex}.grid-2{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:1.125rem;display:grid}.cards{grid-template-columns:repeat(auto-fill,minmax(min(22rem,100%),1fr));align-items:stretch;gap:1.125rem;display:grid}.card{background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color .2s,transform .2s;overflow:hidden}.card:hover{border-color:var(--border-strong)}.card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.125rem 1.25rem .75rem;display:flex}.card-head p{margin-top:.125rem;font-size:.8125rem}.table-card{padding-bottom:.375rem}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem;display:grid}.stat{text-align:left;border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(180deg, var(--surface-2), var(--surface));flex-direction:column;gap:.25rem;padding:1.125rem;transition:transform .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.stat:hover{border-color:var(--border-strong);transform:translateY(-.125rem)}.stat:after{content:"";background:var(--glow,transparent);filter:blur(2.5rem);opacity:.35;border-radius:50%;width:8.75rem;height:8.75rem;position:absolute;inset:auto -30% -60% auto}.stat.bad{--glow:var(--bad);--tone:var(--bad)}.stat.warn{--glow:var(--warn);--tone:var(--warn)}.stat.ok{--glow:var(--ok);--tone:var(--ok)}.stat.neutral{--tone:var(--muted)}.stat-icon{width:2.125rem;height:2.125rem;color:var(--tone);background:color-mix(in srgb, var(--tone) 14%, transparent);border-radius:.625rem;place-items:center;margin-bottom:.5rem;display:grid}.stat-label{color:var(--muted);font-size:.7813rem;font-weight:500}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.625rem;font-weight:650}.stat-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.list{padding:0 .5rem .625rem;list-style:none}.list.compact{padding-bottom:.375rem}.list-row{border-radius:.75rem;align-items:center;gap:.75rem;padding:.625rem .75rem;transition:background .15s;display:flex}.list-row:hover{background:var(--surface-3)}.list-row .grow{flex-direction:column;min-width:0;display:flex}.list-row .grow b{text-overflow:ellipsis;white-space:nowrap;font-weight:550;overflow:hidden}.grow{flex:1;min-width:0}.right{flex-direction:column;align-items:flex-end;gap:.1875rem;display:flex}.avatar{background:var(--surface-3);width:2.25rem;height:2.25rem;color:var(--muted);border-radius:.6875rem;flex-shrink:0;place-items:center;font-size:.75rem;font-weight:650;display:grid}.avatar.ok{color:var(--ok);background:#34d3991f}.avatar.warn{color:var(--warn);background:#fbbf241f}.avatar.bad{color:var(--bad);background:#f8717124}.avatar.big{background:linear-gradient(135deg, var(--surface-3), var(--surface-2));width:2.75rem;height:2.75rem;color:var(--text);border-radius:.8125rem}.badge{white-space:nowrap;background:var(--surface-3);color:var(--muted);border-radius:62.4375rem;align-items:center;gap:.375rem;padding:.1875rem .5625rem;font-size:.7188rem;font-weight:600;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:.375rem;height:.375rem}.badge.ok{color:var(--ok);background:#34d3991f}.badge.warn{color:var(--warn);background:#fbbf241f}.badge.bad{color:var(--bad);background:#f8717124}.dot-s{background:var(--muted);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.dot-s.ok{background:var(--ok)}.dot-s.warn{background:var(--warn)}.dot-s.bad{background:var(--bad)}.btn{background:var(--surface-3);border:1px solid var(--border);white-space:nowrap;border-radius:.6875rem;justify-content:center;align-items:center;gap:.5rem;padding:.5625rem .9375rem;font-weight:550;transition:transform .12s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--border-strong);background:#272d3d}.btn:active:not(:disabled){transform:scale(.97)}.btn.sm{border-radius:.5625rem;padding:.375rem .6875rem;font-size:.7813rem}.btn.wide{width:100%;padding:.75rem}.btn.primary{background:linear-gradient(135deg, var(--accent), #ff6a4d);color:#fff;border-color:#0000;box-shadow:0 .5rem 1.5rem -.5rem #ff4d5eb3}.btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#ff6071,#ff7a5e)}.btn.ghost{background:0 0}.btn.danger{color:#fff;background:linear-gradient(135deg,#e5384a,#c026d3);border-color:#0000;box-shadow:0 .5rem 1.5rem -.5rem #e5384ab3}.btn.danger:hover:not(:disabled){background:linear-gradient(135deg,#f0485a,#d03be3)}.btn.danger-soft{color:var(--bad);background:#f871711a;border-color:#f8717140}.btn.danger-soft:hover:not(:disabled){background:#f871712e}.btn-row{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.card>.btn-row{padding:.375rem 1.25rem 1.125rem}.icon-btn{width:2rem;height:2rem;color:var(--muted);border-radius:.5625rem;flex-shrink:0;place-items:center;transition:background .15s,color .15s;display:grid}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn.danger:hover{color:var(--bad);background:#f8717124}.link{color:var(--accent);font-size:.8125rem;font-weight:550}.link:hover{text-decoration:underline}.actions{justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.seg-control{background:var(--bg);border:1px solid var(--border);border-radius:.625rem;padding:.1875rem;display:flex}.seg-control button{color:var(--muted);border-radius:.4375rem;padding:.3125rem .6875rem;font-size:.7813rem;font-weight:550}.seg-control button.on{background:var(--surface-3);color:var(--text)}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.toolbar.end{justify-content:flex-end}.search{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:.6875rem;flex:1;align-items:center;gap:.625rem;min-width:12.5rem;max-width:22.5rem;padding:0 .875rem;display:flex}.search input{background:0 0;border:none;outline:none;width:100%;padding:.625rem 0}.search:focus-within{border-color:var(--accent)}.pill{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:.6875rem;align-items:center;gap:.5rem;padding:.5625rem .875rem;display:inline-flex}.pill b{color:var(--text);font-variant-numeric:tabular-nums}.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.875rem 1.25rem .625rem;font-size:.7188rem;font-weight:600}.table td{border-top:1px solid var(--border);vertical-align:middle;padding:.75rem 1.25rem}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:#ffffff06}.cell{align-items:center;gap:.75rem;display:flex}.cell.col{flex-direction:column;align-items:flex-start;gap:.25rem}.clip{text-overflow:ellipsis;white-space:nowrap;max-width:17.5rem;overflow:hidden}.table-card{overflow-x:auto}.meta{flex-wrap:wrap;align-items:center;gap:.625rem;padding:0 1.25rem .875rem;display:flex}.meta>div{flex-direction:column;margin-right:.375rem;display:flex}.capacity{padding:0 1.25rem .625rem}.capacity-top{color:var(--muted);justify-content:space-between;margin-bottom:.4375rem;font-size:.7813rem;display:flex}.capacity-top b{color:var(--text)}.bar{background:var(--surface-3);border-radius:6.1875rem;height:.375rem;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--accent-2), var(--accent));border-radius:6.1875rem;height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.bar i.full{background:var(--warn)}.balance{flex-direction:column;padding:.25rem 1.25rem .75rem;display:flex}.balance b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.875rem}.banner{border-radius:var(--radius);background:linear-gradient(90deg,#f8717129,#8b5cf614);border:1px solid #f8717159;flex-wrap:wrap;align-items:center;gap:1.125rem;padding:1rem 1.25rem;display:flex}.banner-left{flex:1;align-items:center;gap:.875rem;min-width:13.75rem;display:flex}.banner h3{word-break:normal}.pulse{background:var(--bad);border-radius:50%;flex-shrink:0;width:.75rem;height:.75rem;animation:1.6s infinite pulse;box-shadow:0 0 #f87171b3}.card.live{background:linear-gradient(180deg, #f8717114, var(--surface));border-color:#f8717159}.card.live .timer{margin:.25rem 1.25rem .875rem}.note{color:var(--muted);padding:0 1.25rem .875rem}.timer{gap:.5rem;display:flex}.timer .seg{background:var(--bg);border:1px solid var(--border);border-radius:.75rem;flex-direction:column;flex:1;align-items:center;min-width:3.5rem;padding:.625rem .375rem;display:flex}.timer .seg b{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.75rem}.timer .seg span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.6563rem}.timer.sm{flex:none}.timer.sm .seg{min-width:3.25rem;padding:.375rem .625rem}.timer.sm .seg b{font-size:1.125rem}.empty{text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius);flex-direction:column;align-items:center;gap:.625rem;max-width:35rem;margin:1.5rem auto;padding:3.5rem 1.25rem;display:flex}.empty p{max-width:23.75rem}.empty .btn-row{justify-content:center;margin-top:.625rem}.empty-icon{background:var(--surface-3);width:3.5rem;height:3.5rem;color:var(--accent);border-radius:1rem;place-items:center;display:grid}.overlay{-webkit-backdrop-filter:blur(.375rem);backdrop-filter:blur(.375rem);z-index:50;background:#040509b3;place-items:center;padding:1.25rem;animation:.18s both fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border-strong);border-radius:1.25rem;flex-direction:column;width:100%;max-width:30rem;max-height:calc(100vh - 2.5rem);animation:.25s cubic-bezier(.2,.9,.3,1.2) both pop;display:flex;box-shadow:0 1.875rem 5rem -1.25rem #000}.modal-head{justify-content:space-between;gap:.75rem;padding:1.375rem 1.5rem .25rem;display:flex}.modal-head p{margin-top:.25rem;font-size:.8125rem}.modal-body{padding:1rem 1.5rem .5rem;overflow-y:auto}.modal-foot{justify-content:flex-end;gap:.625rem;padding:1rem 1.5rem 1.375rem;display:flex}.form{flex-direction:column;gap:1rem;display:flex}.row{grid-template-columns:1fr 1fr;gap:.875rem;display:grid}.field{flex-direction:column;gap:.4375rem;min-width:0;display:flex}.field-label{color:var(--muted);font-size:.7813rem;font-weight:550}.field-hint{color:var(--warn);font-size:.75rem}input,select,textarea{background:var(--bg);border:1px solid var(--border-strong);border-radius:.6875rem;outline:none;width:100%;padding:.625rem .75rem;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 .1875rem #ff4d5e2e}.search input{background:0 0;border:none;padding:.625rem 0;box-shadow:none!important}input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--accent)}.toolbar select{width:auto;min-width:12.5rem}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chips.small{margin-top:.125rem}.chip{background:var(--bg);border:1px solid var(--border-strong);color:var(--muted);border-radius:6.1875rem;padding:.4375rem .8125rem;font-size:.7813rem;font-weight:550;transition:all .15s}.chips.small .chip{padding:.25rem .625rem;font-size:.75rem}.chip:hover{color:var(--text)}.chip.on{border-color:var(--accent);color:var(--text);background:#ff4d5e24}.preview{background:var(--bg);border:1px solid var(--border-strong);border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.8125rem 1rem;display:flex}.preview .arrow{color:var(--muted)}.preview .accent{color:var(--ok)}.checklist{flex-direction:column;gap:.375rem;max-height:11.875rem;display:flex;overflow-y:auto}.check{border:1px solid var(--border-strong);background:var(--bg);cursor:pointer;border-radius:.6875rem;align-items:center;gap:.625rem;padding:.625rem .75rem;transition:all .15s;display:flex}.check.on{border-color:var(--bad);background:#f8717114}.check.disabled{opacity:.5;cursor:not-allowed}.check em{color:var(--bad);margin-left:auto;font-size:.7188rem;font-style:normal}.toasts{z-index:100;flex-direction:column;gap:.625rem;width:max-content;max-width:calc(100vw - 2rem);display:flex;position:fixed;bottom:1.375rem;left:50%;transform:translate(-50%)}.toast{background:var(--surface-3);border:1px solid var(--border-strong);box-shadow:var(--shadow);border-radius:.8125rem;align-items:center;gap:.75rem;padding:.75rem 1rem;animation:.3s both rise;display:flex}.toast svg{color:var(--ok);flex-shrink:0}.toast.bad svg{color:var(--bad)}.toast-undo{color:var(--accent);border-radius:.5rem;align-items:center;gap:.375rem;padding:.25rem .5rem;font-weight:600;display:inline-flex}.toast-undo:hover{background:#ff4d5e1f}@keyframes rise{0%{opacity:0;transform:translateY(.625rem)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(.75rem)scale(.96)}to{opacity:1;transform:none}}@keyframes pulse{0%{box-shadow:0 0 #f8717199}70%{box-shadow:0 0 0 .625rem #f8717100}to{box-shadow:0 0 #f8717100}}::-webkit-scrollbar{width:.625rem;height:.625rem}::-webkit-scrollbar-thumb{background:var(--surface-3);border:2px solid var(--bg);border-radius:6.1875rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width<=1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}}@media (width<=860px){.app{flex-direction:column}.sidebar{z-index:40;border-right:none;border-top:1px solid var(--border);background:#0d1016eb;flex-direction:row;width:100%;height:auto;padding:.5rem;position:fixed;top:auto;bottom:0}.brand,.side-foot{display:none}nav{flex-direction:row;justify-content:space-around;width:100%}.nav{text-align:center;flex-direction:column;justify-content:center;gap:.1875rem;padding:.4375rem .25rem;font-size:.6563rem}.nav-dot{position:absolute;top:.375rem;right:22%}.main{padding:1.25rem 1rem 6.875rem}.hide-sm{display:none}.row{grid-template-columns:1fr}.cards{grid-template-columns:minmax(0,1fr)}.list-row .btn.sm{padding:.375rem .5625rem}}@media (width<=520px){.stats{grid-template-columns:1fr 1fr;gap:.625rem}.stat-value{font-size:1.3125rem}.timer .seg b{font-size:1.375rem}}.sync{background:var(--surface-2);border:1px solid var(--border);text-align:left;width:100%;color:var(--muted);border-radius:.75rem;align-items:center;gap:.625rem;margin-bottom:.5rem;padding:.625rem .75rem;transition:border-color .15s;display:flex}.sync:hover{border-color:var(--border-strong)}.sync div{flex-direction:column;min-width:0;display:flex}.sync b{color:var(--text);font-size:.7813rem;font-weight:600}.sync span{text-overflow:ellipsis;white-space:nowrap;font-size:.7188rem;overflow:hidden}.sync.saved svg{color:var(--ok)}.sync.dirty svg,.sync.saving svg,.sync.loading svg{color:var(--warn);animation:1s infinite pulse2}.sync.error,.sync.offline{border-color:#f8717166}.sync.error svg,.sync.offline svg{color:var(--bad)}@keyframes pulse2{50%{opacity:.4}}.narrow{max-width:35rem}.inl{vertical-align:-.125rem;margin-right:.25rem}.balance-note{flex-wrap:wrap;align-items:center;gap:.625rem;margin-top:.5rem;display:flex}.warn-row{color:var(--bad);background:#f871711a;border:1px solid #f8717140;border-radius:.6875rem;align-items:flex-start;gap:.625rem;margin:0 .875rem .875rem;padding:.625rem .75rem;font-size:.7813rem;display:flex}.warn-row svg{flex-shrink:0;margin-top:.125rem}.info{background:var(--bg);border:1px solid var(--border-strong);color:var(--muted);border-radius:.75rem;gap:.625rem;padding:.75rem .875rem;font-size:.8125rem;display:flex}.info svg{color:var(--accent-2);flex-shrink:0;margin-top:.125rem}.info b{color:var(--text)}.card>.form.pad{padding-top:0}.datefield{align-items:center;display:flex;position:relative}.datefield>input:first-child{font-variant-numeric:tabular-nums;padding-right:2.75rem}.datefield .icon-btn{position:absolute;right:.3125rem}.datefield .native-date{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;right:.3125rem}.datetime{grid-template-columns:1fr 6.875rem;gap:.625rem;display:grid}.ok-text{color:var(--ok)}html{font-size:clamp(16px,.35vw + 9.3px,26px)}svg.lucide{flex-shrink:0;width:1.15em;height:1.15em}.empty-icon svg{width:1.7rem;height:1.7rem}.stat-icon svg,.avatar.big svg{width:1.2rem;height:1.2rem}.cards>.card{flex-direction:column;display:flex}.cards>.card>.list{flex:1}.cards>.card>.btn-row{margin-top:auto}.card-head>div:first-child{min-width:0}.card-head h3,.card-head p{text-overflow:ellipsis;overflow:hidden}.card-head p{white-space:nowrap}.card-head .cell,.card-head .cell>div:last-child{min-width:0}.balance{grid-template-columns:1fr auto;align-items:end;column-gap:.75rem;display:grid}.balance>.muted,.balance .balance-note{grid-column:1/-1}.balance .btn{margin-bottom:.3rem}.page{width:100%}@media (width>=2200px){.stats{gap:1.25rem}.cards{gap:1.5rem}}.cards>*,.stack>*,.grid-2>*{min-width:0}.main,.page{overflow-x:clip}@media (width<=860px){.sidebar{padding-bottom:calc(.5rem + env(safe-area-inset-bottom))}.main{padding:1.25rem 1rem calc(6.5rem + env(safe-area-inset-bottom))}.toasts{bottom:calc(5.5rem + env(safe-area-inset-bottom))}.topbar{margin-bottom:1.1rem}h1{font-size:1.4rem}.card-head{flex-wrap:wrap}.card-head>div:first-child{flex:auto}.seg-control{width:100%}.seg-control button{white-space:nowrap;flex:1}.list-row.pay{grid-template-columns:auto 1fr auto;grid-template-areas:"av nm nm"".due btn";align-items:center;gap:.5rem .75rem;display:grid}.list-row.pay>.avatar{grid-area:av}.list-row.pay>.grow{grid-area:nm}.list-row.pay>.right{flex-flow:wrap;grid-area:due;justify-content:flex-start;align-items:center;gap:.25rem .6rem}.list-row.pay>.row-actions{grid-area:btn}.users-table thead{display:none}.users-table,.users-table tbody{display:block}.users-table tr{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .75rem;padding:.9rem 1rem;display:grid}.users-table tbody tr:first-child{border-top:none}.users-table td{border:0;min-width:0;padding:0;display:block}.users-table .td-user{grid-area:1/1}.users-table .td-due{grid-area:1/2}.users-table .td-due .cell.col{align-items:flex-end}.users-table .td-host{text-overflow:ellipsis;white-space:nowrap;grid-area:2/1;font-size:.85em;overflow:hidden}.users-table .td-via{text-align:right;grid-area:2/2;font-size:.85em}.users-table .td-act{grid-area:3/1/auto/-1;margin-top:.25rem}.users-table .td-act .actions{justify-content:flex-start}.users-table .td-act .btn{flex:1}.toolbar .search,.toolbar select{flex:100%;max-width:none}.toolbar select{width:100%}.pill{flex:auto}.toolbar>.btn.primary{flex:100%}}.splash,.login{place-items:center;min-height:100dvh;padding:1.25rem;display:grid}.splash{text-align:center;align-content:center;justify-items:center;gap:1.25rem}.splash-error{color:var(--muted);max-width:26rem}.splash-error b{color:var(--bad);font-weight:550}.logo.big{border-radius:.9rem;width:3rem;height:3rem}.spinner{border:2px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;width:1.5rem;height:1.5rem;animation:.8s linear infinite spin;display:inline-block}.spinner.sm{border-color:#fff #ffffff4d #ffffff4d;width:1rem;height:1rem}@keyframes spin{to{transform:rotate(360deg)}}.login-card{background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--border-strong);width:100%;max-width:24rem;box-shadow:var(--shadow);border-radius:1.25rem;flex-direction:column;gap:1rem;padding:1.75rem;animation:.3s cubic-bezier(.2,.9,.3,1.2) both pop;display:flex}.login-brand{align-items:center;gap:.875rem;margin-bottom:.5rem;display:flex}.login-brand h1{font-size:1.25rem}.login-brand p{font-size:.8125rem}.login-card .warn-row{margin:0}.login-error{color:var(--bad);font-size:.8125rem}.pw{align-items:center;display:flex;position:relative}.pw input{padding-right:2.75rem}.pw .icon-btn{position:absolute;right:.3125rem}.center{text-align:center}.nav-short,.sync-dot{display:none}.row-link{text-align:left;border-radius:.375rem;flex-direction:column;min-width:0;padding:0;display:flex}.row-link:hover b{color:var(--accent)}.row-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cell.row-link{flex-direction:row;align-items:center;width:100%}.row-link{max-width:100%}.cell-text{flex-direction:column;min-width:0;display:flex}.cell-text b,.cell-text span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-actions{align-items:center;gap:.25rem;display:flex}a.btn,a.icon-btn{color:inherit;text-decoration:none}a.icon-btn{color:var(--muted)}@media (width>=861px){.users-table td,.users-table th{padding-inline:1rem}.users-table .td-act{white-space:nowrap;width:1%}.users-table .td-user{max-width:18rem}.users-table .td-host{text-overflow:ellipsis;white-space:nowrap;max-width:15rem;overflow:hidden}}@media (width>=861px) and (width<=1399px){.users-table th:nth-child(4),.users-table .td-via{display:none}}.icon-btn.wa:hover{color:var(--ok);background:#34d39924}.icon-btn.sm{width:1.625rem;height:1.625rem}.list.flush{margin:0 -.75rem;padding:0}.card>.btn-row:last-child{padding-top:0}.modal.wide{max-width:40rem}.detail{flex-direction:column;gap:1rem;padding-bottom:.75rem;display:flex}.detail-status{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.detail-actions .btn{flex:auto}.facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;display:grid}.facts>div{background:var(--bg);border:1px solid var(--border);border-radius:.75rem;min-width:0;padding:.625rem .75rem}.facts>div.full{grid-column:1/-1}.facts dt{color:var(--muted);margin-bottom:.125rem;font-size:.7188rem;font-weight:550}.facts dd{align-items:center;gap:.25rem;min-width:0;margin:0;display:flex}.clip-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.note-text{white-space:pre-wrap}.section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem;font-size:.8125rem;font-weight:600}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.125rem;display:grid}.bubble-wrap{flex-direction:column;gap:.375rem;display:flex}.bubble{white-space:pre-wrap;overflow-wrap:anywhere;color:#e9fdf3;background:#144d37;border-radius:.875rem .875rem .875rem .25rem;align-self:flex-start;max-width:100%;padding:.625rem .875rem;font-size:.8125rem}.danger-zone{background:#f871710d;border:1px solid #f8717140;border-radius:.75rem;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.danger-zone>div{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.preview .push{margin-left:auto}.only-sm{display:none}@media (width<=1100px){.settings-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=860px){.main{padding-top:calc(1.25rem + env(safe-area-inset-top));width:100%}.nav-long{display:none}.nav-short{display:block}.nav{min-height:3.25rem}.topbar{flex-wrap:nowrap;align-items:center}.topbar-title{min-width:0}.topbar-title h1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar-actions{flex-wrap:nowrap;gap:.375rem}.topbar-actions .btn{width:2.625rem;height:2.625rem;padding:0}.sync-dot{width:2.25rem;height:2.625rem;color:var(--muted);place-items:center;display:grid}.sync-dot.saved svg{color:var(--ok)}.sync-dot.dirty svg,.sync-dot.saving svg,.sync-dot.loading svg{color:var(--warn);animation:1s infinite pulse2}.sync-dot.error svg,.sync-dot.offline svg{color:var(--bad)}input,select,textarea{padding:.6875rem .75rem;font-size:16px}.icon-btn{width:2.5rem;height:2.5rem}.icon-btn.sm{width:2rem;height:2rem}.btn.sm{padding:.5rem .75rem}.toolbar .seg-control{flex:100%}.settings-grid{gap:1rem}.facts>div.wide-sm{grid-column:1/-1}.card-head:has(>.actions){flex-wrap:nowrap}.danger-zone{flex-direction:column;align-items:stretch}.overlay{place-items:end center;padding:0}.modal,.modal.wide{max-width:100%;max-height:calc(100dvh - 1.5rem - env(safe-area-inset-top));border-bottom:none;border-radius:1.25rem 1.25rem 0 0;animation:.28s cubic-bezier(.2,.9,.3,1) both sheet}.modal-head{padding:1.125rem 1.125rem .25rem}.modal-body{padding:.875rem 1.125rem .5rem}.modal-foot{padding:.875rem 1.125rem calc(.875rem + env(safe-area-inset-bottom))}.modal-foot .btn{flex:1}.modal-body:last-child{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.outage-table thead{display:none}.outage-table,.outage-table tbody{display:block}.outage-table tr{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.3rem .75rem;padding:.875rem 1rem;display:grid}.outage-table td{border:0;min-width:0;padding:0;display:block}.outage-table .td-host{text-overflow:ellipsis;white-space:nowrap;grid-area:1/1;overflow:hidden}.outage-table .td-dur{grid-area:1/2}.outage-table .td-time{grid-area:2/1;font-size:.85em}.outage-table .td-act{grid-area:2/2/span 2}.outage-table .td-note{white-space:normal;grid-area:3/1;max-width:none;font-size:.85em}.outage-table .td-end,.outage-table .empty-note{display:none}.only-sm{display:inline}}@media (width<=380px){.main{padding-left:.75rem;padding-right:.75rem}.card-head,.pad,.meta,.capacity,.balance{padding-left:1rem;padding-right:1rem}.stat{padding:.875rem}.stat-value{font-size:1.125rem}.nav{padding-inline:.125rem;font-size:.625rem}.topbar-actions .btn{width:2.375rem;height:2.375rem}h1{font-size:1.25rem}}@media (width>=640px) and (width<=860px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes sheet{0%{transform:translateY(100%)}to{transform:none}}@media (hover:none){.stat:hover{transform:none}.list-row:hover,.table tbody tr:hover{background:0 0}}
