@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");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{--accent:#16a34a;--ink:black;--lift:0%;--accent-soft:color-mix(in srgb, var(--accent) 12%, var(--surface));--accent-strong:color-mix(in srgb, var(--accent) 80%, var(--ink));--bg:#f2f6f3;--bg-tint:color-mix(in srgb, var(--accent) 6%, #f4f6f5);--surface:#fff;--surface-2:#f7f9f8;--surface-3:#eef3f0;--glass:#ffffffdb;--border:#e3e9e5;--text:#13201a;--text-2:#5b6b63;--good:#16a34a;--warn:#f59e0b;--bad:#e11d48;--bad-text:var(--bad);--indigo-text:#4f46e5;--good-bg:#dcfce7;--good-bg-2:#f0fdf4;--good-fg:#166534;--good-line:#bbf7d0;--bad-bg:#ffe4e6;--bad-bg-2:#fff1f2;--bad-fg:#9f1239;--bad-line:#fecdd3;--warn-bg:#fef3c7;--warn-bg-2:#fffbeb;--warn-fg:#92400e;--warn-line:#fde68a;--info-bg:#e0f2fe;--info-fg:#0369a1;--note-line:#fdf0c8;--scrim:#0f171459;--radius:18px;--radius-sm:11px;--shadow:0 1px 2px #10281c0d, 0 6px 20px -8px #10281c1f;--shadow-lg:0 20px 50px -18px #10281c59;--sidebar:256px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans Variable,system-ui,sans-serif}:root[data-theme=dark]{--ink:white;--lift:28%;--accent-soft:color-mix(in srgb, var(--accent) 20%, var(--surface));--accent-strong:color-mix(in srgb, var(--accent) 62%, white);--bg:#0d1411;--bg-tint:color-mix(in srgb, var(--accent) 4%, #0d1411);--surface:#151d19;--surface-2:#1c2621;--surface-3:#24302a;--glass:#151d19db;--border:#2a3731;--text:#e4ece7;--text-2:#98a89f;--bad-text:#fb7185;--indigo-text:#a5b4fc;--good-bg:color-mix(in srgb, #16a34a 24%, var(--surface));--good-bg-2:color-mix(in srgb, #16a34a 12%, var(--surface));--good-fg:#86efac;--good-line:color-mix(in srgb, #16a34a 45%, var(--surface));--bad-bg:color-mix(in srgb, #e11d48 24%, var(--surface));--bad-bg-2:color-mix(in srgb, #e11d48 13%, var(--surface));--bad-fg:#fda4af;--bad-line:color-mix(in srgb, #e11d48 45%, var(--surface));--warn-bg:color-mix(in srgb, #f59e0b 22%, var(--surface));--warn-bg-2:color-mix(in srgb, #f59e0b 11%, var(--surface));--warn-fg:#fcd34d;--warn-line:color-mix(in srgb, #f59e0b 42%, var(--surface));--info-bg:color-mix(in srgb, #0ea5e9 24%, var(--surface));--info-fg:#7dd3fc;--note-line:color-mix(in srgb, #f59e0b 20%, var(--surface));--scrim:#0000008c;--shadow:0 1px 2px #0000004d, 0 6px 20px -8px #00000080;--shadow-lg:0 20px 50px -18px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg-tint);margin:0;font-size:15px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{letter-spacing:-.02em;margin:0}a{color:var(--accent-strong)}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.muted{color:var(--text-2)}.small{font-size:13px}.cap:first-letter{text-transform:uppercase}.stack{flex-direction:column;gap:12px;display:flex}.gap-lg{gap:20px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row>input{flex:1;min-width:0}.row.end{justify-content:flex-end}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.grid-2.align-start{align-items:start;gap:20px}.boot{min-height:100vh;color:color-mix(in srgb, var(--accent), white var(--lift));letter-spacing:-.03em;place-items:center;font-size:28px;font-weight:800;animation:1.2s ease-in-out infinite pulse;display:grid}@keyframes pulse{50%{opacity:.4}}.error-box{background:var(--surface);border:1px solid color-mix(in srgb, var(--bad) 35%, var(--border));border-radius:16px;justify-items:start;gap:8px;max-width:460px;margin:40px auto;padding:22px 24px;display:grid}.error-box.compact{border-radius:12px;max-width:none;margin:0;padding:14px 16px}.error-box p{margin:0}.error-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}input,select,textarea{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius-sm);outline:none;width:100%;padding:10px 12px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent)}input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);padding:0}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--text-2);font-size:13px;font-weight:600}.code-input{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;max-width:220px;font-size:22px}.btn{border:1.5px solid var(--border);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-weight:650;transition:transform .12s,background .15s,box-shadow .15s,border-color .15s;display:inline-flex}.btn:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px -6px color-mix(in srgb, var(--accent) 70%, transparent)}.btn.primary:hover{background:var(--accent-strong)}.btn.soft{background:var(--accent-soft);color:var(--accent-strong);border-color:#0000}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2);color:var(--text)}.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn.danger-text{color:var(--bad-text)}.btn.small{padding:6px 12px;font-size:13px}.btn.big{width:100%;padding:13px 20px;font-size:16px}.icon-btn{cursor:pointer;background:0 0;border:none;border-radius:10px;place-items:center;width:38px;height:38px;font-size:18px;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.icon-btn.tiny{width:26px;height:26px;color:var(--text-2);border-radius:8px;font-size:12px}.icon-btn.tiny:disabled{opacity:.3;cursor:default}.icon-btn.danger:hover{background:color-mix(in srgb, var(--bad) 12%, var(--surface));color:var(--bad-text)}.chip{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:650;display:inline-flex}.chip.good{background:var(--good-bg);color:var(--good-fg);border-color:var(--good-line)}.chip.bad{background:var(--bad-bg);color:var(--bad-fg);border-color:var(--bad-line)}.chip.accent{background:var(--accent-soft);color:var(--accent-strong);border-color:#0000}.chip-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text-2);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:650}.chip-btn:hover{border-color:var(--accent);color:var(--accent-strong)}.form-error{background:var(--bad-bg-2);color:var(--bad-fg);border:1px solid var(--bad-line);border-radius:var(--radius-sm);padding:9px 12px;font-size:14px}.notice{background:var(--accent-soft);color:var(--accent-strong);border-radius:var(--radius-sm);word-break:break-word;padding:12px 16px;font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card h2{align-items:center;gap:8px;font-size:17px;display:flex}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2));background-size:200% 100%;animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.widget-loading{min-height:96px}.login-page{background:linear-gradient(160deg,#ecfdf3 0%,#f0f9ff 55%,#fdf4ff 100%);place-items:center;min-height:100vh;padding:20px;display:grid;position:relative;overflow:hidden}.login-blob{filter:blur(60px);opacity:.55;border-radius:50%;position:absolute}.login-blob.b1{background:#86efac;width:420px;height:420px;animation:14s ease-in-out infinite drift;top:-120px;left:-80px}.login-blob.b2{background:#7dd3fc;width:360px;height:360px;animation:17s ease-in-out infinite reverse drift;bottom:-120px;right:-60px}.login-blob.b3{opacity:.35;background:#f9a8d4;width:260px;height:260px;animation:20s ease-in-out infinite drift;top:40%;right:20%}:root[data-theme=dark] .login-page{background:linear-gradient(160deg,#0b1a12 0%,#0b1520 55%,#1a0f1c 100%)}:root[data-theme=dark] .login-blob{opacity:.22}@keyframes drift{50%{transform:translate(40px,30px)scale(1.08)}}.login-card{background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid color-mix(in srgb, var(--surface) 90%, transparent);width:100%;max-width:400px;box-shadow:var(--shadow-lg);border-radius:26px;flex-direction:column;gap:14px;padding:32px 28px;display:flex;position:relative}.login-card h1{margin-top:8px;font-size:26px}.login-card .muted{margin:-8px 0 6px}.login-logo,.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:20px;font-weight:800;display:flex}.logo-mark{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 55%, #0ea5e9));color:#fff;width:34px;height:34px;box-shadow:0 6px 14px -6px color-mix(in srgb, var(--accent) 80%, transparent);border-radius:11px;place-items:center;font-size:18px;font-weight:800;display:inline-grid}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:18px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{padding:4px 8px}.nav{flex-direction:column;flex:1;gap:2px;display:flex}.nav-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);justify-content:space-between;align-items:center;gap:8px;padding:16px 12px 6px;font-size:11px;font-weight:700;display:flex}.nav-heading.nav-sub{padding-top:14px}.nav-edit{cursor:pointer;color:var(--text-2);text-transform:none;letter-spacing:0;white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:650}.nav-edit:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.nav-edit.on{background:var(--accent-soft);color:var(--accent-strong)}.nav-edit:disabled{opacity:.4;cursor:default}.nav-item.editing{cursor:default}.nav-item.editing:hover{background:0 0}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-x{background:var(--surface-2);width:26px;height:26px;color:var(--text-2);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;display:grid}.nav-x:hover,.nav-x:focus-visible{background:var(--bad-bg);color:var(--bad-text)}.nav-moves{flex-shrink:0;gap:2px;display:flex}.nav-move{background:var(--surface-2);width:22px;height:26px;color:var(--text-2);cursor:pointer;border:0;border-radius:8px;flex-shrink:0;place-items:center;font-size:12px;display:grid}.nav-move:hover:not(:disabled),.nav-move:focus-visible:not(:disabled){background:var(--accent-soft);color:var(--accent-strong)}.nav-move:disabled{opacity:.3;cursor:default}@media (pointer:coarse){.nav-move{width:28px;height:34px;font-size:14px}}.nav-item.removed{color:var(--text-2)}.nav-item.removed .nav-icon{filter:grayscale(.7);opacity:.7}.nav-add{border:1px solid var(--border);background:var(--surface);color:var(--accent-strong);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:700}.nav-add:hover,.nav-add:focus-visible{background:var(--accent-soft)}.nav-note{color:var(--text-2);margin:8px 12px 0;font-size:12px;line-height:1.4}@media (pointer:coarse){.nav-x{width:34px;height:34px;font-size:14px}.nav-add{padding:6px 12px}}.nav-item{color:var(--text);border-radius:12px;align-items:center;gap:11px;padding:8px 10px;font-weight:600;text-decoration:none;transition:background .15s;display:flex}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--accent-soft);color:var(--accent-strong)}.nav-item.soon{color:var(--text-2)}.nav-icon{border-radius:10px;place-items:center;width:32px;height:32px;font-size:16px;display:inline-grid}.soon-pill{text-transform:uppercase;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:700}.sidebar-foot{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:14px;display:flex}.me{color:var(--text);border-radius:14px;align-items:center;gap:10px;padding:8px;text-decoration:none;display:flex}.me:hover,.me.active{background:var(--surface-2)}.me-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.me-text strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.me-text small{color:var(--text-2)}.me-gear{opacity:.6;margin-left:auto}.logout{align-self:flex-start}.avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;font-weight:750;display:inline-grid;box-shadow:inset 0 -2px #0000001f}.main{flex:1;min-width:0}.mobile-bar{display:none}.content{max-width:1400px;margin:0 auto;padding:28px 32px 60px}.scrim{display:none}.search-trigger{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text-2);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:9px 12px;font-size:14px;transition:border-color .15s,background .15s;display:flex}.search-trigger:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--surface)}.search-trigger kbd{border:1px solid var(--border);background:var(--surface);border-radius:6px;margin-left:auto;padding:1px 6px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.6}.page-title{margin-bottom:18px;font-size:28px}.home-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-height:40px;margin-bottom:14px;display:flex}.widget-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:18px;display:grid}.w-1{grid-column:span 1}.w-2{grid-column:span 2}.w-3{grid-column:span 3}.w-4{grid-column:span 4}.widget{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;transition:box-shadow .2s,transform .2s,opacity .2s;position:relative;overflow:hidden}.widget:before{content:"";background:linear-gradient(90deg, var(--wc), color-mix(in srgb, var(--wc) 40%, var(--surface)));height:4px;position:absolute;inset:0 0 auto}.widget.bare{box-shadow:none;background:0 0;border:none}.widget.bare:before{display:none}.editing .widget.bare{background:var(--surface);border:1px dashed var(--border)}.editing .widget{outline:2px dashed color-mix(in srgb, var(--wc) 35%, transparent);outline-offset:3px}.widget.dragging{opacity:.45;transform:scale(.98)}.widget-head{align-items:center;gap:10px;padding:16px 18px 4px;display:flex}.widget-head h2{font-size:15px;font-weight:750}.widget-icon{background:color-mix(in srgb, var(--wc) 14%, var(--surface));border-radius:9px;place-items:center;width:30px;height:30px;font-size:15px;display:inline-grid}.widget-tools{align-items:center;gap:4px;margin-left:auto;display:flex}.drag-handle{cursor:grab;color:var(--text-2);-webkit-user-select:none;user-select:none;padding:0 2px;font-size:18px}.drag-handle:active{cursor:grabbing}.widget-body{padding:10px 18px 18px}.widget.bare .widget-body{padding:0 4px}.editing .widget.bare .widget-body{padding:10px 18px 18px}.empty-home{text-align:center;justify-items:center;gap:12px;padding:40px;display:grid}.greeting{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.greeting h1{letter-spacing:-.035em;font-size:clamp(26px,3.4vw,38px);font-weight:800}.wave{transform-origin:70% 70%;animation:2.4s ease-in-out wave;display:inline-block}@keyframes wave{10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(0)}}.greeting-date{color:var(--text-2);align-items:center;gap:8px;margin:6px 0 0;font-weight:600;display:flex}.greeting-date .dot{opacity:.4}.greeting-clock{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--accent-strong);font-size:clamp(30px,4vw,46px);font-weight:800}.pick-list{flex-direction:column;gap:4px;display:flex}.pick{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;justify-content:space-between;gap:8px;padding:8px 12px;display:flex}.pick:hover{border-color:var(--accent)}.notes{position:relative}.notes-area{resize:vertical;background:repeating-linear-gradient(var(--warn-bg-2), var(--warn-bg-2) 25px, var(--note-line) 26px);border:none;border-radius:12px;min-height:170px;padding:12px 14px;line-height:1.55}.notes-area:focus{box-shadow:0 0 0 3px #f59e0b4d}.save-state{color:var(--text-2);pointer-events:none;font-size:11px;position:absolute;bottom:8px;right:10px}.save-state.error{color:var(--bad-text)}.checklist{flex-direction:column;gap:10px;display:flex}.checklist ul{flex-direction:column;gap:2px;max-height:280px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.checklist li{border-radius:8px;align-items:center;gap:6px;padding:5px 4px;display:flex}.checklist li:hover{background:var(--surface-2)}.checklist li label{cursor:pointer;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.checklist li label span{overflow-wrap:anywhere}.checklist li.done label span{color:var(--text-2);text-decoration:line-through}.checklist li .icon-btn{opacity:0}.checklist li:hover .icon-btn,.checklist li:focus-within .icon-btn{opacity:1}.checklist li.empty{color:var(--text-2);justify-content:center;padding:14px}.checklist>.btn{align-self:flex-start}.progress{background:var(--surface-2);border-radius:99px;height:6px;overflow:hidden}.progress-bar{background:linear-gradient(90deg,#10b981,#34d399);border-radius:99px;height:100%;transition:width .3s}.link-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.link-tile-wrap{position:relative}.link-tile{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:13px;align-items:center;gap:10px;padding:10px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.link-tile:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb, #8b5cf6 30%, var(--border));transform:translateY(-2px)}.link-badge{color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;font-weight:800;display:inline-grid}.link-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.link-text strong,.link-text small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.link-text small{color:var(--text-2)}.link-tile-wrap .remove{background:var(--surface);border:1px solid var(--border);position:absolute;top:-8px;right:-8px}.add-link{margin-top:12px}.meter-head{justify-content:space-between;margin-bottom:5px;font-size:13px;font-weight:600;display:flex}.meter-track{background:var(--surface-2);border-radius:99px;height:8px;overflow:hidden}.meter-fill{border-radius:99px;height:100%;transition:width .4s}.meter-fill.good{background:linear-gradient(90deg,#6366f1,#818cf8)}.meter-fill.warn{background:var(--warn)}.meter-fill.bad{background:var(--bad)}.server-facts{color:var(--text-2);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.dot-status{border-radius:50%;flex-shrink:0;width:9px;height:9px}.dot-status.up{background:var(--good);box-shadow:0 0 0 3px var(--good-bg)}.dot-status.down{background:var(--bad);box-shadow:0 0 0 3px var(--bad-bg)}.modal-scrim{background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:22px;width:100%;max-width:720px;max-height:85vh;padding:22px;animation:.18s cubic-bezier(.2,.9,.3,1.2) pop;overflow-y:auto}@keyframes pop{0%{opacity:0;transform:scale(.95)}}.modal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.picker-card{text-align:left;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;transition:border-color .15s,transform .15s;display:flex}.picker-card:hover{border-color:var(--wc);transform:translateY(-2px)}.picker-card .muted{font-size:13px}.picker-icon{background:color-mix(in srgb, var(--wc) 14%, var(--surface));border-radius:12px;place-items:center;width:40px;height:40px;margin-bottom:4px;font-size:20px;display:inline-grid}.soon-hero{text-align:center;background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--mod) 18%, var(--surface)), var(--surface) 70%);border:1px solid var(--border);border-radius:26px;justify-items:center;gap:10px;padding:60px 24px;display:grid}.soon-icon{background:var(--surface);width:86px;height:86px;box-shadow:var(--shadow);border-radius:26px;place-items:center;font-size:44px;display:grid}.soon-hero h1{font-size:30px}.soon-hero p{max-width:460px;color:var(--text-2);margin:0}.settings{max-width:980px}.tabs{scrollbar-width:none;gap:6px;margin-bottom:20px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--text-2);background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:8px 16px;font-weight:650;text-decoration:none}.tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.profile-preview{background:linear-gradient(135deg, var(--accent-soft), var(--surface));border-radius:16px;align-items:center;gap:16px;padding:18px;display:flex}.profile-preview>div{flex-direction:column;display:flex}.profile-preview strong{font-size:20px}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{border:3px solid var(--surface);cursor:pointer;width:36px;height:36px;box-shadow:0 0 0 1px var(--border);border-radius:50%;transition:transform .12s}.swatch:hover{transform:scale(1.1)}.swatch.on{box-shadow:0 0 0 3px var(--text)}.swatch.custom{background:var(--surface-2);place-items:center;display:grid;position:relative;overflow:hidden}.swatch.custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.totp-setup{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.totp-setup img{border:1px solid var(--border);border-radius:14px}.totp-setup>.stack{flex:1;min-width:240px}.steps{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.secret{background:var(--surface-2);word-break:break-all;border-radius:6px;padding:2px 6px;font-size:13px}.list{margin:0;padding:0;list-style:none}.list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.list li:last-child{border-bottom:none}.list.compact li{padding:8px 0;font-size:14px}.list-scroll{overscroll-behavior:contain;max-height:360px;overflow-y:auto}.users li{flex-wrap:wrap}.users li.disabled{opacity:.6}.user-cell{align-items:center;gap:12px;display:flex}.chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.user-actions{flex-wrap:wrap;gap:2px;display:flex}@media (width<=1180px){.widget-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.w-3,.w-4{grid-column:span 2}}@media (width<=820px){.sidebar{z-index:40;box-shadow:var(--shadow-lg);transition:transform .25s cubic-bezier(.2,.9,.3,1);position:fixed;top:0;left:0;transform:translate(-100%)}.nav-open .sidebar{transform:none}.nav-open .scrim{z-index:30;background:#0f17144d;display:block;position:fixed;inset:0}.mobile-bar{z-index:20;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex;position:sticky;top:0}.mobile-bar .brand{margin-right:auto;font-size:18px}.mobile-bar .logo-mark{border-radius:9px;width:28px;height:28px;font-size:15px}.mobile-bar a{display:flex}.content{padding:16px 16px 48px}}.hero{color:#fff;background:radial-gradient(circle at 10% 0%, #fff3, transparent 45%), linear-gradient(135deg, var(--hero-a), var(--hero-b));box-shadow:0 18px 40px -22px var(--hero-a);border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);align-items:center;gap:20px 28px;margin-bottom:18px;padding:24px 26px;display:grid;position:relative;overflow:hidden}.hero-main{flex-direction:column;gap:6px;min-width:0;display:flex}.hero-label{opacity:.9;letter-spacing:.01em;font-size:13.5px;font-weight:700}.hero-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(34px,4.6vw,50px);font-weight:800;line-height:1.05}.hero-value small{letter-spacing:-.01em;opacity:.88;font-size:18px;font-weight:650}.hero-sub{opacity:.92;font-size:14px;font-weight:600}.hero-main>.btn,.hero-main>.row{margin-top:6px}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.hero-stats.many{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-stats>*{text-align:left;min-width:0;font:inherit;color:inherit;background:#ffffff24;border:1px solid #fff3;border-radius:14px;flex-direction:column;gap:1px;padding:11px 13px;display:flex}.hero-stats>button{cursor:pointer;transition:background .15s}.hero-stats>button:hover,.hero-stats>button:focus-visible{background:#ffffff3d;outline:none}.hero-stats>.alert{background:#ffffff42;border-color:#ffffff8c}.hero-stats span{opacity:.9;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:650;overflow:hidden}.hero-stats b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:21px;font-weight:800;overflow:hidden}.hero-stats small{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}@media (width<=900px){.hero{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.hero{border-radius:20px;gap:16px;padding:18px}.hero-stats.many{grid-template-columns:repeat(2,minmax(0,1fr))}.widget-grid{grid-template-columns:minmax(0,1fr);gap:14px}.w-1,.w-2,.w-3,.w-4{grid-column:span 1}.widget-tools .icon-btn.tiny{width:30px;height:30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.no-access{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:520px;margin:40px auto;padding:32px 24px;display:flex}.no-access h1{margin:0;font-size:20px}.no-access p{margin:0;line-height:1.5}.no-access-icon{font-size:36px}.site-banner{border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-strong);align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px;font-size:14px;font-weight:600;line-height:1.4;display:flex}.site-banner.warn{background:color-mix(in srgb, #f59e0b 16%, var(--surface));color:var(--text);border:1px solid color-mix(in srgb, #f59e0b 45%, var(--border))}.site-banner .grow{overflow-wrap:anywhere;flex:1;min-width:0}.btn.block{width:100%}.maint-icon{font-size:40px}
