@import"https://rsms.me/inter/inter.css";@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap";:root{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,system-ui,sans-serif;font-feature-settings:"cv11","ss01","ss03";color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;--text-1: #f5f5f7;--text-2: #aeaeb2;--text-3: #8e8e93;--text-4: #6e6e73;--surface-card: linear-gradient(180deg, rgba(28, 28, 30, .55) 0%, rgba(16, 16, 18, .55) 100%);--surface-glass: linear-gradient(180deg, rgba(34, 34, 36, .7) 0%, rgba(20, 20, 22, .7) 100%);--surface-glass-solid: linear-gradient(180deg, rgba(34, 34, 36, .92) 0%, rgba(20, 20, 22, .92) 100%);--surface-glass-toast: linear-gradient(180deg, rgba(34, 34, 36, .94) 0%, rgba(20, 20, 22, .94) 100%);--surface-modal: linear-gradient(180deg, rgba(28, 28, 30, .92) 0%, rgba(16, 16, 18, .92) 100%);--surface-terminal: rgba(10, 10, 12, .8);--border-1: rgba(255, 255, 255, .07);--border-2: rgba(255, 255, 255, .08);--border-soft: rgba(255, 255, 255, .05);--radius-ctl: 10px;--radius-card: 14px;--radius-glass: 16px;--radius-modal: 18px;--radius-toast: 12px;--ease: cubic-bezier(.22, .61, .36, 1);--ok: #34c759;--warn: #ff9f0a;--bad: #ff6961;--info: #5b8dff;--special: #bf5af2;--glass-blur: blur(36px) saturate(1.7);--glass-blur-modal: blur(28px) saturate(1.6);--glass-inset: 0 0 0 .5px rgba(255, 255, 255, .06) inset, 0 1px 0 rgba(255, 255, 255, .07) inset;--glass-shadow: 0 8px 24px rgba(0, 0, 0, .5), 0 18px 48px -10px rgba(0, 0, 0, .55);--glass-shadow-menu: 0 12px 32px rgba(0, 0, 0, .5), 0 24px 60px -12px rgba(0, 0, 0, .55);--shell-top: clamp(70px, 10vw, 84px);--card-pad: clamp(16px, 3vw, 22px);--font-mono: "SF Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--font-serif: "Instrument Serif", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%;width:100%}html{overflow-x:clip}body{background:#000;color:var(--text-1);position:relative;overflow-x:clip;font-size:16px;line-height:1.5}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% 50%,#1c1c1e8c,#0000 60%),radial-gradient(ellipse 100% 80% at 50% 120%,#28282c40,#0000 70%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>");opacity:.025;pointer-events:none;mix-blend-mode:overlay;z-index:1}#root{position:relative;z-index:2}a{color:inherit}button{font-family:inherit}code,pre,kbd{font-family:var(--font-mono)}.eyebrow{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);font-weight:600}.mono{font-family:var(--font-mono)}.anywhere{overflow-wrap:anywhere;min-width:0}.serif-accent{font-family:var(--font-serif);font-style:italic;font-weight:400}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:999px;border:2px solid transparent;background-clip:padding-box;transition:background .18s ease}*::-webkit-scrollbar-thumb:hover{background:#ffffff2e;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}.route-fade{animation:route-fade .42s var(--ease) both}@keyframes route-fade{0%{opacity:0;transform:translateY(6px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes side-shimmer{0%,to{opacity:.5}50%{opacity:.85}}:focus-visible{outline:2px solid rgba(255,255,255,.3);outline-offset:1px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.dock-wrap{position:fixed;top:max(18px,env(safe-area-inset-top));left:0;right:0;display:flex;justify-content:center;z-index:50;pointer-events:none;padding:0 16px}.dock{pointer-events:auto;display:inline-flex;align-items:center;gap:4px;padding:6px;border-radius:var(--radius-glass);background:var(--surface-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-2);box-shadow:var(--glass-inset),var(--glass-shadow);animation:dock-in .6s var(--ease) both;max-width:calc(100vw - 32px);overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.dock::-webkit-scrollbar{display:none}@keyframes dock-in{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}.dock-brand{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 10px 0 8px;border-radius:10px;color:var(--text-1);font-size:13.5px;font-weight:600;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;flex-shrink:0;transition:background .15s ease}.dock-brand:hover{background:#ffffff0a}.brand-mark{width:18px;height:18px;border-radius:6px;flex-shrink:0;background:linear-gradient(180deg,#fff,#d8d8dd);box-shadow:0 0 0 1px #00000014 inset,0 1px #fff9 inset,0 2px 8px -2px #ffffff59;display:inline-grid;place-items:center;color:#0a0a0c;font-size:10px;font-weight:700}.dock-sep{width:1px;height:18px;background:#ffffff1a;margin:0 4px;flex-shrink:0}.dock-context{display:inline-flex;align-items:center;height:34px;padding:0 12px;font-size:13px;font-weight:500;letter-spacing:-.005em;color:var(--text-2);white-space:nowrap;flex-shrink:0}.dock-user{position:relative;display:inline-flex;flex-shrink:0}.dock-avatar-button{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 8px 0 6px;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);color:#c7c7cc;font-weight:500;white-space:nowrap;flex-shrink:0;max-width:220px;overflow:hidden;font:inherit;font-size:13px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:background 80ms ease,border-color 80ms ease}.dock-avatar-button:hover{background:#ffffff12;border-color:#ffffff1a}.dock-avatar-button[aria-expanded=true]{background:#ffffff12;border-color:#ffffff1f}.dock-avatar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.avatar-chip{width:24px;height:24px;border-radius:999px;flex-shrink:0;display:inline-grid;place-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.08);color:var(--text-1);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.dock-avatar-button>svg,.dock-chevron{flex-shrink:0;color:var(--text-3);margin-right:2px;transition:transform .22s var(--ease),color .14s ease}.dock-avatar-button[aria-expanded=true]>svg,.dock-avatar-button[aria-expanded=true] .dock-chevron{transform:rotate(180deg);color:#c7c7cc}@media(max-width:960px){.dock-avatar-name{display:none}.dock-avatar-button{padding:0 6px 0 4px}}.dock-menu{position:fixed;min-width:260px;max-width:calc(100vw - 24px);background:linear-gradient(180deg,#222224db,#141416db);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-2);border-radius:var(--radius-glass);box-shadow:var(--glass-inset),var(--glass-shadow-menu);padding:8px;z-index:200;display:flex;flex-direction:column;gap:2px;transform-origin:top right;animation:dock-menu-in .32s var(--ease) both}@keyframes dock-menu-in{0%{opacity:0;transform:translateY(-6px) scale(.965)}to{opacity:1;transform:none}}.dock-menu-head{display:flex;align-items:center;gap:12px;padding:12px 12px 14px;margin:-4px -4px 4px;border-radius:12px;background:#ffffff06}.dock-menu-head .avatar-chip{width:42px;height:42px;border-radius:12px;font-size:1rem;box-shadow:0 0 0 1px #ffffff14,0 4px 12px #00000059}.dock-menu-head-text{display:flex;flex-direction:column;min-width:0;gap:1px}.dock-menu-head-name{color:var(--text-1);font-size:13px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-menu-head-sub{color:var(--text-3);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dock-menu-head-root{color:var(--ok);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.dock-menu-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;font-size:13px;font-weight:500;letter-spacing:-.005em;color:#c7c7cc;background:transparent;border:none;border-radius:9px;cursor:pointer;text-align:left;transition:background .14s var(--ease),color .14s ease}.dock-menu-item:hover:not(:disabled){background:#ffffff0f;color:var(--text-1)}.dock-menu-item:active:not(:disabled){background:#ffffff17}.dock-menu-item-hint{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-4)}.dock-menu-item-hint.is-on{color:var(--ok)}.dock-menu-item-danger{color:var(--bad)}.dock-menu-item-danger:hover:not(:disabled){background:#ff453a24;color:#ff8580}.dock-menu-divider{display:block;height:1px;margin:4px 8px;background:#ffffff0f}@media(max-width:480px){.dock{gap:2px;padding:5px}.dock-context{padding:0 9px;font-size:12px}.dock-sep{margin:0 2px}}.shell{display:grid;grid-template-columns:252px minmax(0,1fr);gap:0;padding-top:var(--shell-top);min-height:100dvh}.sidebar{align-self:start;position:sticky;top:var(--shell-top);height:calc(100dvh - var(--shell-top));padding:16px 14px 36px 16px;border-right:1px solid var(--border-soft);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.side-group{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.side-section{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-4);font-weight:600;padding:10px 12px 6px}.side-link{position:relative;display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:center;padding:11px 12px;border-radius:var(--radius-ctl);color:var(--text-2);text-decoration:none;font-size:.98rem;font-weight:500;letter-spacing:-.008em;border:1px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.side-link svg{color:currentColor;flex-shrink:0;width:20px;height:20px}.side-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-link:hover{color:var(--text-1);background:#ffffff0a}.side-link.active{color:var(--text-1);background:linear-gradient(180deg,#ffffff12,#ffffff06);border-color:var(--border-2)}.side-foot{margin-top:auto;padding:14px 12px 0;font-size:11px;color:var(--text-4);line-height:1.5}@media(max-width:880px){.shell{grid-template-columns:minmax(0,1fr);padding-bottom:calc(88px + env(safe-area-inset-bottom))}.sidebar{display:none}}.main{width:100%;max-width:1280px;margin:0 auto;padding:clamp(20px,4vw,36px);min-width:0}.page-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin-bottom:clamp(20px,4vw,28px)}.page-head-meta{min-width:0}.page-title{font-size:clamp(1.7rem,3.5vw,2.2rem);font-weight:600;letter-spacing:-.025em;color:var(--text-1);line-height:1.15;margin-bottom:4px}.page-sub{font-size:.9rem;color:var(--text-3)}.page-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}@media(max-width:540px){.page-head{flex-direction:column;align-items:stretch}.page-head-actions{align-self:stretch}.page-head-actions .btn{flex:1}}.stack{display:flex;flex-direction:column;gap:16px;min-width:0}.stack-lg{gap:clamp(20px,3.5vw,28px)}.section-title{font-size:1rem;font-weight:600;color:var(--text-1);letter-spacing:-.01em;margin-bottom:2px}.section-sub{font-size:.86rem;color:var(--text-3)}.bottomnav{display:none;position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));margin:0 auto;max-width:430px;z-index:40;align-items:stretch;gap:2px;padding:5px;border-radius:var(--radius-glass);background:var(--surface-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-2);box-shadow:var(--glass-inset),var(--glass-shadow);animation:bottomnav-in .6s var(--ease) both}@keyframes bottomnav-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.bottom-link{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:7px 2px 6px;font-size:10.5px;font-weight:500;letter-spacing:-.005em;color:var(--text-2);text-decoration:none;border-radius:var(--radius-ctl);border:1px solid transparent;background:transparent;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.bottom-link span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-link svg{color:currentColor;flex-shrink:0}.bottom-link:hover{color:var(--text-1);background:#ffffff0a}.bottom-link.active{color:var(--text-1);background:linear-gradient(180deg,#ffffff12,#ffffff06);border-color:var(--border-2)}@media(max-width:360px){.bottom-link{font-size:9.5px}}@media(max-width:880px){.bottomnav{display:flex}}.more-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:41;border:0;padding:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:default;animation:backdrop-in .18s ease both}.more-sheet{display:none;position:fixed;left:12px;right:12px;bottom:calc(78px + env(safe-area-inset-bottom));margin:0 auto;max-width:430px;z-index:42;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px;border-radius:var(--radius-glass);background:var(--surface-glass-solid);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-2);box-shadow:var(--glass-inset),var(--glass-shadow-menu);max-height:calc(100dvh - 160px);overflow-y:auto;transform-origin:bottom center;animation:more-sheet-in .26s var(--ease) both}@keyframes more-sheet-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}.more-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--radius-ctl);color:#c7c7cc;font-size:13px;font-weight:500;letter-spacing:-.005em;text-decoration:none;border:1px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.more-item svg{color:currentColor;flex-shrink:0}.more-item:hover{color:var(--text-1);background:#ffffff0a}.more-item.active{color:var(--text-1);background:linear-gradient(180deg,#ffffff12,#ffffff06);border-color:var(--border-2)}@media(max-width:880px){.more-backdrop{display:block}.more-sheet{display:grid}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.btn-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn-row.end{justify-content:flex-end}.btn-row.between{justify-content:space-between}.btn{font-family:inherit;font-size:.88rem;font-weight:500;padding:10px 16px;border-radius:var(--radius-ctl);border:1px solid var(--border-2);cursor:pointer;background:#ffffff0a;color:var(--text-1);transition:background .15s ease,transform .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.2;text-decoration:none}.btn:hover:not(:disabled){background:#ffffff12}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-sm{padding:7px 12px;font-size:.8rem;border-radius:9px;gap:5px}.btn-primary{background:linear-gradient(180deg,#fff,#d8d8dd);border-color:transparent;color:#0a0a0c;font-weight:600;box-shadow:0 0 0 1px #00000014 inset,0 1px #fff9 inset}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#fff,#d8d8dd);transform:translateY(-1px)}.btn-danger{background:linear-gradient(180deg,#ff6b6b,#d93030);color:#fff;border-color:#ff78786b;font-weight:700;box-shadow:0 0 0 1px #00000024 inset,0 8px 20px -14px #ff4646e6}.btn-danger:hover:not(:disabled){background:linear-gradient(180deg,#ff7878,#e03a3a);transform:translateY(-1px)}.btn-danger-outline{background:transparent;color:var(--bad);border-color:#ff696159}.btn-danger-outline:hover:not(:disabled){background:#ff69611a;border-color:#ff69618c}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:#ffffff0d;color:var(--text-1)}.btn-block{width:100%}@media(max-width:380px){.btn{padding:10px 13px;font-size:.85rem}.btn-sm{padding:7px 10px;font-size:.78rem}}.link-btn{background:none;border:0;padding:0;font:inherit;font-size:inherit;color:var(--text-2);cursor:pointer;text-decoration:none;transition:color .15s ease}.link-btn:hover{color:var(--text-1)}.link-accent{color:#b9c3ff;border-bottom:1px dotted rgba(185,195,255,.4)}.link-accent:hover{color:var(--text-1)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:.74rem;font-weight:600;letter-spacing:.02em;color:var(--text-2)}.input{width:100%;background:#ffffff0a;border:1px solid var(--border-2);border-radius:var(--radius-ctl);padding:10px 12px;color:var(--text-1);font-family:inherit;font-size:.9rem;outline:none;transition:border-color .15s ease;min-width:0}.input::placeholder{color:var(--text-4)}.input:focus{border-color:#ffffff40}.input:disabled{opacity:.5;cursor:not-allowed}.input.mono{font-family:var(--font-mono);font-size:.84rem}.input.is-error{border-color:#ff69618c}textarea.input{resize:vertical;line-height:1.5}select.input{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238e8e93' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;cursor:pointer}select.input option{background:#141416;color:var(--text-1)}.field-hint{font-size:.74rem;color:var(--text-3);line-height:1.5}.field-error{font-size:.74rem;color:var(--bad)}.check-row{display:flex;align-items:flex-start;gap:10px;min-width:0}.check-row input[type=checkbox],input[type=checkbox].check,input[type=radio].check{width:15px;height:15px;margin-top:2.5px;flex-shrink:0;accent-color:#d8d8dd;cursor:pointer}.check-meta{min-width:0}.check-label{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.88rem;color:#e2e2e6;line-height:1.45}.check-hint{font-size:.74rem;color:var(--text-3);line-height:1.5}.radio-row{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:#e2e2e6;cursor:pointer}.toggle-wrap{display:flex;align-items:flex-start;gap:12px;min-width:0}.toggle{position:relative;width:40px;height:22px;padding:0;border-radius:999px;background:#ffffff14;border:1px solid var(--border-2);cursor:pointer;transition:background .18s ease,border-color .18s ease;flex-shrink:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;margin-top:1px}.toggle.is-on{background:linear-gradient(180deg,#fff,#d8d8dd);border-color:transparent}.toggle:disabled{opacity:.5;cursor:not-allowed}.toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0006;transition:transform .18s var(--ease),background .18s ease}.toggle.is-on .toggle-thumb{transform:translate(18px);background:#0a0a0c}.toggle-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.toggle-label{color:#e2e2e6;font-weight:500;font-size:.88rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-desc{color:var(--text-3);font-size:.78rem;line-height:1.5}.card{background:var(--surface-card);border:1px solid var(--border-1);border-radius:var(--radius-card);padding:var(--card-pad);min-width:0}.card.no-pad{padding:0;overflow:hidden}.card-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;margin-bottom:14px}.card-head-meta{min-width:0}.card-title{font-size:.98rem;font-weight:600;color:var(--text-1);letter-spacing:-.01em}.card-desc{margin-top:3px;font-size:.82rem;color:var(--text-3);line-height:1.5}.card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;padding:2.5px 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;line-height:1.5;white-space:nowrap;border:1px solid;vertical-align:middle}.ml-badge{margin-left:8px}.badge-dot{width:5px;height:5px;border-radius:999px;background:currentColor;flex-shrink:0}.badge-dot.glow{box-shadow:0 0 6px currentColor}.badge-ok{color:var(--ok);background:#34c7591f;border-color:#34c7594d}.badge-warn{color:var(--warn);background:#ff9f0a1f;border-color:#ff9f0a4d}.badge-bad{color:var(--bad);background:#ff69611f;border-color:#ff69614d}.badge-info{color:var(--info);background:#5b8dff1f;border-color:#5b8dff4d}.badge-special{color:var(--special);background:#bf5af21f;border-color:#bf5af24d}.badge-muted{color:var(--text-3);background:#8e8e931f;border-color:#8e8e934d}.badge-neutral{color:#c7c7cc;background:#ffffff0d;border-color:#ffffff1f}.status-dot{display:inline-block;width:6px;height:6px;border-radius:999px;flex-shrink:0}.status-dot.ok{background:var(--ok);box-shadow:0 0 6px #34c75999}.status-dot.warn{background:var(--warn);box-shadow:0 0 6px #ff9f0a8c}.status-dot.bad{background:var(--bad);box-shadow:0 0 6px #ff69618c}.status-dot.muted{background:var(--text-3)}.table-wrap{border:1px solid var(--border-1);border-radius:var(--radius-card);background:var(--surface-card);overflow-x:auto;min-width:0}.table{width:100%;min-width:max-content;border-collapse:collapse;text-align:left;font-size:.86rem}.table th{padding:11px 16px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-4);border-bottom:1px solid var(--border-1);background:#ffffff05;white-space:nowrap}.table td{padding:11px 16px;color:var(--text-2);border-bottom:1px solid rgba(255,255,255,.045);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background .15s ease}.table tbody tr:hover{background:#ffffff08}.table tbody tr.is-clickable{cursor:pointer}.table .cell-strong{color:var(--text-1);font-weight:500}.table .cell-dim{color:var(--text-3);font-size:.78rem}.table .cell-mono{font-family:var(--font-mono);font-size:.78rem}.table .cell-num{font-variant-numeric:tabular-nums}.table .cell-right{text-align:right}.table-meta-row td{background:#00000059}.tabs{display:flex;align-items:center;gap:4px;padding:6px;border-radius:var(--radius-glass);background:var(--surface-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border-2);box-shadow:var(--glass-inset);max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 13px;font-size:13px;font-weight:500;letter-spacing:-.005em;color:var(--text-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-ctl);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color .15s ease,background .15s ease,border-color .15s ease}.tab:hover{color:var(--text-1);background:#ffffff0a}.tab.active{color:var(--text-1);background:linear-gradient(180deg,#ffffff12,#ffffff06);border-color:var(--border-2)}@media(max-width:620px){.tab{padding:0 10px;font-size:12.5px}}@media(max-width:380px){.tab{padding:0 8px;font-size:12px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;animation:backdrop-in .2s ease both}@media(max-width:380px){.modal-backdrop{padding:10px}}.modal{width:100%;background:var(--surface-modal);-webkit-backdrop-filter:var(--glass-blur-modal);backdrop-filter:var(--glass-blur-modal);border:1px solid var(--border-2);border-radius:var(--radius-modal);box-shadow:0 0 0 .5px #ffffff0f inset,0 24px 60px -16px #000000d9;overflow:hidden;animation:modal-in .3s var(--ease) both;display:flex;flex-direction:column;max-height:calc(100dvh - 110px);min-height:0}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.modal-sm{max-width:440px}.modal-md{max-width:600px}.modal-lg{max-width:820px}.modal-xl{max-width:min(1200px,96vw)}.modal-header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:18px 20px 10px}.modal-header-meta{min-width:0}.modal-title{color:var(--text-1);font-weight:600;font-size:1.05rem;letter-spacing:-.01em}.modal-desc{margin-top:4px;font-size:.82rem;color:var(--text-3);line-height:1.5}.modal-x{background:transparent;border:0;color:var(--text-3);cursor:pointer;padding:6px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;transition:background .15s ease,color .15s ease}.modal-x:hover{background:#ffffff0f;color:var(--text-1)}.modal-body{padding:8px 20px 20px;overflow-y:auto;min-height:0;overscroll-behavior:contain}.modal-body-text{font-size:.9rem;color:var(--text-2);line-height:1.55}.modal-footer{width:100%;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;animation:modal-in .32s var(--ease) both}.modal-footer-sm{max-width:440px}.modal-footer-md{max-width:600px}.modal-footer-lg{max-width:820px}.modal-footer-xl{max-width:min(1200px,96vw)}.modal-footer .btn{background:var(--surface-modal);-webkit-backdrop-filter:var(--glass-blur-modal);backdrop-filter:var(--glass-blur-modal);border:1px solid var(--border-2)}.modal-footer .btn:hover:not(:disabled){background:linear-gradient(180deg,#2c2c2eeb,#1c1c1eeb)}.modal-footer .btn-primary{background:linear-gradient(180deg,#fff,#d8d8dd);color:#09090b;border-color:transparent;font-weight:650;box-shadow:0 0 0 1px #00000014 inset,0 1px #ffffff9e inset,0 10px 24px -18px #ffffffe6}.modal-footer .btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#fff,#d8d8dd)}.modal-footer .btn-danger{background:linear-gradient(180deg,#ff6868,#d92f2f);color:#fff;border-color:#ff848475;font-weight:700;box-shadow:0 0 0 1px #00000024 inset,0 1px #ffffff47 inset,0 12px 28px -18px #ff4141f2}.modal-footer .btn-danger:hover:not(:disabled){background:linear-gradient(180deg,#ff7a7a,#e53939)}.toast-stack{position:fixed;top:max(80px,env(safe-area-inset-top));right:clamp(12px,3vw,24px);z-index:100;display:flex;flex-direction:column;gap:10px;pointer-events:none;width:min(360px,calc(100vw - 24px))}.toast{pointer-events:auto;position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) 22px;gap:12px;align-items:flex-start;padding:13px 14px 15px;background:var(--surface-glass-toast);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);border:1px solid var(--border-2);border-radius:var(--radius-toast);box-shadow:0 0 0 .5px #ffffff0a inset,0 1px #ffffff0f inset,0 14px 32px -10px #000000b3;overflow:hidden;animation:toast-in .35s var(--ease) both}@keyframes toast-in{0%{opacity:0;transform:translate(12px) scale(.98)}to{opacity:1;transform:none}}.toast-icon{color:var(--text-2);padding-top:1px;display:grid;place-items:center;width:24px;height:24px;font-size:12px}.toast-success .toast-icon{color:var(--ok)}.toast-error .toast-icon{color:var(--bad)}.toast-info .toast-icon{color:var(--info)}.toast-body{min-width:0;color:var(--text-2);font-size:.84rem;line-height:1.45;word-break:break-word;padding-top:2px}.toast-x{background:transparent;border:0;color:var(--text-3);cursor:pointer;padding:4px;border-radius:6px;display:grid;place-items:center;transition:background .15s ease,color .15s ease}.toast-x:hover{background:#ffffff0f;color:var(--text-1)}.toast-bar{position:absolute;left:0;bottom:0;height:2px;width:100%;transform-origin:left center;background:linear-gradient(90deg,#ffffff0f,#ffffff2e);animation:toast-bar linear both}.toast-success .toast-bar{background:linear-gradient(90deg,#34c75966,#34c759b3)}.toast-error .toast-bar{background:linear-gradient(90deg,#ff696166,#ff6961bf)}.toast-info .toast-bar{background:linear-gradient(90deg,#5b8dff66,#5b8dffbf)}@keyframes toast-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.spinner{display:inline-block;border-radius:999px;border:2px solid rgba(255,255,255,.18);border-top-color:#ffffffbf;animation:spin .7s linear infinite;flex-shrink:0}.spinner-sm{width:14px;height:14px;border-width:1.5px}.spinner-md{width:20px;height:20px}.spinner-lg{width:32px;height:32px}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 16px;color:var(--text-3);font-size:.86rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:clamp(36px,7vw,56px) 20px;text-align:center;border:1px dashed rgba(255,255,255,.12);border-radius:var(--radius-card);background:#ffffff03}.empty-title{font-family:var(--font-serif);font-style:italic;font-size:1.25rem;color:var(--text-2);letter-spacing:.01em}.empty-desc{max-width:380px;font-size:.82rem;color:var(--text-3);line-height:1.55}.empty-action{margin-top:12px}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:clamp(32px,6vw,48px) 20px;text-align:center;border:1px solid rgba(255,105,97,.28);border-radius:var(--radius-card);background:#ff69610f}.error-title{font-size:.92rem;font-weight:600;color:var(--bad)}.error-desc{max-width:460px;font-size:.82rem;color:#ffa09bd9;line-height:1.55;overflow-wrap:anywhere}.copy-field{display:flex;flex-direction:column;gap:6px;min-width:0}.copy-field-row{display:flex;align-items:stretch;gap:8px;min-width:0}.copy-field-value{min-width:0;flex:1;-webkit-user-select:all;user-select:all;background:#00000080;border:1px solid var(--border-2);border-radius:var(--radius-ctl);padding:10px 12px;font-family:var(--font-mono);font-size:.8rem;color:var(--text-1);overflow-wrap:anywhere;word-break:break-all;line-height:1.5}.copy-field-btn{flex-shrink:0;align-self:stretch;border-radius:var(--radius-ctl);border:1px solid var(--border-2);background:#ffffff0a;color:var(--text-2);padding:0 13px;font-size:.76rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.copy-field-btn:hover{background:#ffffff12;color:var(--text-1)}.copy-field-btn.is-copied{color:var(--ok);border-color:#34c75966;background:#34c7591a}.copy-field-warning{font-size:.74rem;color:var(--warn);line-height:1.5}.copy-inline{background:transparent;border:0;border-radius:6px;padding:2px 6px;font-size:10px;color:var(--text-4);cursor:pointer;transition:background .15s ease,color .15s ease}.copy-inline:hover{background:#ffffff12;color:var(--text-1)}.copy-inline.is-copied{color:var(--ok)}.banner{border-radius:var(--radius-ctl);padding:11px 14px;font-size:.86rem;line-height:1.55;border:1px solid}.banner a{color:inherit}.banner-info{background:#5b8dff14;border-color:#5b8dff40;color:#b9ccff}.banner-warn{background:#ff9f0a14;border-color:#ff9f0a4d;color:#ffd396}.banner-ok{background:#34c75914;border-color:#34c75947;color:#a5e8b6}.banner-split{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.banner-split>p,.banner-split>div:first-child{min-width:0;flex:1 1 260px}.scroll-list{border:1px solid var(--border-1);border-radius:var(--radius-ctl);overflow-y:auto;min-width:0}.scroll-list ul{list-style:none}.row-list{list-style:none;min-width:0}.row-list>li{border-bottom:1px solid rgba(255,255,255,.05)}.row-list>li:last-child{border-bottom:0}.meter{min-width:0}.meter-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;font-size:.74rem}.meter-label{color:var(--text-3)}.meter-value{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.meter-track{height:5px;border-radius:999px;background:#ffffff12;overflow:hidden}.meter-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ffffff8c,#ffffffd9);transition:width .4s var(--ease)}.meter-fill.warn{background:linear-gradient(90deg,#ff9f0aa6,#ff9f0ae6)}.meter-fill.bad{background:linear-gradient(90deg,#ff6961a6,#ff6961e6)}.form-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px 16px}.form-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:14px 16px}.form-stack{display:flex;flex-direction:column;gap:16px;min-width:0}.form-stack.tight{gap:12px}.perm-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;align-items:start}.perm-group{min-width:0;border:1px solid var(--border-1);border-radius:var(--radius-card);background:#ffffff06;padding:12px 14px 14px;transition:border-color .15s ease}.perm-group:hover{border-color:#ffffff1f}.perm-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.perm-group-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.perm-group-count{font-size:11px;font-weight:600;color:var(--text-3);font-variant-numeric:tabular-nums}.perm-group-toggle{border:1px solid var(--border-2);background:#ffffff0a;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:600;color:var(--text-2);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.perm-group-toggle:hover{background:#ffffff14;border-color:#fff3;color:var(--text-1)}.perm-group-toggle.is-all{background:linear-gradient(180deg,#fff,#d8d8dd);border-color:transparent;color:#0a0a0c}.perm-group-toggle.is-all:hover{filter:brightness(.96)}.perm-grid{display:flex;flex-wrap:wrap;gap:6px}.perm-grid:not(.compact) .check-row{display:inline-flex;position:relative;width:fit-content}.perm-grid:not(.compact) input[type=checkbox].check{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;cursor:pointer}.perm-grid:not(.compact) .check-label{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--border-2);border-radius:999px;background:#ffffff09;color:var(--text-2);transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease}.perm-grid:not(.compact) .check-label:before{content:"";width:8px;height:8px;flex-shrink:0;background:currentColor;clip-path:polygon(13% 45%,0% 63%,38% 100%,100% 13%,84% 0%,38% 70%);transform:scale(0);transition:transform .14s var(--ease)}.perm-grid:not(.compact) .check-row:hover .check-label{border-color:#ffffff38;background:#ffffff12;color:var(--text-1)}.perm-grid:not(.compact) .check-label:active{transform:scale(.96)}.perm-grid:not(.compact) .check-row:has(input:focus-visible) .check-label{box-shadow:0 0 0 3px #ffffff29}.perm-grid:not(.compact) .check-row:has(input:checked) .check-label{background:linear-gradient(180deg,#fff,#d8d8dd);border-color:transparent;color:#0a0a0c;box-shadow:0 1px 2px #00000040}.perm-grid:not(.compact) .check-row:has(input:checked) .check-label:before{transform:scale(1)}.perm-code{font-family:var(--font-mono);font-size:.76rem;color:inherit}.perm-grid.compact{flex-direction:column;align-items:stretch}.perm-grid.compact .check-row{padding:6px 8px;border-radius:8px;transition:background .15s ease}.perm-grid.compact .check-row:has(input:checked){background:#ffffff0d}.perm-grid.compact input[type=checkbox].check{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:17px;height:17px;margin-top:1.5px;border-radius:5px;border:1px solid var(--border-2);background:#ffffff08;display:grid;place-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.perm-grid.compact input[type=checkbox].check:hover{border-color:#ffffff38;background:#ffffff12}.perm-grid.compact input[type=checkbox].check:focus-visible{outline:none;box-shadow:0 0 0 3px #ffffff24}.perm-grid.compact input[type=checkbox].check:before{content:"";width:9px;height:9px;transform:scale(0);transition:transform .14s var(--ease);background:#0a0a0c;clip-path:polygon(13% 45%,0% 63%,38% 100%,100% 13%,84% 0%,38% 70%)}.perm-grid.compact input[type=checkbox].check:checked{background:linear-gradient(180deg,#fff,#d8d8dd);border-color:transparent}.perm-grid.compact input[type=checkbox].check:checked:before{transform:scale(1)}.auth-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(48px,10vw,96px) clamp(12px,4vw,24px) calc(48px + env(safe-area-inset-bottom))}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.auth-brand .brand-mark{width:34px;height:34px;border-radius:10px;font-size:15px}.auth-brand-name{font-size:1.1rem;font-weight:600;letter-spacing:-.015em;color:var(--text-1)}.auth-card-wrap{width:min(440px,100%)}.auth-card{position:relative;width:100%;text-align:center;padding:clamp(24px,5vw,36px) clamp(18px,4.5vw,32px) clamp(20px,4vw,28px);border-radius:var(--radius-modal);background:linear-gradient(180deg,#1c1c1ec7,#0e0e10c7);-webkit-backdrop-filter:blur(40px) saturate(1.6);backdrop-filter:blur(40px) saturate(1.6);border:1px solid var(--border-2);box-shadow:0 0 0 .5px #ffffff0f inset,0 1px #ffffff0d inset,0 40px 100px -24px #000000d9,0 22px 50px -20px #0009;overflow:hidden;animation:modal-in .5s var(--ease) both}.auth-card:before{content:"";position:absolute;top:-130px;left:50%;margin-left:-210px;width:420px;height:280px;background:radial-gradient(circle,rgba(216,216,221,.14),transparent 65%);opacity:.6;pointer-events:none}.auth-card>*{position:relative}.auth-title{font-size:clamp(1.3rem,4.5vw,1.55rem);font-weight:600;letter-spacing:-.025em;color:var(--text-1);line-height:1.2;margin-bottom:4px}.auth-greeting{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1rem;color:var(--text-3);margin-bottom:4px}.auth-sub{font-size:.88rem;color:var(--text-3);line-height:1.5;margin-bottom:22px}.auth-form{display:flex;flex-direction:column;gap:14px;text-align:left}.auth-error{font-size:.8rem;color:var(--bad);line-height:1.5}.auth-fineprint{margin-top:28px;font-size:.74rem;color:var(--text-4);text-align:center}.invite-email{color:var(--text-1);font-weight:600;overflow-wrap:anywhere}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}.stat-tile{display:flex;flex-direction:column;justify-content:flex-start;gap:8px;padding:16px 18px 15px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#ffffff0b,#ffffff05);box-shadow:0 0 0 .5px #ffffff0a inset;min-width:0}.stat-tile-label{font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.stat-tile-value{color:var(--text-1);font-size:clamp(1.4rem,3vw,1.7rem);font-weight:600;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.stat-tile-value.accent{color:var(--ok)}.node-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px}.node-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;padding-top:4px;font-size:.76rem;color:var(--text-3)}.node-meta-row strong{color:var(--text-2);font-weight:500;font-variant-numeric:tabular-nums}.node-meta-row .ok{color:var(--ok)}.node-meta-row .bad{color:var(--bad)}.node-meta-row .version{font-family:var(--font-mono);font-size:.68rem;color:var(--text-4)}.mini-server-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;min-width:0;color:inherit;text-decoration:none;transition:background .15s ease}.mini-server-row:hover{background:#ffffff08}.mini-server-main{display:flex;flex-direction:column;gap:2px;min-width:0}.mini-server-name{font-size:.88rem;font-weight:500;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-server-sub{font-size:.72rem;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-server-side{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:0}.mini-server-addr{font-family:var(--font-mono);font-size:.72rem;color:var(--text-3);white-space:nowrap}@media(max-width:480px){.mini-server-addr{display:none}}.activity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 16px;font-size:.84rem;transition:background .15s ease}.activity-row:hover{background:#ffffff08}.activity-row-main{display:flex;align-items:center;gap:10px;min-width:0}.activity-action{font-family:var(--font-mono);font-size:.76rem;color:var(--text-1);white-space:nowrap}.activity-target{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;color:var(--text-3)}.activity-row-side{display:flex;align-items:center;gap:12px;flex-shrink:0;font-size:.74rem;color:var(--text-3)}.activity-row-side .when{font-variant-numeric:tabular-nums;color:var(--text-4)}@media(max-width:480px){.activity-row-side .who{display:none}}.server-row-desc{max-width:26ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.addr-cell{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.wizard{width:100%;max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(16px,3vw,22px);min-width:0}.wizard-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px 16px}.wizard-head-meta{min-width:0}.wizard-progress{display:flex;align-items:center;gap:6px;list-style:none}.wizard-progress li{height:4px;flex:1;border-radius:999px;background:#ffffff12;transition:background .3s var(--ease),box-shadow .3s var(--ease)}.wizard-progress li.done{background:#ffffff73}.wizard-progress li.current{background:linear-gradient(90deg,#fff,#d8d8dd);box-shadow:0 0 10px -2px #ffffff8c}.wizard-progress li.skipped{background:#ffffff08}.wizard-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px}.template-card{position:relative;border:1px solid var(--border-1);border-radius:12px;background:#ffffff05;padding:15px 16px;text-align:left;cursor:pointer;color:inherit;font-family:inherit;min-width:0;transition:background .15s ease,border-color .15s ease,transform .15s ease}.template-card:hover{background:#ffffff0a;border-color:#ffffff24}.template-card.selected{border-color:#ffffff4d;background:linear-gradient(180deg,#ffffff12,#ffffff06);box-shadow:0 0 0 .5px #ffffff1f inset}.template-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}.template-card-name{font-size:.92rem;font-weight:600;color:var(--text-1);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-card-desc{font-size:.78rem;color:var(--text-3);line-height:1.55}.template-card-type{margin-top:9px;font-family:var(--font-mono);font-size:.64rem;color:var(--text-4)}.pick-row{display:flex;flex-wrap:wrap;gap:8px}.pick-chip{border:1px solid var(--border-2);background:#ffffff0a;color:var(--text-2);border-radius:9px;padding:7px 13px;font-size:.78rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.pick-chip:hover{background:#ffffff12;color:var(--text-1)}.pick-chip.selected{border-color:#ffffff52;background:linear-gradient(180deg,#ffffff17,#ffffff09);color:var(--text-1)}.version-list{max-height:224px}.version-list.tall{max-height:288px}.version-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;background:transparent;border:0;font-family:inherit;text-align:left;cursor:pointer;color:var(--text-2);transition:background .15s ease}.version-row:hover{background:#ffffff0a}.version-row.selected{background:linear-gradient(180deg,#ffffff14,#ffffff08)}.version-row .ver{font-family:var(--font-mono);font-size:.8rem;color:var(--text-2);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-row.selected .ver{color:var(--text-1)}.version-row .side{display:flex;align-items:center;gap:6px;flex-shrink:0}.version-row .side-note{font-size:.64rem;color:var(--text-4);white-space:nowrap}.alloc-list{max-height:288px}.alloc-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;min-width:0;transition:background .15s ease}.alloc-row:hover{background:#ffffff08}.alloc-row.selected{background:#ffffff0b}.alloc-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1;cursor:pointer;flex-wrap:wrap}.alloc-addr{font-family:var(--font-mono);font-size:.82rem;color:var(--text-1);overflow-wrap:anywhere}.alloc-note{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;color:var(--text-4)}.alloc-primary{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;cursor:pointer;font-size:.72rem;color:var(--text-3);white-space:nowrap}.auto-alloc-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border-1);border-radius:var(--radius-ctl);padding:13px 16px;min-width:0}.auto-alloc-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;color:var(--text-1)}.auto-alloc-count{flex-shrink:0;font-family:var(--font-mono);font-size:.75rem;color:var(--text-3)}.review-list{border:1px solid var(--border-1);border-radius:var(--radius-ctl);padding:4px 16px;margin-top:10px}.review-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05)}.review-row:last-child{border-bottom:0}.review-label{flex-shrink:0;font-size:.76rem;color:var(--text-3)}.review-value{min-width:0;text-align:right;font-size:.86rem;color:var(--text-1);overflow-wrap:anywhere}.server-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;min-width:0}.server-head-meta{min-width:0}.crumbs{display:flex;align-items:center;gap:7px;margin-bottom:6px;font-size:.76rem;color:var(--text-4);min-width:0}.crumbs a{color:var(--text-3);text-decoration:none;transition:color .15s ease}.crumbs a:hover{color:var(--text-1)}.crumbs .crumb-id{font-family:var(--font-mono);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.server-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0}.server-title{font-size:clamp(1.4rem,3vw,1.8rem);font-weight:600;letter-spacing:-.025em;color:var(--text-1);line-height:1.15;min-width:0;overflow-wrap:anywhere}.server-version-note{font-family:var(--font-mono);font-size:.72rem;color:var(--text-3);white-space:nowrap}.server-status-detail{margin-top:6px;font-size:.78rem;color:var(--warn)}.server-address{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border-radius:var(--radius-ctl);background:#ffffff0a;border:1px solid rgba(255,255,255,.06);max-width:100%;min-width:0}.server-address code{font-size:.84rem;color:var(--text-1);overflow-wrap:anywhere;min-width:0}.server-tabs-row{margin:16px 0 20px;display:flex;min-width:0}.stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,168px),1fr));gap:10px}.stats-cell{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:13px 15px;min-height:62px;border-radius:12px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#ffffff0b,#ffffff05);box-shadow:0 0 0 .5px #ffffff0a inset;min-width:0;overflow:hidden}.stats-cell-meta{position:relative;min-width:0;z-index:1}.stats-cell-label{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:3px}.stats-cell-value{font-size:.9rem;font-weight:600;letter-spacing:-.02em;color:var(--text-1);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-cell .spark{position:absolute;right:8px;bottom:6px;z-index:0;opacity:.8;pointer-events:none}.spark-cpu{color:var(--info)}.spark-mem{color:var(--ok)}.stats-conn{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;color:var(--text-4)}.console-card{border:1px solid var(--border-1);border-radius:var(--radius-card);background:var(--surface-card);overflow:hidden;display:flex;flex-direction:column;min-width:0}.console-head{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.console-head-side{display:inline-flex;align-items:center;gap:10px;font-size:.72rem;color:var(--text-3)}.console-resume{border:1px solid var(--border-2);background:#ffffff0a;color:var(--text-2);border-radius:7px;padding:3px 9px;font-size:.7rem;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.console-resume:hover{background:#ffffff14;color:var(--text-1)}.console-scroll{height:clamp(300px,48vh,420px);overflow-y:auto;background:var(--surface-terminal);padding:12px 16px;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;color:var(--text-2);overscroll-behavior:contain;min-width:0}.console-scroll .console-line{white-space:pre-wrap;word-break:break-all}.console-placeholder{color:var(--text-4)}.console-input-row{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:9px 12px 9px 16px;border-top:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#222224b3,#141416b3);-webkit-backdrop-filter:blur(20px) saturate(1.5);backdrop-filter:blur(20px) saturate(1.5)}.console-prompt{font-family:var(--font-mono);font-size:.86rem;color:var(--text-3);flex-shrink:0;-webkit-user-select:none;user-select:none}.console-input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:var(--text-1);font-family:var(--font-mono);font-size:.84rem}.console-input::placeholder{color:var(--text-4)}.files-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;min-width:0}.files-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-family:var(--font-mono);font-size:.84rem;min-width:0}.files-crumbs button{background:none;border:0;padding:2px 3px;font:inherit;color:var(--text-3);cursor:pointer;border-radius:5px;transition:color .15s ease,background .15s ease;overflow-wrap:anywhere}.files-crumbs button:hover{color:var(--text-1);background:#ffffff0d}.files-crumbs button.current{color:var(--text-1)}.files-crumbs .sep{color:var(--text-4)}.files-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.files-selected-count{font-size:.76rem;color:var(--text-3);white-space:nowrap}.files-divider{width:1px;height:16px;background:#ffffff1f;margin:0 2px}.file-row{display:flex;align-items:center;gap:12px;padding:8px 16px;min-width:0;transition:background .15s ease}.file-row:hover{background:#ffffff08}.file-row-open{display:flex;align-items:center;gap:9px;flex:1;min-width:0;background:none;border:0;padding:2px 0;font-family:inherit;text-align:left;cursor:pointer}.file-icon{width:18px;flex-shrink:0;text-align:center;font-size:.78rem;color:var(--text-3)}.file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:.82rem;color:var(--text-2);transition:color .15s ease}.file-row-open:hover .file-name{color:var(--text-1)}.file-name.is-dir{color:#a7c1ff}.file-size,.file-when{flex-shrink:0;width:76px;text-align:right;font-size:.72rem;color:var(--text-4);font-variant-numeric:tabular-nums;white-space:nowrap}.file-row-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;opacity:0;transition:opacity .15s ease}.file-row:hover .file-row-actions,.file-row:focus-within .file-row-actions{opacity:1}@media(hover:none){.file-row-actions{opacity:1}}.file-action{display:inline-grid;place-items:center;background:transparent;border:0;border-radius:6px;padding:4px 7px;font-size:.74rem;color:var(--text-3);cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease}.file-action:hover{background:#ffffff12;color:var(--text-1)}.file-action.danger{color:#ff6961bf}.file-action.danger:hover{color:var(--bad)}@media(max-width:640px){.file-when{display:none}}@media(max-width:460px){.file-size{display:none}}.files-note{font-size:.74rem;color:var(--text-4);line-height:1.6}.delete-path-list{margin-top:8px;max-height:160px;overflow-y:auto;list-style:none;font-family:var(--font-mono);font-size:.74rem;color:var(--text-3);display:flex;flex-direction:column;gap:4px}.delete-path-list li{overflow-wrap:anywhere}.editor-card{border:1px solid var(--border-1);border-radius:var(--radius-card);background:var(--surface-card);overflow:hidden;min-width:0}.editor-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.editor-head-meta{display:flex;align-items:center;gap:10px;min-width:0}.editor-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:.82rem;color:var(--text-1)}.editor-dirty-dot{width:7px;height:7px;border-radius:999px;background:var(--warn);box-shadow:0 0 6px #ff9f0a8c;flex-shrink:0}.editor-head-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.editor-textarea{display:block;width:100%;height:min(32rem,62vh);resize:vertical;background:var(--surface-terminal);border:0;outline:none;padding:14px 16px;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;color:var(--text-1)}.editor-fallback{padding:clamp(16px,4vw,28px)}.config-row{display:flex;align-items:center;gap:12px;min-width:0}.config-key{flex:0 1 33%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:.76rem;color:var(--text-2)}.config-row .input{flex:1}.config-managed{flex-shrink:0;font-size:.64rem;color:var(--text-4);white-space:nowrap}@media(max-width:560px){.config-row{flex-wrap:wrap;gap:4px 12px}.config-key{flex-basis:100%}.config-managed{white-space:normal}}.config-add-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:12px;align-items:end;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}@media(max-width:560px){.config-add-row{grid-template-columns:minmax(0,1fr);align-items:stretch}}.current-version-row{display:flex;flex-wrap:wrap;gap:16px 44px}.current-version-cell .label{font-size:.72rem;color:var(--text-3);margin-bottom:3px}.current-version-cell .value{font-family:var(--font-mono);font-size:1.15rem;color:var(--text-1)}.install-row{padding:3px 0}.install-row-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:9px;background:transparent;border:0;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s ease;min-width:0}.install-row-btn:hover{background:#ffffff09}.install-row-main{display:flex;align-items:center;gap:10px;min-width:0}.install-caret{color:var(--text-4);flex-shrink:0;font-size:.72rem}.install-kind{font-family:var(--font-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);white-space:nowrap}.install-when{font-size:.72rem;color:var(--text-3);font-variant-numeric:tabular-nums;text-align:right;min-width:0}.install-detail{display:flex;flex-direction:column;gap:8px;padding:6px 10px 10px;min-width:0}.install-error{border:1px solid rgba(255,105,97,.3);background:#ff696114;border-radius:8px;padding:8px 12px;font-family:var(--font-mono);font-size:.74rem;color:#ffa39e;overflow-wrap:anywhere}.log-pre{max-height:320px;overflow:auto;border:1px solid var(--border-1);border-radius:var(--radius-ctl);background:var(--surface-terminal);padding:12px 14px;font-family:var(--font-mono);font-size:11px;line-height:1.55;color:var(--text-2);white-space:pre-wrap;word-break:break-word}.schedule-card-row{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;min-width:0}.schedule-meta{min-width:0;flex:1 1 320px}.schedule-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:7px 10px;min-width:0}.schedule-name{font-size:.94rem;font-weight:600;color:var(--text-1);overflow-wrap:anywhere}.schedule-cron{font-family:var(--font-mono);font-size:.74rem;color:var(--text-1);background:#ffffff0f;border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:2px 8px;white-space:nowrap}.schedule-tz,.schedule-desc{font-size:.74rem;color:var(--text-3)}.schedule-tasks{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:8px}.schedule-runs{margin-top:9px;font-size:.74rem;color:var(--text-3);line-height:1.6}.schedule-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex-shrink:0}.task-editor{border:1px solid var(--border-1);border-radius:var(--radius-ctl);background:#ffffff05;padding:13px 14px}.task-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.task-editor-label{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-4)}.task-remove{background:none;border:0;padding:0;font-size:.72rem;color:#ff6961cc;cursor:pointer;transition:color .15s ease}.task-remove:hover{color:var(--bad)}.cron-examples{display:block;margin-top:4px}.cron-example-btn{background:none;border:0;padding:0;font-family:var(--font-mono);font-size:.72rem;color:var(--text-2);cursor:pointer}.cron-example-btn:hover{color:var(--text-1);text-decoration:underline}.cron-ok{color:var(--ok)}.checksum-cell{max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;color:var(--text-4);margin-top:2px}.notes-cell{display:block;max-width:24ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.danger-card{border-color:#ff696147}.danger-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;border:1px solid var(--border-1);border-radius:var(--radius-ctl);padding:13px 16px}.danger-row.severe{border-color:#ff69614d}.danger-row-meta{min-width:0;flex:1 1 280px}.danger-row-title{font-size:.88rem;font-weight:500;color:var(--text-1)}.danger-row.severe .danger-row-title{color:#ffa39e}.danger-row-desc{margin-top:2px;font-size:.76rem;color:var(--text-3);line-height:1.5}.member-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding:12px 16px;transition:background .15s ease}.member-row:hover{background:#ffffff08}.member-meta{min-width:0}.member-name{font-size:.88rem;font-weight:500;color:var(--text-1)}.member-sub{font-size:.76rem;color:var(--text-3);overflow-wrap:anywhere}.member-perm-count{margin-top:3px;font-size:.68rem;color:var(--text-4)}.member-actions{display:flex;gap:8px;flex-shrink:0}.invite-emailed-note{font-size:.85rem;line-height:1.55;border-radius:10px;padding:10px 12px;border:1px solid}.invite-emailed-note.ok{color:var(--ok);border-color:#34c7594d;background:#34c75914}.invite-emailed-note.ok strong{color:var(--text-1)}.invite-emailed-note.warn{color:var(--warn);border-color:#ff9f0a4d;background:#ff9f0a14}.mods-subtabs{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:#ffffff08;border:1px solid var(--border-2);align-self:flex-start}.mods-subtab{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--text-2);font-family:inherit;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}.mods-subtab:hover{color:var(--text-1)}.mods-subtab.active{color:var(--text-1);background:linear-gradient(180deg,#ffffff14,#ffffff08);border-color:var(--border-2)}.mods-subtab-count{font-size:.72rem;font-weight:600;padding:1px 7px;border-radius:999px;background:#ffffff1a;color:var(--text-1)}.mods-updatebar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,159,10,.3);background:#ff9f0a14;color:var(--warn);font-size:.86rem}.mods-list{display:flex;flex-direction:column;gap:8px}.mod-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid var(--border-2);background:linear-gradient(180deg,#ffffff07,#ffffff03)}.mod-icon{width:40px;height:40px;border-radius:9px;object-fit:cover;background:#ffffff0d;flex-shrink:0}.mod-icon-fallback{display:grid;place-items:center;font-size:1.1rem;font-weight:600;color:var(--text-3);border:1px solid var(--border-2)}.mod-meta{min-width:0;display:flex;flex-direction:column;gap:3px}.mod-title{color:var(--text-1);font-weight:600;font-size:.94rem;letter-spacing:-.01em;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mod-title:hover{text-decoration:underline}.mod-desc{color:var(--text-2);font-size:.82rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mod-sub{color:var(--text-3);font-size:.76rem}.mod-actions{display:inline-flex;gap:8px;align-items:center;flex-shrink:0}.mods-unmanaged{padding:14px;border-radius:12px;border:1px dashed var(--border-2);background:#ffffff04}.mods-unmanaged-head{font-size:.84rem;font-weight:600;color:var(--text-2)}.mods-unmanaged-note{font-size:.78rem;color:var(--text-3);margin-top:2px;margin-bottom:10px}.mods-unmanaged-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.mods-unmanaged-list li{display:flex;justify-content:space-between;gap:12px;font-size:.8rem;color:var(--text-2)}.mods-unmanaged-list code{font-family:var(--font-mono);overflow-wrap:anywhere;min-width:0}.mods-deps{padding:12px;border-radius:10px;background:#ffffff08;border:1px solid var(--border-2)}.mods-deps-head{font-size:.82rem;color:var(--text-2);margin-bottom:6px}.mods-deps ul{margin:0;padding-left:18px;color:var(--text-1);font-size:.85rem}@media(max-width:520px){.mod-row{grid-template-columns:34px minmax(0,1fr);grid-template-areas:"icon meta" "actions actions";row-gap:10px}.mod-icon{grid-area:icon;width:34px;height:34px}.mod-meta{grid-area:meta}.mod-actions{grid-area:actions;justify-content:flex-end}}.node-card{position:relative;border:1px solid var(--border-1);border-radius:var(--radius-card);background:var(--surface-card);padding:16px 18px;text-align:left;cursor:pointer;color:inherit;font-family:inherit;min-width:0;transition:background .15s ease,border-color .15s ease}.node-card:hover{border-color:#ffffff29}.node-card.selected{border-color:#ffffff4d;background:linear-gradient(180deg,#ffffff0f,#ffffff05);box-shadow:0 0 0 .5px #ffffff1a inset}.node-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.node-card-name{font-size:.94rem;font-weight:600;color:var(--text-1);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-card-host{display:block;font-family:var(--font-mono);font-size:.74rem;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-card-location{display:block;font-size:.74rem;color:var(--text-4)}.node-card-stats{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:11px;font-size:.74rem;color:var(--text-3)}.node-card-stats strong{color:var(--text-2);font-weight:500;font-variant-numeric:tabular-nums}.node-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;font-size:.68rem;color:var(--text-4)}.node-card-foot span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-panel{border:1px solid rgba(52,199,89,.28);background:#34c7590f;border-radius:var(--radius-ctl);padding:14px 16px;display:flex;flex-direction:column;gap:10px}.token-panel-title{font-size:.86rem;font-weight:600;color:#a5e8b6}.token-panel-note{font-size:.76rem;color:var(--text-3);line-height:1.6}.token-panel-note code{font-size:.7rem;color:var(--text-2);overflow-wrap:anywhere}.alloc-add-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto minmax(0,1fr) auto;gap:12px;align-items:start;margin-top:16px}.alloc-add-grid .btn{margin-top:24px}@media(max-width:940px){.alloc-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alloc-add-grid .btn{margin-top:0;align-self:end}}@media(max-width:460px){.alloc-add-grid{grid-template-columns:minmax(0,1fr)}}.role-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}.role-card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.role-card-meta{min-width:0}.role-card-name{font-size:.9rem;font-weight:600;color:var(--text-1);overflow-wrap:anywhere}.role-card-desc{margin-top:2px;font-size:.76rem;color:var(--text-3);line-height:1.5}.role-card-count{margin-top:6px;font-size:.68rem;color:var(--text-4)}.role-card-limits{margin-top:4px;font-size:.7rem;color:var(--text-3);line-height:1.45}.role-card-actions{display:flex;gap:8px;flex-shrink:0}.role-limits{border-color:#ffffff1f}.role-limits-head{margin-bottom:10px}.role-limit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}.perm-grid.compact{grid-template-columns:1fr;gap:8px}.badge-list{display:inline-flex;flex-wrap:wrap;gap:4px}.user-role-grid{display:grid;grid-template-columns:1fr;gap:8px}.user-role-option{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid var(--border-1);border-radius:var(--radius-ctl);padding:10px 12px;min-width:0}.user-role-option.selected{background:#ffffff09;border-color:#ffffff29}.user-role-option .check-row{flex:1;min-width:0}.user-access-summary{border-color:#ffffff1f}.user-access-role-list{display:grid;gap:8px}.user-access-role{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.user-access-role-main{display:grid;gap:3px;min-width:0}.user-access-role-name{color:var(--text-1);font-size:.84rem;font-weight:600;overflow-wrap:anywhere}.user-access-role-limits{color:var(--text-3);font-size:.72rem;line-height:1.45}.user-permission-preview{display:flex;flex-wrap:wrap;gap:5px}.audit-filter-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px}.audit-filter-row .field{flex:0 1 260px}.audit-pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem;color:var(--text-3)}.audit-meta-pre{max-height:256px;overflow:auto;border:1px solid var(--border-1);border-radius:var(--radius-ctl);background:var(--surface-terminal);padding:10px 13px;font-family:var(--font-mono);font-size:11px;line-height:1.5;color:var(--text-3);white-space:pre-wrap;word-break:break-word}.audit-action{font-family:var(--font-mono);font-size:.74rem;color:var(--text-1)}.audit-target-id{margin-left:6px;font-family:var(--font-mono);font-size:.64rem;color:var(--text-4)}.settings-page{max-width:720px}.settings-action-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;border:1px solid var(--border-1);border-radius:var(--radius-ctl);padding:13px 16px}.settings-action-meta{min-width:0;flex:1 1 260px}.settings-action-title{font-size:.88rem;color:var(--text-1)}.settings-action-desc{margin-top:2px;font-size:.76rem;color:var(--text-3)}.apikey-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;min-width:0}.apikey-meta{min-width:0}.apikey-name{font-size:.86rem;font-weight:500;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.apikey-sub{font-size:.72rem;color:var(--text-3);overflow-wrap:anywhere}.apikey-count{margin-top:2px;font-size:.66rem;color:var(--text-4)}.perm-scroll{max-height:224px;overflow-y:auto;border:1px solid var(--border-1);border-radius:var(--radius-ctl);padding:12px 13px;display:flex;flex-direction:column;gap:14px}
