@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.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}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-ext-400-normal-C_uLvvQ5.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-400-normal-Bh0R7Dhr.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-vietnamese-400-normal-ByoDsISC.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-ext-500-normal-C9ShMxGR.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-500-normal-CEVyPk4Y.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-vietnamese-500-normal-BvH7FW2L.woff2)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-0:#0b0a14;--bg-1:#12111f;--bg-2:#17162a;--surface:#ffffff0b;--surface-hi:#ffffff16;--line:#ffffff17;--line-hi:#ffffff2b;--txt:#e6e3f5;--txt-mut:#9a93bf;--txt-dim:#8b84ad;--acc:#8b7cf6;--acc-hi:#a794ff;--acc-dim:#5b46c9;--acc-r:139, 124, 246;--ok:#4ade80;--err:#fb7185;--warn:#fbbf24;--info:#38bdf8;--off:#6e6894;--ok-2:#22a35b;--err-2:#e11d48;--warn-2:#d97706;--info-2:#0284c7;--op-fixed:#22d3ee;--display:"Space Grotesk Variable", ui-sans-serif, system-ui, sans-serif;--sans:"Inter Variable", ui-sans-serif, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--t-xs:9.5px;--t-sm:10.5px;--t-base:11.5px;--t-lg:12px;--t-xl:12.5px;--t-2xl:13px;--t-3xl:14px;--t-4xl:17px;--t-5xl:21px;--t-6xl:23px;--r-sm:7px;--r-md:9px;--r-lg:11px;--r-xl:14px;--r-full:99px;--dur-1:.12s;--dur-2:.2s;--dur-3:.32s;--dur-4:.6s;--ease-out:cubic-bezier(.2, .8, .3, 1);--ease-in-out:cubic-bezier(.6, 0, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--shadow-pop:0 16px 40px #000a;--shadow-modal:0 30px 70px #000c;--glass-blur:blur(18px);--discord:#5865f2;--discord-hover:#4752c4;--discord-glow:#5865f266;font:var(--t-2xl)/1.5 var(--sans);color:var(--txt);background:var(--bg-0);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.operator{--acc:#22d3ee;--acc-hi:#67e8f9;--acc-dim:#0e7490;--acc-r:34, 211, 238}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-0);color:var(--txt);font-family:var(--sans);margin:0;overflow:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(120% 90% at 18% -12%, rgba(var(--acc-r), .16) 0%, transparent 58%);transition:background var(--dur-4) var(--ease-out);position:fixed;inset:0}#root{z-index:1;width:100vw;height:100vh;display:flex;position:relative}h1,h2,h3,h4,h5,h6{font-family:var(--display);color:var(--txt);letter-spacing:-.025em;font-weight:600}h1{font-size:var(--t-5xl);margin-bottom:12px}h2{font-size:var(--t-4xl);margin-bottom:10px}h3{font-size:var(--t-3xl);margin-bottom:8px}h4{font-size:var(--t-2xl);margin-bottom:6px}h5{font-size:var(--t-xl);margin-bottom:4px}h6{font-size:var(--t-lg);text-transform:uppercase;letter-spacing:.08em;color:var(--txt-mut)}a{color:var(--acc-hi);transition:color var(--dur-1) var(--ease-out);font-weight:500;text-decoration:none}a:hover{color:var(--acc-hi);text-underline-offset:3px;text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer;font-weight:500}:focus-visible{outline:2px solid var(--acc-hi);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:rgba(var(--acc-r), .35);color:var(--txt)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:500;background:var(--bg-2);border:1px solid var(--line-hi);border-radius:var(--r-md);color:var(--txt);padding:9px 15px;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:8px}.label-xs{font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--txt-dim)}.mono{font-family:var(--mono)}input,select,textarea{font-size:var(--t-xl);color:var(--txt);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);outline:none;padding:8px 11px}input::placeholder,textarea::placeholder{color:var(--txt-dim)}input:hover,select:hover,textarea:hover{border-color:var(--line-hi)}input:focus,select:focus,textarea:focus{border-color:rgba(var(--acc-r), .5);box-shadow:0 0 0 3px rgba(var(--acc-r), .1)}select option,select optgroup{background:var(--bg-2);color:var(--txt)}.inp{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);width:100%;font-size:var(--t-xl);transition:border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);outline:none;padding:8px 11px}.inp:focus{border-color:rgba(var(--acc-r), .5);box-shadow:0 0 0 3px rgba(var(--acc-r), .1)}.inp.bad{border-color:#fb71858c;box-shadow:0 0 0 3px #fb71851a}.field{margin-bottom:13px}.field label{font-size:var(--t-base);margin-bottom:5px;font-weight:500;display:block}.field .help{font-size:var(--t-sm);color:var(--txt-dim);margin-top:4px}.err-msg{font-size:var(--t-sm);color:var(--err);animation:rise var(--dur-2) var(--ease-out);align-items:center;gap:5px;margin-top:4px;display:flex}code{font-family:var(--mono);font-size:var(--t-lg);border-radius:var(--r-sm);color:var(--txt);border:1px solid var(--line);background:#00000057;padding:2px 8px}pre code{background:0 0;border:none;padding:0}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes lineIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}@keyframes palIn{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes staggerIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes slideInRight{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}@keyframes skeletonShimmer{to{background-position:-200% 0}}@keyframes statusPulse{0%,to{box-shadow:0 0}50%{box-shadow:0 0 0 4px #0000}}@keyframes emptyStateFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.spin{animation:.7s linear infinite spin;display:inline-block}.pop{animation:pop .38s var(--ease-spring)}.pulse{animation:1.1s ease-in-out infinite pulse}.shake{animation:shake .4s var(--ease-out)}.stag{opacity:0;animation:rise var(--dur-3) var(--ease-out) forwards}.page{animation:rise var(--dur-2) var(--ease-out)}.skel{border-radius:var(--r-sm);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1c 50%,#ffffff0a 75%) 0 0/200% 100%;height:13px;animation:1.3s linear infinite shimmer}.skeleton{border-radius:var(--r-sm);background:linear-gradient(90deg,#ffffff0a 25%,#ffffff1c 50%,#ffffff0a 75%) 0 0/200% 100%;animation:1.3s linear infinite shimmer}.skeleton-text{border-radius:4px;height:13px;margin-bottom:8px}.skeleton-title{width:60%;height:19px;margin-bottom:12px}.skeleton-card{border-radius:var(--r-lg);height:92px;margin-bottom:12px}.skeleton-avatar{border-radius:50%;width:38px;height:38px}.skeleton-button{border-radius:var(--r-md);width:116px;height:34px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--r-full);background:#ffffff14 padding-box padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:#ffffff29 padding-box padding-box}table{border-collapse:collapse;width:100%;font-size:var(--t-lg)}thead th{text-align:left;font-family:var(--mono);font-size:var(--t-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--txt-dim);border-bottom:1px solid var(--line);padding:9px 13px;font-weight:400}tbody td{color:var(--txt);border-bottom:1px solid #ffffff0b;padding:10px 13px}tbody tr{transition:background var(--dur-1) var(--ease-out)}tbody tr:hover{background:var(--surface)}tbody tr:last-child td{border-bottom:none}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);font-size:var(--t-lg);padding:10px 13px}.data-table th{color:var(--txt-dim);font-family:var(--mono);font-weight:400;font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.14em}.data-table tr{transition:background var(--dur-1) var(--ease-out)}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.form-label{font-size:var(--t-base);color:var(--txt);flex-direction:column;gap:6px;font-weight:500;display:flex}.form-label small{color:var(--txt-mut);font-weight:400;font-size:var(--t-sm)}.form-input,.form-group-input{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);width:100%;color:var(--txt);font-size:var(--t-xl);transition:border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);padding:8px 11px}.form-input:focus,.form-group-input:focus{border-color:rgba(var(--acc-r), .5);box-shadow:0 0 0 3px rgba(var(--acc-r), .1);outline:none}.form-group{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.form-group-label{font-size:var(--t-base);color:var(--txt);font-weight:500}.checkbox-group{background:var(--surface);border-radius:var(--r-md);border:1px solid var(--line);cursor:pointer;transition:border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);align-items:center;gap:10px;padding:9px 11px;display:flex}.checkbox-group:hover{border-color:var(--line-hi);background:var(--surface-hi)}.checkbox-group input[type=checkbox]{width:17px;height:17px;accent-color:var(--acc);cursor:pointer}.btn{font-size:var(--t-lg);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--txt);cursor:pointer;white-space:nowrap;transition:transform var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);justify-content:center;align-items:center;gap:7px;padding:7px 13px;font-weight:450;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-hi);border-color:var(--line-hi);transform:translateY(-1px);box-shadow:0 6px 16px #0007}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:default;box-shadow:none!important;transform:none!important}.btn.pri,.btn-primary{background:linear-gradient(140deg, rgba(var(--acc-r), .26), rgba(var(--acc-r), .08));border-color:rgba(var(--acc-r), .42);color:var(--acc-hi)}.btn.pri:hover,.btn-primary:hover{background:linear-gradient(140deg, rgba(var(--acc-r), .34), rgba(var(--acc-r), .12));box-shadow:0 6px 20px rgba(var(--acc-r), .22)}.btn.danger,.btn-danger{color:var(--err);background:#fb718517;border-color:#fb71854d}.btn.danger:hover,.btn-danger:hover{background:#fb718529}.btn.ok,.btn-success{color:var(--ok);background:#4ade8017;border-color:#4ade804d}.btn.ok:hover,.btn-success:hover{background:#4ade8029}.btn-secondary,.btn-outline{background:var(--surface);color:var(--txt);border:1px solid var(--line)}.btn-secondary:hover,.btn-outline:hover{background:var(--surface-hi);border-color:var(--line-hi)}.btn-ghost{color:var(--txt-mut);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-hi);color:var(--txt);border-color:#0000}.btn-sm{font-size:var(--t-base);border-radius:var(--r-sm);padding:4px 10px}.btn-lg{font-size:var(--t-2xl);border-radius:var(--r-lg);padding:10px 20px}a.btn{text-decoration:none}.btn-discord{background:var(--discord);color:#fff;border:1px solid var(--discord)}.btn-discord:hover{background:var(--discord-hover);border-color:var(--discord-hover);box-shadow:0 4px 14px var(--discord-glow)}.btn-discord-icon{flex:none;width:17px;height:17px}.icon-btn{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);width:34px;height:34px;color:var(--txt-mut);cursor:pointer;transition:transform var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-hi);border-color:var(--line-hi);color:var(--txt);transform:translateY(-1px)}.icon-btn-sm{border-radius:var(--r-sm);width:28px;height:28px}.icon-btn-lg{border-radius:var(--r-md);width:44px;height:44px}.pill{font-size:var(--t-sm);border-radius:var(--r-full);border:1px solid var(--line);color:var(--txt-mut);align-items:center;gap:5px;padding:3px 9px;display:inline-flex}.pill.ok{color:var(--ok);background:#4ade801a;border-color:#4ade804d}.pill.err{color:var(--err);background:#fb71851a;border-color:#fb718552}.pill.warn{color:var(--warn);background:#fbbf241a;border-color:#fbbf244d}.pill.info{color:var(--info);background:#38bdf81a;border-color:#38bdf84d}.pill.acc{color:var(--acc-hi);border-color:rgba(var(--acc-r), .35);background:rgba(var(--acc-r), .12)}.tiles{gap:10px;margin-bottom:16px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);padding:12px 13px}.tile:hover{border-color:var(--line-hi);transform:translateY(-2px)}.tile .v{font-family:var(--display);font-size:var(--t-6xl);letter-spacing:-.025em;margin-top:4px;font-weight:600}.tile .v.mono{font-family:var(--mono);font-size:20px;font-weight:500}.tile .d{font-size:var(--t-sm);color:var(--txt-dim);margin-top:2px}.card,.card-enhanced,.stat-card-enhanced,.section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out)}.card{padding:0}.card-enhanced,.stat-card-enhanced,.section{padding:15px}.section{margin-bottom:18px}.card:hover,.card-enhanced:hover,.stat-card-enhanced:hover{border-color:var(--line-hi)}.card-enhanced:hover,.stat-card-enhanced:hover{transform:translateY(-2px)}.card-h{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:10px 13px;display:flex}.card-h h3{font-family:var(--display);font-size:var(--t-2xl);letter-spacing:-.01em;margin:0;font-weight:600}.card-header,.section-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:11px;display:flex}.card-title,.section-title{font-family:var(--display);font-size:var(--t-3xl);color:var(--txt);letter-spacing:-.01em;font-weight:600}.stat-card-enhanced{align-items:center;gap:15px;display:flex}.stat-card-icon{background:linear-gradient(140deg, rgba(var(--acc-r), .26), rgba(var(--acc-r), .08));border:1px solid rgba(var(--acc-r), .32);border-radius:var(--r-md);width:44px;height:44px;color:var(--acc-hi);flex-shrink:0;justify-content:center;align-items:center;display:flex}.tabs{border-bottom:1px solid var(--line);gap:18px;margin:14px 0;display:flex;position:relative}.tabs button{font-size:var(--t-xl);color:var(--txt-mut);cursor:pointer;transition:color var(--dur-2) var(--ease-out);background:0 0;border:none;padding:0 0 9px}.tabs button:hover{color:var(--txt)}.tabs button.on{color:var(--txt);font-weight:600}.tabs .ind{background:var(--acc);height:2px;box-shadow:0 0 9px var(--acc);transition:left var(--dur-2) var(--ease-out), width var(--dur-2) var(--ease-out), background var(--dur-4) var(--ease-out);border-radius:2px;position:absolute;bottom:-1px}.console{border:1px solid var(--line);border-radius:var(--r-lg);font-family:var(--mono);font-size:var(--t-base);color:#a9a3c9;background:#00000057;padding:11px 13px;line-height:1.85;overflow-y:auto}.console .t{color:var(--txt-dim)}.console .ok{color:var(--ok)}.console .warn{color:var(--warn)}.console .err{color:var(--err)}.console .line{animation:lineIn var(--dur-3) var(--ease-out)}.cin{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--dur-1) var(--ease-out);align-items:center;gap:8px;margin-top:9px;padding:8px 11px;display:flex}.cin:focus-within{border-color:rgba(var(--acc-r), .5);box-shadow:0 0 0 3px rgba(var(--acc-r), .1)}.cin input{font-family:var(--mono);font-size:var(--t-base);background:0 0;border:none;outline:none;flex:1;padding:0}.empty-state{text-align:center;color:var(--txt-mut);animation:fadeIn var(--dur-3) var(--ease-out);padding:56px 20px}.empty-state>svg{width:44px;height:44px;color:var(--acc);opacity:.7;margin-bottom:15px}.empty-state h3{font-size:var(--t-3xl);color:var(--txt);margin:8px 0 11px}.empty-state p{font-size:var(--t-lg);color:var(--txt-mut);max-width:360px;margin:0 auto}.empty-state-enhanced{text-align:center;background:var(--surface);border:1px dashed var(--line-hi);border-radius:var(--r-xl);padding:72px 24px}.empty-state-icon-container{background:rgba(var(--acc-r), .12);border:1px solid rgba(var(--acc-r), .32);border-radius:var(--r-xl);width:68px;height:68px;color:var(--acc-hi);justify-content:center;align-items:center;margin:0 auto 18px;animation:3.5s ease-in-out infinite emptyStateFloat;display:flex}.empty-state-enhanced h3{font-size:var(--t-4xl);color:var(--txt);margin-bottom:8px;font-weight:600}.empty-state-enhanced p{font-size:var(--t-lg);color:var(--txt-mut);max-width:400px;margin:0 auto 22px}.glass,.glass-card{background:var(--bg-2);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--line-hi)}.glass-card{border-radius:var(--r-xl);padding:18px}.page-transition{animation:rise var(--dur-2) var(--ease-out)}.stagger-item{animation:staggerIn var(--dur-3) var(--ease-out) forwards;opacity:0}.stagger-item:first-child{animation-delay:0s}.stagger-item:nth-child(2){animation-delay:45ms}.stagger-item:nth-child(3){animation-delay:90ms}.stagger-item:nth-child(4){animation-delay:.135s}.stagger-item:nth-child(5){animation-delay:.18s}.stagger-item:nth-child(6){animation-delay:.225s}.stagger-item:nth-child(7){animation-delay:.27s}.stagger-item:nth-child(8){animation-delay:.315s}.stagger-item:nth-child(9){animation-delay:.36s}.stagger-item:nth-child(10){animation-delay:.405s}.toast-enhanced{background:var(--bg-2);border:1px solid var(--line-hi);border-left:3px solid var(--acc);border-radius:var(--r-lg);font-size:var(--t-lg);box-shadow:var(--shadow-pop);min-width:300px;animation:toastIn var(--dur-3) var(--ease-spring);align-items:center;gap:9px;padding:10px 14px;display:flex}.toast-success{border-left-color:var(--ok)}.toast-error{border-left-color:var(--err)}.toast-warning{border-left-color:var(--warn)}.grid-2{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}@media (width<=1024px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}body{overflow:auto}#root{height:auto;min-height:100vh}h1{font-size:19px}h2,input,select,textarea{font-size:16px}.table-scroll>table{min-width:560px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.form-hint{font-size:var(--t-sm);color:var(--txt-mut);margin-top:5px;display:block}.act__icon{transition:color var(--dur-2) var(--ease-out);place-items:center;display:inline-grid}.act--running .act__icon{animation:.7s linear infinite spin}.act--success .act__icon{animation:pop .38s var(--ease-spring);color:var(--ok)}.act--error .act__icon{animation:shake .4s var(--ease-out);color:var(--err)}.act--success{border-color:#4ade804d}.act--error{border-color:#fb718561}.bar{border-radius:var(--r-full);width:5px;height:22px;transition:background var(--dur-4) var(--ease-out), box-shadow var(--dur-4) var(--ease-out);flex:none}.bar.ok{background:linear-gradient(var(--ok), var(--ok-2));box-shadow:0 0 10px #4ade806b}.bar.err{background:linear-gradient(var(--err), var(--err-2));box-shadow:0 0 10px #fb718580}.bar.warn{background:linear-gradient(var(--warn), var(--warn-2));box-shadow:0 0 10px #fbbf2473}.bar.info{background:linear-gradient(var(--info), var(--info-2));box-shadow:0 0 10px #38bdf873}.bar.off{background:var(--off);box-shadow:none}.bar.acc{background:linear-gradient(var(--acc), var(--acc-dim));box-shadow:0 0 10px rgba(var(--acc-r), .45)}.bar.tall{width:6px;height:30px}.bar.short{height:15px}.srow{border-radius:var(--r-lg);cursor:pointer;text-align:left;width:100%;color:inherit;transition:background var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:10px 11px;display:flex}.srow:hover{background:var(--surface-hi);transform:translate(2px)}.srow.on{background:var(--surface-hi);border-color:rgba(var(--acc-r), .28);box-shadow:inset 2px 0 0 var(--acc)}.srow .nm{font-size:var(--t-lg);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.srow .mv{font-family:var(--mono);font-size:var(--t-xs);color:var(--txt-dim)}.srow.dead{opacity:.55}.srow.is-starting{border-color:#fbbf2447}.srow.is-ok{background:linear-gradient(90deg, #4ade8017, var(--surface));border-color:#4ade804d}.srow.is-err{background:linear-gradient(90deg, #fb71851c, var(--surface));border-color:#fb718561}.stat-tile__v{font-family:var(--display);font-size:var(--t-6xl);letter-spacing:-.025em;margin-top:4px;font-weight:600}.stat-tile__v.mono{font-family:var(--mono);font-size:20px;font-weight:500}.stat-tile__d{font-size:var(--t-sm);color:var(--txt-dim);margin-top:2px}#toasts{z-index:200;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.toast{background:var(--bg-2);border:1px solid var(--line-hi);border-left:3px solid var(--acc);border-radius:var(--r-lg);font-size:var(--t-lg);box-shadow:var(--shadow-pop);animation:toastIn var(--dur-3) var(--ease-spring);align-items:center;gap:9px;max-width:min(420px,90vw);padding:10px 14px;display:flex}.toast.ok{border-left-color:var(--ok)}.toast.err{border-left-color:var(--err)}.toast.out{opacity:0;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);transform:translateY(10px)}.toast__icon{flex:none;place-items:center;display:inline-grid}.toast.ok .toast__icon{color:var(--ok)}.toast.err .toast__icon{color:var(--err)}.toast.info .toast__icon{color:var(--acc-hi)}@media (width<=900px){#toasts{align-items:stretch;bottom:70px;left:12px;right:12px}}.pal-scrim{z-index:300;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn var(--dur-2) var(--ease-out);background:#05040c9e;justify-content:center;align-items:flex-start;padding-top:14vh;display:flex;position:fixed;inset:0}.pal{background:var(--bg-2);border:1px solid rgba(var(--acc-r), .3);border-radius:var(--r-xl);width:min(540px,90vw);box-shadow:var(--shadow-modal);animation:palIn var(--dur-3) var(--ease-spring);overflow:hidden}.pal input{border:none;border-bottom:1px solid var(--line);width:100%;font-size:var(--t-3xl);background:0 0;border-radius:0;outline:none;padding:13px 16px}.pal input:focus{box-shadow:none;border-color:var(--line)}.pal .res{max-height:290px;padding:6px;overflow-y:auto}.pal .r{border-radius:var(--r-md);cursor:pointer;font-size:var(--t-xl);text-align:left;width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:9px 11px;display:flex}.pal .r:hover,.pal .r.on{background:var(--surface-hi)}.pal .r .k{font-family:var(--mono);font-size:var(--t-xs);color:var(--txt-dim);margin-left:auto}.menu{z-index:120;background:var(--bg-2);border:1px solid var(--line-hi);border-radius:var(--r-lg);min-width:200px;box-shadow:var(--shadow-pop);transform-origin:var(--menu-origin,top left);animation:menuIn var(--dur-2) var(--ease-spring);padding:5px;position:absolute}@keyframes menuIn{0%{opacity:0;transform:scale(.94)translateY(-4px)}to{opacity:1;transform:none}}.menu__item{border-radius:var(--r-md);width:100%;color:var(--txt);font-size:var(--t-xl);text-align:left;cursor:pointer;transition:background var(--dur-1) var(--ease-out);background:0 0;border:none;align-items:center;gap:9px;padding:8px 10px;text-decoration:none;display:flex}.menu__item:hover,.menu__item.on{background:var(--surface-hi)}.menu__item.danger{color:var(--err)}.menu__sep{background:var(--line);height:1px;margin:5px 0}.toast-stack{z-index:90;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.toast{pointer-events:auto;border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:var(--r-md);background:var(--bg-2);min-width:260px;max-width:340px;box-shadow:var(--shadow-pop);align-items:flex-start;gap:10px;padding:11px 12px;animation:.26s cubic-bezier(.22,1,.36,1) toast-in;display:flex}.toast--clickable{cursor:pointer}.toast--clickable:hover{border-left-color:var(--acc-hi);background:var(--bg-1)}.toast__body{flex:1;min-width:0}.toast__title{font-family:var(--display);font-size:var(--t-lg);color:var(--txt);margin-bottom:2px}.toast__msg{font-size:var(--t-base);color:var(--txt-mut);overflow-wrap:anywhere}.toast__close{border-radius:var(--r-sm);width:20px;height:20px;color:var(--txt-dim);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.toast__close:hover{background:var(--surface-hi);color:var(--txt)}@keyframes toast-in{0%{opacity:0;transform:translate(26px)scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.search-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;padding-top:10vh;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.search-modal{background:var(--surface);border:1px solid var(--line);width:600px;max-height:600px;box-shadow:var(--shadow-pop);border-radius:16px;flex-direction:column;animation:.3s cubic-bezier(.4,0,.2,1) scaleIn;display:flex;overflow:hidden}.search-input-row{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:12px;padding:18px 20px;display:flex}.search-input-row input{color:var(--txt);background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-size:16px}.search-input-row input::placeholder{color:var(--txt-mut)}.search-close{color:var(--txt-mut);cursor:pointer;background:#00000057;border:none;border-radius:6px;padding:6px;transition:all .2s}.search-close:hover{background:rgba(var(--acc-r), .12);color:var(--acc);transform:rotate(90deg)}.search-icon{color:var(--acc)}.search-loading,.search-empty{text-align:center;color:var(--txt-mut);padding:40px 20px;font-size:14px}.search-results{flex:1;padding:4px 0;overflow-y:auto}.search-group{padding:4px 0}.search-group-label{text-transform:uppercase;letter-spacing:.8px;color:var(--txt-mut);background:var(--surface);align-items:center;gap:8px;padding:8px 20px;font-size:12px;font-weight:700;display:flex}.search-item{cursor:pointer;text-align:left;width:100%;color:var(--txt);background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;margin:0 8px;padding:10px 20px;font-family:inherit;transition:all .15s;display:flex}.search-item:hover{background:rgba(var(--acc-r), .12);color:var(--txt);border-left:3px solid var(--acc);padding-left:23px}.search-item .search-item-name{color:var(--txt);letter-spacing:-.2px;font-size:14px;font-weight:600}.search-item .search-item-meta{color:var(--txt-mut);font-size:12px}.search-hint{border-top:1px solid var(--line);color:var(--txt-mut);text-align:center;background:var(--surface);padding:12px 20px;font-size:12px}.search-hint kbd{border:1px solid var(--line);font-size:11px;font-family:var(--mono);color:var(--txt);background:#00000057;border-radius:4px;margin:0 4px;padding:2px 6px}@media (width<=768px){.search-overlay{padding-top:0}.search-modal{border-radius:0;width:100%;max-width:100%;max-height:90vh}.search-input-row{padding:14px 16px}.search-item{margin:0;padding:10px 14px}.search-item:hover{padding-left:18px}.search-hint{padding:10px 14px}}.search-item.animate{animation:.2s fadeIn}.search-results-count{color:var(--txt-mut);border-bottom:1px solid var(--line);background:var(--surface);padding:8px 20px;font-size:12px}.search-results-count strong{color:var(--acc);font-weight:600}.search-category{color:var(--txt-mut);background:#00000057;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.shell{z-index:1;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.shell--operator{box-shadow:inset 0 0 0 1px #22d3ee59}.rail{background:var(--bg-1);border-right:1px solid var(--line);z-index:30;flex-direction:column;flex:none;align-items:center;gap:6px;width:68px;padding:14px 0 13px;display:flex}.rail__logo{border-radius:var(--r-lg);background:linear-gradient(140deg, var(--acc), var(--acc-dim));width:38px;height:38px;font-family:var(--display);color:var(--bg-0);transition:background var(--dur-4) var(--ease-out);flex:none;place-items:center;margin-bottom:11px;font-size:18px;font-weight:700;display:grid}.rail__icn{border-radius:var(--r-lg);width:44px;height:44px;color:var(--txt-dim);cursor:pointer;transition:background var(--dur-1) var(--ease-out), color var(--dur-1) var(--ease-out), border-color var(--dur-1) var(--ease-out), transform var(--dur-1) var(--ease-out);background:0 0;border:1px solid #0000;flex:none;place-items:center;display:grid;position:relative}.rail__icn:hover{background:var(--surface-hi);color:var(--txt);transform:scale(1.08)}.rail__icn.on{background:linear-gradient(140deg, rgba(var(--acc-r), .24), rgba(var(--acc-r), .07));color:var(--acc-hi);border-color:rgba(var(--acc-r), .32)}.rail__icn.on:before{content:"";border-radius:var(--r-full);background:var(--acc);width:3px;height:22px;box-shadow:0 0 9px var(--acc);position:absolute;top:50%;left:-12px;transform:translateY(-50%)}.rail__tip{background:var(--bg-2);border:1px solid var(--line-hi);border-radius:var(--r-sm);font-size:var(--t-base);white-space:nowrap;color:var(--txt);opacity:0;pointer-events:none;box-shadow:var(--shadow-pop);z-index:50;transition:opacity var(--dur-2) var(--ease-out) .4s, transform var(--dur-2) var(--ease-out) .4s;padding:4px 9px;position:absolute;top:50%;left:56px;transform:translateY(-50%)translate(-4px)}.rail__icn:hover .rail__tip{opacity:1;transform:translateY(-50%)translate(0)}.rail__spacer{margin-top:auto}.rail__sep{background:var(--line);flex:none;width:32px;height:1px;margin:7px 0}.rail__account{flex:none;position:relative}.rail__menu{--menu-origin:bottom left;bottom:0;left:56px}.rail__org-box{flex:none;position:relative}.rail__org{width:40px;height:40px}.rail__org--operator{cursor:default;color:#22d3ee}.rail__org__av{border-radius:var(--r-md);background:linear-gradient(140deg, var(--acc), var(--acc-dim));width:26px;height:26px;font-family:var(--display);font-size:var(--t-lg);color:var(--bg-0);place-items:center;font-weight:600;display:grid}.rail__org-menu{--menu-origin:top left;min-width:210px;top:0;left:56px}.menu-catcher{z-index:110;position:fixed;inset:0}.ctx{background:var(--bg-1);border-right:1px solid var(--line);z-index:20;flex-direction:column;flex:none;width:278px;display:flex;position:relative;overflow:hidden}.ctx__close{z-index:2;flex:none;display:inline-flex;position:absolute;top:9px;right:10px}.org-switch__av{background:linear-gradient(140deg, var(--acc), var(--acc-dim));width:20px;height:20px;font-size:var(--t-sm);color:var(--bg-0);border-radius:6px;flex:none;place-items:center;font-weight:600;display:grid}.org-switch__nm{font-size:var(--t-lg);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.ctx__title{align-items:baseline;gap:7px;padding:11px 44px 7px 12px;display:flex}.ctx__title h2{font-family:var(--display);font-size:var(--t-3xl);letter-spacing:-.015em;margin:0;font-weight:600}.ctx__n{font-family:var(--mono);font-size:var(--t-sm);color:var(--txt-dim)}.ctx__filter{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);color:var(--txt-dim);transition:border-color var(--dur-1) var(--ease-out);align-items:center;gap:7px;margin:0 12px 8px;padding:6px 9px;display:flex}.ctx__filter:focus-within{border-color:rgba(var(--acc-r), .5)}.ctx__filter input{min-width:0;font-size:var(--t-base);color:var(--txt);background:0 0;border:none;outline:none;flex:1;padding:0}.ctx__filter input:focus{box-shadow:none}.ctx__list{flex-direction:column;flex:1;gap:2px;padding:0 8px 10px;display:flex;overflow-y:auto}.ctx__group{padding:11px 5px 5px}.ctx__empty{font-size:var(--t-base);color:var(--txt-dim);padding:18px 11px}.ctx__list .srow{color:var(--txt);text-decoration:none}.ctx__handle{margin-bottom:12px;display:none}.shell--collapsed .ctx__handle{display:inline-flex}.shell__main{flex:1;min-width:0;padding:18px 22px 26px;overflow:hidden auto}.shell__main:focus{outline:none}@media (width<=900px){.shell{flex-direction:column;height:auto;min-height:100vh;overflow:visible}.rail{border-right:none;border-top:1px solid var(--line);z-index:40;flex-direction:row;order:2;justify-content:space-around;align-items:center;gap:0;width:100%;height:58px;padding:0 6px;position:sticky;bottom:0}.rail__logo,.rail__sep,.rail__spacer,.rail__tip{display:none}.rail__icn{width:42px;height:42px}.rail__icn.on:before{width:22px;height:3px;top:-1px;left:50%;transform:translate(-50%)}.rail__menu{--menu-origin:bottom right;bottom:calc(100% + 8px);left:auto;right:0}.rail__org{width:40px;height:40px}.rail__org-menu{--menu-origin:bottom left;width:min(260px,100vw - 16px);top:auto;bottom:calc(100% + 8px);left:0}.rail__notif-panel{--menu-origin:bottom right;width:min(330px,100vw - 16px);max-height:min(60vh,100vh - 84px);bottom:calc(100% + 8px);left:auto;right:0}.ctx{z-index:45;width:min(320px,86vw);transition:transform var(--dur-3) var(--ease-out);box-shadow:var(--shadow-pop);position:fixed;top:0;bottom:58px;left:0;transform:translate(-100%)}.ctx.open{transform:none}.ctx-scrim{z-index:44;animation:fadeIn var(--dur-2) var(--ease-out);background:#05040c9e;position:fixed;inset:0}.shell__main{order:1;padding:14px 14px 20px}.ctx__handle{display:inline-flex}}.rail__notif{flex:none;position:relative}.rail__badge{border-radius:var(--r-full);background:var(--acc);min-width:15px;height:15px;color:var(--bg-0);font-family:var(--mono);font-size:var(--t-xs);place-items:center;padding:0 4px;font-weight:600;line-height:1;animation:.42s cubic-bezier(.34,1.56,.64,1) badge-pop;display:grid;position:absolute;top:4px;right:4px}@keyframes badge-pop{0%{box-shadow:0 0 0 0 rgba(var(--acc-r), .55);transform:scale(.4)}55%{transform:scale(1.25)}to{box-shadow:0 0 0 9px rgba(var(--acc-r), 0);transform:scale(1)}}.rail__offline{border-radius:var(--r-full);background:var(--warn);width:7px;height:7px;animation:1.8s ease-in-out infinite offline-pulse;position:absolute;bottom:5px;right:5px}@keyframes offline-pulse{0%,to{opacity:.45}50%{opacity:1}}.rail__notif-panel{--menu-origin:bottom left;flex-direction:column;width:330px;max-height:min(70vh,100vh - 24px);padding:0;display:flex;bottom:0;left:56px;overflow:hidden}.notif__head{border-bottom:1px solid var(--line);font-family:var(--display);font-size:var(--t-lg);color:var(--txt);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.notif__all,.notif__offline{color:var(--txt-mut);font-size:var(--t-sm);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;display:inline-flex}.notif__all:hover{color:var(--acc-hi)}.notif__offline{border-bottom:1px solid var(--line);width:100%;color:var(--warn);justify-content:flex-start;padding:8px 12px}.notif__list{overflow-y:auto}.notif__empty{text-align:center;color:var(--txt-dim);font-size:var(--t-base);padding:18px 12px}.notif__item{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;border-left:2px solid #0000;width:100%;padding:9px 12px;transition:background .14s,border-color .14s;display:block}.notif__item:hover{background:var(--surface)}.notif__item.unread{border-left-color:var(--acc);background:var(--surface)}.notif__title{font-size:var(--t-base);color:var(--txt);margin-bottom:2px}.notif__msg{font-size:var(--t-sm);color:var(--txt-mut);overflow-wrap:anywhere}.notif__time{font-family:var(--mono);font-size:var(--t-xs);color:var(--txt-dim);margin-top:3px}@media (prefers-reduced-motion:reduce){.rail__badge,.rail__offline{animation:none}}.notif__item--flat{cursor:default}.dashboard{max-width:1200px;margin:0 auto;padding:0 16px}.page-header h1{font-family:var(--display);letter-spacing:-.01em;margin-bottom:4px;font-size:26px;font-weight:700}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px;display:grid}@media (width<=1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.stats-grid{grid-template-columns:1fr;gap:12px}}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:16px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(140deg, rgba(var(--acc-r), .26), rgba(var(--acc-r), .08));transform-origin:0;height:3px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.stat-card:hover:before{transform:scaleX(1)}.stat-card:hover{box-shadow:none, 0 0 24px rgba(var(--acc-r), .25);border-color:rgba(var(--acc-r), .35);transform:translateY(-4px)}.stat-icon{background:linear-gradient(140deg, rgba(var(--acc-r), .26), rgba(var(--acc-r), .08));width:52px;height:52px;color:var(--acc-hi);box-shadow:0 4px 14px rgba(var(--acc-r), .2);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-info{flex-direction:column;gap:4px;display:flex}.stat-value{font-family:var(--display);color:var(--txt);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:21px;font-weight:700}.stat-label{color:var(--txt-mut);font-size:13px}.stat-sub{color:var(--txt-mut);opacity:.8;font-size:12px}.section{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.section-header{border-bottom:1px solid var(--line);padding:16px 20px}.section-header h2{letter-spacing:-.3px;margin:0;font-size:16px;font-weight:700}.server-list{flex-direction:column;display:flex}.server-card{border-bottom:1px solid var(--line);color:var(--txt);align-items:center;gap:14px;padding:16px 20px;text-decoration:none;transition:all .2s;display:flex}.server-card:last-child{border-bottom:none}.server-card:hover{background:rgba(var(--acc-r), .12);box-shadow:inset 3px 0 0 var(--acc)}.server-status{border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:2s ease-in-out infinite statusPulse}.server-info{flex-direction:column;flex:1;gap:4px;display:flex}.server-name{color:var(--txt);letter-spacing:-.2px;font-size:15px;font-weight:600}.server-meta{color:var(--txt-mut);font-size:13px}.server-badge{font-family:var(--mono);color:var(--txt);text-transform:uppercase;letter-spacing:.5px;background:#00000057;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;transition:all .2s}.server-card:hover .server-badge{color:var(--acc);background:rgba(var(--acc-r), .12);box-shadow:0 0 8px rgba(var(--acc-r), .35)}.server-actions{gap:6px;display:flex}.icon-btn:hover{border-color:var(--acc);color:var(--acc);background:rgba(var(--acc-r), .12);box-shadow:0 2px 8px rgba(var(--acc-r), .2);transform:translateY(-2px)}.empty-state{text-align:center;color:var(--txt);background:linear-gradient(180deg, var(--surface) 0%, var(--bg-0) 100%);border:2px dashed var(--line);border-radius:16px;padding:80px 24px;animation:.5s fadeIn}.empty-state>svg{width:64px;height:64px;color:var(--acc);opacity:.8;filter:drop-shadow(0 4px 12px rgba(var(--acc-r), .2));margin-bottom:16px}@media (width<=768px){.dashboard{padding:0 12px}.page-header h1{font-size:20px}.stats-grid{grid-template-columns:1fr}.stat-card{padding:16px}.section{border-radius:12px}.section-header{padding:14px 16px}.server-card{gap:10px;padding:12px 14px}.server-name{font-size:14px}.server-badge{display:none}}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);width:500px;max-width:calc(100% - 32px);max-height:90vh;animation:scaleIn var(--dur-2) var(--ease-out);box-shadow:var(--shadow-pop), 0 0 0 1px #fb8b240a;overflow-y:auto}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h2{font-family:var(--display);color:var(--txt);letter-spacing:-.01em;margin:0;font-size:18px;font-weight:700}.modal-close{color:var(--txt-mut);cursor:pointer;background:#00000057;border:none;border-radius:6px;padding:6px;transition:all .2s}.modal-close:hover{color:var(--txt);background:rgba(var(--acc-r), .12);transform:rotate(90deg)}.modal-body{flex-direction:column;gap:16px;padding:24px;display:flex}.modal-body .form-group{flex-direction:column;gap:8px;display:flex}.modal-body label{color:var(--txt);margin-bottom:4px;font-size:14px;font-weight:600}.modal-body input,.modal-body select,.modal-body textarea{border:1px solid var(--line);width:100%;color:var(--txt);font-size:var(--t-2xl);background:#00000057;border-radius:8px;padding:10px 14px;transition:all .2s}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(var(--acc-r), .2);outline:none}.modal-body .checkbox-group{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:all .2s;display:flex}.modal-body .checkbox-group:hover{border-color:var(--acc);background:rgba(var(--acc-r), .12)}.modal-body .checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:var(--acc);cursor:pointer}.modal-footer{border-top:1px solid var(--line);background:var(--surface);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.modal-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=768px){.modal-overlay{align-items:flex-end}.modal-card{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:85vh}.modal-header{padding:16px 20px}.modal-header h2{font-size:16px}.modal-body{padding:16px}.modal-footer{flex-direction:column;padding:12px 16px}.modal-actions{flex-direction:column;width:100%}.modal-actions .btn{justify-content:center;width:100%}}.modal-card.sm{width:360px}.modal-card.lg{width:700px;max-width:90vw}.modal-confirmation{text-align:center}.modal-confirmation .modal-body{flex-direction:column;align-items:center;gap:16px;display:flex}.modal-confirmation-icon{background:rgba(var(--acc-r), .12);width:48px;height:48px;color:var(--acc);border-radius:12px;justify-content:center;align-items:center;margin-bottom:8px;display:flex}.modal-confirmation .modal-footer{flex-direction:row;width:100%}.detail-header{margin-bottom:24px}.detail-header .btn-sm{margin-bottom:12px}.detail-title{align-items:center;gap:12px;margin-bottom:16px;display:flex}.detail-title h1{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:25px;font-weight:700}.status-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:2s ease-in-out infinite statusPulse;box-shadow:0 0 0 4px #0000004d}.detail-badge{background:var(--surface);color:var(--txt);text-transform:uppercase;letter-spacing:.5px;border:1px solid var(--line);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.detail-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-sm{border-radius:8px;padding:8px 14px;font-size:13px}.detail-status-badge.running{background:var(--ok);color:#fff;box-shadow:0 0 8px #22c55e66}.detail-status-badge.stopped{background:var(--off);color:#fff}.detail-status-badge.error{background:var(--err);color:#fff}.detail-status-badge.creating{background:var(--acc);color:#fff}.tab-bar{border-bottom:1px solid var(--line);gap:2px;margin-bottom:24px;display:flex}.tab-item{color:var(--txt);cursor:pointer;border-radius:var(--r-md) var(--r-md) 0 0;transition:color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);background:0 0;border:none;align-items:center;gap:8px;padding:11px 18px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.tab-item:after{content:"";background:linear-gradient(140deg, rgba(var(--acc-r), .26), rgba(var(--acc-r), .08));height:2px;transition:transform var(--dur-2) var(--ease-out);border-radius:2px 2px 0 0;position:absolute;bottom:-1px;left:10px;right:10px;transform:scaleX(0)}.tab-item:hover{color:var(--txt);background:rgba(var(--acc-r), .12)}.tab-item.active{color:var(--acc)}.tab-item.active:after{transform:scaleX(1)}.tab-content{min-height:400px}.overview-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}@media (width<=1024px){.overview-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.overview-grid{grid-template-columns:1fr}}.info-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:14px;padding:18px;transition:all .2s cubic-bezier(.4,0,.2,1);animation:.4s backwards fadeSlideIn;display:flex}.info-card:first-child{animation-delay:50ms}.info-card:nth-child(2){animation-delay:.1s}.info-card:nth-child(3){animation-delay:.15s}.info-card:nth-child(4){animation-delay:.2s}.info-card:hover{box-shadow:none;border-color:rgba(var(--acc-r), .35);transform:translateY(-2px)}.info-card div{flex-direction:column;flex:1;display:flex}.info-value{font-family:var(--display);color:var(--txt);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.info-label{color:var(--txt-mut);font-size:12px;font-weight:500}.info-full{background:var(--surface);border:1px solid var(--line);border-radius:12px;grid-column:1/-1;padding:20px}.info-full h3{color:var(--txt);border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:12px;font-size:15px;font-weight:700}.detail-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 0;font-size:14px;display:flex}.detail-row:last-child{border-bottom:none}.detail-row span:first-child{color:var(--txt);font-weight:500}.detail-row span:last-child{color:var(--txt)}.detail-row code{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:13px}.info-card-domain{position:relative}.domain-edit{flex:1;align-items:center;gap:8px;display:flex}.domain-edit .subdomain-input{align-items:stretch;display:flex}.domain-edit .subdomain-input input{border-right:none;border-radius:8px 0 0 8px;flex:1;min-width:0;transition:all .2s}.domain-edit .subdomain-input input:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(var(--acc-r), .2);outline:none}.domain-edit .subdomain-suffix{background:var(--surface);border:1px solid var(--line);font-family:var(--mono);white-space:nowrap;color:var(--txt-mut);border-left:none;border-radius:0 8px 8px 0;align-items:center;padding:0 14px;font-size:14px;display:flex}.terminal{border:1px solid var(--line);border-radius:var(--r-lg);font-family:var(--mono);color:var(--txt);white-space:pre-wrap;word-break:break-all;height:450px;box-shadow:none, inset 0 1px 0 #ffffff08;transition:border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);background:linear-gradient(#fb8b2406 0%,#0000 12%),#00000057;padding:16px;font-size:13px;line-height:1.6;overflow-y:auto}.terminal:has(.console-input:focus){border-color:var(--acc);box-shadow:0 0 0 3px rgba(var(--acc-r), .2)}.console-input{gap:8px;margin-top:12px;display:flex}.console-input input{font-family:var(--mono);border:1px solid var(--line);color:var(--txt);background:#00000057;border-radius:8px;flex:1;padding:10px 14px}.console-input input:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(var(--acc-r), .2);outline:none}.console-input button{border-radius:8px;padding:10px 16px}.player-table{border-collapse:collapse;width:100%}.player-table th,.player-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 14px;font-size:13px}.player-table th{color:var(--txt-mut);text-transform:uppercase;letter-spacing:.8px;font-size:12px;font-weight:600}.player-table td{color:var(--txt)}.player-action{border:1px solid var(--line);background:var(--surface);color:var(--txt);cursor:pointer;border-radius:6px;margin-right:4px;padding:6px 10px;font-size:12px;font-weight:500;transition:all .2s}.player-action:hover{border-color:var(--acc);color:var(--acc);background:rgba(var(--acc-r), .12);transform:translateY(-1px)}.player-action.danger:hover{border-color:var(--err);color:var(--err);background:#f43f5e1a}.player-action.success:hover{border-color:var(--ok);color:var(--ok);background:#22c55e1a}.status-badge{text-transform:uppercase;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.status-badge.running{color:var(--ok);background:#22c55e26}.status-badge.stopped{color:var(--off);background:#71717a26}.status-badge.error{color:var(--err);background:#f43f5e26}@media (width<=768px){.detail-title h1{font-size:20px}.detail-actions{flex-wrap:wrap}.tab-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;border-bottom:1px solid var(--line);overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-item{white-space:nowrap;padding:8px 12px;font-size:13px}.overview-grid{grid-template-columns:1fr;gap:12px}.info-card{padding:14px}.info-value{font-size:14px}.terminal{height:300px;font-size:12px}.player-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.player-table th,.player-table td{white-space:nowrap;padding:8px 10px;font-size:12px}.info-full{padding:16px}}.status-dot--pulse{animation:.62s cubic-bezier(.22,1,.36,1) status-pulse}@keyframes status-pulse{0%{box-shadow:0 0 0 0 rgba(var(--acc-r), .5);transform:scale(1)}45%{transform:scale(1.7)}to{box-shadow:0 0 0 12px rgba(var(--acc-r), 0);transform:scale(1)}}@media (prefers-reduced-motion:reduce){.status-dot--pulse{animation:none}}.template-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.template-card{background:var(--surface);border:1px solid var(--line);text-align:left;cursor:pointer;color:var(--txt);border-radius:14px;flex-direction:column;gap:12px;padding:20px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.template-card:hover{border-color:rgba(var(--acc-r), .35);box-shadow:none;transform:translateY(-2px)}.template-card.org{cursor:not-allowed;opacity:.8}.template-card.org:hover{transform:none}.template-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.template-name{color:var(--txt);letter-spacing:-.2px;margin:0;font-size:16px;font-weight:700}.template-beta{background:var(--warn);color:var(--bg-0);text-transform:uppercase;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.template-desc{color:var(--txt);margin:0;font-size:14px;line-height:1.6}.template-meta{border-top:1px solid var(--line);flex-wrap:wrap;gap:16px;padding:12px 0;display:flex}.template-category{background:var(--surface);border:1px solid var(--line);color:var(--txt-mut);text-transform:uppercase;letter-spacing:.5px;border-radius:4px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.template-meta-item{flex-direction:column;gap:2px;display:flex}.template-meta-label{color:var(--txt-mut);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.template-meta-value{color:var(--txt);font-size:14px;font-weight:600}.template-footer{justify-content:space-between;align-items:center;display:flex}.template-card-btn{background:var(--acc);color:#fff;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.template-card-btn:hover{background:var(--acc-dim);box-shadow:0 4px 12px rgba(var(--acc-r), .2);transform:translateY(-1px)}.template-meta-btn{background:var(--surface);border:1px solid var(--line);color:var(--txt);border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.template-meta-btn:hover{border-color:var(--acc);color:var(--txt)}.template-card-empty{text-align:center;color:var(--txt-mut);padding:60px 20px;animation:.4s fadeIn}.template-card-empty svg{width:48px;height:48px;color:var(--acc);opacity:.6;margin-bottom:16px}.template-card-empty h3{color:var(--txt);margin:8px 0 12px;font-size:16px;font-weight:700}.template-card-empty p{max-width:360px;margin:0 auto;font-size:14px}.wizard-progress{justify-content:center;align-items:center;gap:32px;margin-bottom:28px;padding:0 40px;display:flex;position:relative}.wizard-step{background:var(--surface);border:2px solid var(--line);width:36px;height:36px;color:var(--txt-mut);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;transition:all .2s;display:flex}.wizard-step.active{border-color:var(--acc);color:var(--acc);background:rgba(var(--acc-r), .12)}.wizard-step.done{background:var(--acc);border-color:var(--acc);color:#fff}.wizard-step.done:after{content:"";border:2px solid var(--acc);opacity:.3;border-radius:50%;position:absolute;inset:-4px}.wizard-line{background:var(--line);height:2px;transition:width .3s;position:absolute;top:50%;left:56px}.wizard-line.active{background:var(--acc)}.wizard-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:16px;padding:24px;display:flex}.wizard-card h2{color:var(--txt);letter-spacing:-.3px;margin:0;font-size:18px;font-weight:700}.wizard-card h3{color:var(--txt);margin:0 0 8px;font-size:16px;font-weight:600}.wizard-card p{color:var(--txt);margin:0 0 16px;font-size:14px;line-height:1.6}.wizard-card .form-group{flex-direction:column;gap:8px;display:flex}.wizard-card .form-group label{color:var(--txt);font-size:14px;font-weight:600}.wizard-card input,.wizard-card select{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--txt);font-size:var(--t-2xl);border-radius:8px;padding:10px 14px;transition:all .2s}.wizard-card input:focus,.wizard-card select:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(var(--acc-r), .2);outline:none}.wizard-nav{justify-content:space-between;margin-top:20px;display:flex}.wizard-btn{font-size:var(--t-2xl);cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:all .2s;display:inline-flex}.wizard-btn-secondary{background:var(--surface);color:var(--txt);border:1px solid var(--line)}.wizard-btn-secondary:hover{border-color:var(--acc);color:var(--txt)}.wizard-btn-primary{background:var(--acc);color:#fff}.wizard-btn-primary:hover{background:var(--acc-dim);box-shadow:0 4px 12px rgba(var(--acc-r), .2);transform:translateY(-1px)}.wizard-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.confirm-summary{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px}.confirm-summary h3{color:var(--txt);margin-bottom:12px;font-size:14px;font-weight:700}.summary-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;font-size:14px;display:flex}.summary-row:last-child{border-bottom:none}.summary-row span:first-child{color:var(--txt)}.summary-row span:last-child{color:var(--txt);font-weight:600}.confirm-summary .wizard-btn{justify-content:center;width:100%;margin-top:16px}.subdomain-input{align-items:stretch;display:flex}.subdomain-input input{border-right:none;border-radius:8px 0 0 8px;flex:1;min-width:0}.subdomain-input input:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(var(--acc-r), .2)}.subdomain-suffix{background:var(--surface);border:1px solid var(--line);color:var(--txt-mut);white-space:nowrap;font-size:14px;font-family:var(--mono);border-left:none;border-radius:0 8px 8px 0;align-items:center;padding:0 14px;display:flex}.subdomain-status{margin-top:8px;font-size:12px;font-weight:600}.subdomain-status.checking{color:var(--acc)}.subdomain-status.available{color:var(--ok)}.subdomain-status.taken{color:var(--err)}.template-section-header{border-bottom:1px solid var(--line);align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;display:flex}.template-section-header h2{color:var(--txt);margin:0;font-size:16px;font-weight:700}.template-card-org{cursor:default;border-color:var(--line-hi)}.template-card-org:hover{box-shadow:none;transform:none}.template-card-org .template-card-btn{opacity:.6;cursor:not-allowed}.template-card-org .template-card-btn:hover{transform:none}@media (width<=768px){.template-grid{grid-template-columns:1fr}.wizard-progress{gap:16px;padding:0 20px}.wizard-step{width:32px;height:32px;font-size:13px}.wizard-line{left:48px}.wizard-card{padding:16px}.wizard-card h2{font-size:16px}.wizard-nav{flex-direction:column}.wizard-btn{justify-content:center;width:100%}}.template-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.template-scope{font-family:var(--mono);letter-spacing:.02em;white-space:nowrap;border:1px solid var(--line-hi);color:var(--txt-mut);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;display:inline-flex}.template-scope-org{border-color:rgba(var(--acc-r), .35);background:rgba(var(--acc-r), .12);color:var(--acc)}.template-scope-marketplace{border-color:var(--line-hi);background:var(--bg-2)}.builder-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.builder-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;padding:18px;transition:border-color .15s,box-shadow .15s;display:flex}.builder-card:hover{border-color:var(--line-hi);transform:translateY(-2px)}.builder-card-system{border-left:3px solid var(--acc)}.builder-card-private{border-left:3px solid var(--ok)}.builder-card-marketplace{border-left:3px solid var(--warn)}.builder-card-head{align-items:center;gap:12px;display:flex}.builder-card-head h3{color:var(--txt);margin:0;font-size:15px;font-weight:700}.builder-card-head code{color:var(--txt-mut);font-size:11px;font-family:var(--mono)}.builder-card p{color:var(--txt);min-height:38px;margin:0;font-size:13px;line-height:1.5}.builder-meta{color:var(--txt-mut);flex-wrap:wrap;gap:6px;font-size:12px;display:flex}.builder-card-actions{border-top:1px solid var(--line);gap:8px;margin-top:auto;padding-top:8px;display:flex}.builder-card-actions .btn{flex:1}.builder-vis{border:1px solid var(--line);color:var(--txt-mut);background:var(--surface);border-radius:999px;align-items:center;gap:4px;margin-left:auto;padding:4px 8px;font-size:11px;display:inline-flex}.builder-vis-system{color:var(--acc);border-color:var(--acc)}.builder-vis-public{color:var(--warn);border-color:var(--warn)}.builder-vis-private{color:var(--txt-mut)}.builder-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:20px;display:flex}.builder-tab-btn{color:var(--txt-mut);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 18px;font-size:14px;font-weight:600;transition:all .15s}.builder-tab-btn:hover{color:var(--txt)}.builder-tab-btn.active{color:var(--txt);border-bottom-color:var(--acc)}.builder-form{flex-direction:column;gap:18px;display:flex}.builder-form .form-row{gap:12px;display:flex}.builder-form .form-group{flex-direction:column;flex:1;gap:6px;display:flex}.builder-form .form-group label{color:var(--txt);font-size:13px;font-weight:600}.builder-form .form-group label small{color:var(--txt-mut);font-weight:400}.builder-form input,.builder-form select,.builder-form textarea{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--txt);border-radius:8px;padding:9px 12px;font-family:inherit;font-size:14px}.builder-form input:focus,.builder-form select:focus,.builder-form textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(var(--acc-r), .1);outline:none}.builder-form input:disabled{opacity:.6;cursor:not-allowed}.builder-list-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.builder-list-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.builder-list-head h3{color:var(--txt);margin:0;font-size:14px;font-weight:700}.builder-list-head p{margin:4px 0 0}.muted{color:var(--txt-mut);font-size:13px}.builder-config-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:12px}.builder-tab-list{flex-direction:column;gap:8px;display:flex}.builder-tab-row{background:var(--surface);border:1px solid var(--line);border-radius:10px;align-items:flex-end;gap:10px;padding:10px;display:flex}.builder-tab-handle{flex-direction:column;gap:2px;display:flex}.builder-subcard{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-2);margin-top:12px;padding:12px}.builder-subcard .form-group:last-child{margin-bottom:0}.doc-page{max-width:1180px}.doc-page .page-header h1{align-items:center;gap:10px;display:flex}.doc-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:32px;display:grid}.doc-toc{border:1px solid var(--line);border-radius:var(--r-md,10px);background:var(--surface);flex-direction:column;gap:2px;padding:12px;display:flex;position:sticky;top:16px}.doc-toc-title{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--txt-mut);padding:4px 8px 8px;font-size:11px}.doc-toc a{border-radius:var(--r-sm);color:var(--txt-mut,var(--txt-mut));transition:background var(--dur-1,.12s) var(--ease-out,ease), color var(--dur-1,.12s) var(--ease-out,ease);border-left:2px solid #0000;padding:6px 8px;font-size:13px;text-decoration:none}.doc-toc a:hover{background:var(--bg-2);color:var(--txt)}.doc-toc a.active{border-left-color:var(--acc);background:rgba(var(--acc-r), .12);color:var(--acc)}.doc-content section{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:28px;scroll-margin-top:16px}.doc-content section:last-child{border-bottom:none}.doc-content h2{font-family:var(--display);margin:0 0 12px;font-size:21px}.doc-content h3{font-family:var(--display);color:var(--acc);margin:22px 0 8px;font-size:15px}.doc-content p{max-width:74ch;margin:0 0 12px;line-height:1.65}.doc-content code{font-family:var(--mono);border:1px solid var(--line);background:var(--bg-2);white-space:nowrap;border-radius:4px;padding:1px 5px;font-size:.88em}.doc-content code.doc-ph{white-space:pre}.doc-content p.doc-note,.doc-content p.doc-warn{border-radius:var(--r-sm);border-left:3px solid var(--acc);background:rgba(var(--acc-r), .12);max-width:none;padding:10px 14px}.doc-content p.doc-warn{border-left-color:var(--warn);background:color-mix(in srgb, var(--warn) 10%, transparent)}.doc-table-wrap{margin:0 0 14px;overflow-x:auto}.doc-table{border-collapse:collapse;width:100%;min-width:480px;font-size:13px}.doc-table th,.doc-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 12px}.doc-table th{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--txt-mut);font-size:11px}.doc-table td:first-child{white-space:nowrap}.doc-code{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);margin:0 0 16px;overflow:hidden}.doc-code-head{border-bottom:1px solid var(--line);background:var(--bg-2);font-family:var(--mono);color:var(--txt-mut);justify-content:space-between;align-items:center;padding:6px 12px;font-size:11px;display:flex}.doc-code-head button{border:1px solid var(--line-hi);color:var(--txt-mut);font-family:var(--mono);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;display:inline-flex}.doc-code-head button:hover{color:var(--acc);border-color:rgba(var(--acc-r), .35)}.doc-code pre{margin:0;padding:14px;overflow-x:auto}.doc-code code{font-family:var(--mono);white-space:pre;background:0 0;border:none;padding:0;font-size:12.5px;line-height:1.6}@media (width<=900px){.doc-layout{grid-template-columns:1fr}.doc-toc{flex-flow:wrap;position:static}.doc-toc-title{width:100%;padding-bottom:4px}.doc-toc a{border-bottom:2px solid #0000;border-left:none}.doc-toc a.active{border-left:none;border-bottom-color:var(--acc)}}.billing-page{max-width:1100px;margin:0 auto;padding:0 16px}.billing-stats{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}@media (width<=1024px){.billing-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.billing-stats{grid-template-columns:1fr}}.billing-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:20px;transition:all .2s;display:flex}.billing-card:hover{border-color:rgba(var(--acc-r), .35);box-shadow:none}.billing-label{color:var(--txt-mut);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.billing-value{color:var(--txt);letter-spacing:-.5px;font-size:22px;font-weight:700}.billing-value.sm{font-size:18px}.player-table{border-collapse:collapse;width:100%;font-size:13px}.player-table th,.player-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 14px}.player-table th{color:var(--txt-mut);text-transform:uppercase;letter-spacing:.8px;background:var(--surface);font-weight:600}.player-table tbody tr:hover{background:rgba(var(--acc-r), .12)}.player-table tbody tr:last-child td{border-bottom:none}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.page-header h1{letter-spacing:-.5px;color:var(--txt);margin:0;font-size:24px;font-weight:700}.page-header select{background:var(--surface);border:1px solid var(--line);color:var(--txt);cursor:pointer;border-radius:10px;padding:10px 14px;font-size:14px;transition:all .2s}.page-header select:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(var(--acc-r), .2);outline:none}@media (width<=768px){.billing-page{padding:0 12px}.page-header{flex-direction:column;align-items:flex-start}.page-header h1{font-size:20px}.billing-card{padding:16px}.billing-value{font-size:20px}}.admin-page{box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto}.admin-page-header{border-bottom:1px solid var(--line,var(--line));justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;padding-bottom:16px;display:flex}.admin-page-title{font-family:var(--display);color:var(--txt);letter-spacing:-.01em;margin:0;font-size:24px;font-weight:700}.admin-page-subtitle{color:var(--txt-mut,var(--txt-mut));margin:4px 0 0;font-size:14px}.admin-page-actions{gap:8px;display:flex}.admin-page-content{color:var(--txt,var(--txt))}.admin-page .tab-bar{border-bottom:1px solid var(--line,var(--line));gap:4px;margin-bottom:16px;display:flex}.admin-page .tab-item{color:var(--txt-mut,var(--txt-mut));cursor:pointer;border-radius:var(--r-md) var(--r-md) 0 0;transition:color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);background:0 0;border:none;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:600;text-decoration:none;position:relative}.admin-page .tab-item:after{content:"";background:linear-gradient(140deg, rgba(var(--acc-r), .26), rgba(var(--acc-r), .08));height:2px;transition:transform var(--dur-2) var(--ease-out);border-radius:2px 2px 0 0;position:absolute;bottom:-1px;left:8px;right:8px;transform:scaleX(0)}.admin-page .tab-item:hover{color:var(--txt);background:rgba(var(--acc-r), .12)}.admin-page .tab-item.active{color:var(--acc,var(--acc))}.admin-page .tab-item.active:after{transform:scaleX(1)}.admin-security{flex-direction:column;gap:20px;display:flex}.security-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.security-header h2{font-family:var(--display);font-size:var(--t-5xl);color:var(--txt);align-items:center;gap:8px;margin:0;display:flex}.security-subtitle{color:var(--txt-mut);font-size:var(--t-xl);margin:4px 0 0}.security-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.security-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:none;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.security-stat-value{font-family:var(--display);font-size:var(--t-6xl);color:var(--txt);line-height:1.1}.security-stat-label{font-size:var(--t-base);color:var(--txt-mut);text-transform:uppercase;letter-spacing:.04em}.security-stat-alert{border-color:var(--warn)}.security-stat-alert .security-stat-value{color:var(--warn)}.security-config-hint{font-size:var(--t-xl);color:var(--txt-mut);margin:0}.security-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px}.security-section h3{font-family:var(--display);font-size:var(--t-3xl);color:var(--txt);margin:0 0 12px}.security-section h4{font-size:var(--t-xl);color:var(--txt-mut);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px}.table-scroll{overflow-x:auto}.security-mono{font-family:var(--mono);font-size:var(--t-xl)}.security-agent{font-size:var(--t-base);color:var(--txt-mut);text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.security-muted{color:var(--txt-mut);font-size:var(--t-xl)}.security-remaining{font-size:var(--t-base);color:var(--txt-mut);display:block}.security-scope{border-radius:var(--r-full);font-family:var(--mono);font-size:var(--t-base);border:1px solid var(--line-hi);color:var(--txt);padding:2px 8px;display:inline-block}.security-scope-account{border-color:rgba(var(--acc-r), .35);background:rgba(var(--acc-r), .12);color:var(--acc-hi)}.security-scope-ip{border-color:var(--line-hi)}.security-tag{border-radius:var(--r-full);border:1px solid var(--line-hi);font-family:var(--sans);font-size:var(--t-base);color:var(--txt-mut);margin-left:6px;padding:1px 6px}.security-tops{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.security-top-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.security-top-list li{border-bottom:1px solid var(--line);font-size:var(--t-xl);justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.security-top-list li:last-child{border-bottom:none}.security-top-list span{font-family:var(--mono);color:var(--txt-mut)}.security-link{font-family:var(--mono);font-size:var(--t-xl);color:var(--acc);cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.security-link:hover{color:var(--acc-hi);text-decoration:underline}.security-filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.security-filter{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);color:var(--txt-mut);align-items:center;gap:6px;padding:0 10px;display:flex}.security-filter input{color:var(--txt);font-family:var(--sans);font-size:var(--t-xl);background:0 0;border:none;outline:none;min-width:140px;padding:7px 0}.security-filter input::placeholder{color:var(--txt-dim)}.security-filters select{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-md);color:var(--txt);font-family:var(--sans);font-size:var(--t-xl);padding:7px 10px}.security-pagination{font-size:var(--t-xl);color:var(--txt-mut);justify-content:center;align-items:center;gap:12px;margin-top:12px;display:flex}.btn-compact{font-size:var(--t-xl);align-items:center;gap:6px;padding:6px 12px;display:inline-flex}@media (width<=640px){.security-agent{max-width:120px}}.discord-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.discord-header-actions{flex-wrap:wrap;gap:8px;display:flex}.discord-hint{color:var(--txt-mut);font-size:var(--t-xl);margin:8px 0 16px;line-height:1.6}.discord-hint-small{font-size:var(--t-base);margin:12px 0 0}.discord-hint code{font-family:var(--mono);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:1px 5px;font-size:.92em}.discord-empty{color:var(--txt-mut);font-size:var(--t-xl);background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-md);padding:16px;line-height:1.6}.discord-guild{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-bottom:12px;overflow:hidden}.discord-guild-head{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.discord-guild-icon{border-radius:var(--r-full);object-fit:cover;flex:none;width:38px;height:38px}.discord-guild-icon-fallback{background:var(--discord);color:#fff;font-family:var(--display);font-size:var(--t-3xl);justify-content:center;align-items:center;display:flex}.discord-guild-meta{flex-direction:column;flex:200px;gap:2px;min-width:0;display:flex}.discord-guild-sub{color:var(--txt-mut);font-size:var(--t-base)}.discord-guild-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.discord-toggle{font-size:var(--t-base);color:var(--txt-mut);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.discord-toggle input{accent-color:var(--discord);cursor:pointer}.discord-error{border-radius:var(--r-md);background:var(--bg-0);border:1px solid var(--err,var(--line));color:var(--err,var(--txt));font-size:var(--t-base);align-items:flex-start;gap:8px;margin:0 14px 12px;padding:10px 12px;line-height:1.5;display:flex}.discord-error svg{flex:none;margin-top:1px}.discord-mapping{border-top:1px solid var(--line);background:var(--bg-0);padding:14px}.discord-table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.discord-table thead th{text-align:left;font-size:var(--t-base);text-transform:uppercase;letter-spacing:.04em;color:var(--txt-mut);border-bottom:1px solid var(--line);white-space:nowrap;padding:6px 8px;font-weight:600}.discord-table tbody td{border-bottom:1px solid var(--line);vertical-align:middle;padding:8px}.discord-table select{width:100%;min-width:170px}.discord-table-empty{color:var(--txt-mut);font-size:var(--t-xl);text-align:center;padding:18px 8px}.discord-row-actions{white-space:nowrap;width:1%}.discord-import-stats{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.discord-import-stats>div{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex-direction:column;gap:2px;min-width:96px;padding:8px 12px;display:flex}.discord-import-stats strong{font-family:var(--display);font-size:var(--t-3xl);line-height:1.1}.discord-import-stats span{font-size:var(--t-base);color:var(--txt-mut)}.discord-table-wrap{border:1px solid var(--line);border-radius:var(--r-md);max-height:320px;overflow:auto}.discord-table-wrap .discord-table{display:table;overflow:visible}.discord-table-wrap thead th{background:var(--surface);z-index:1;position:sticky;top:0}.discord-mapping-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}@keyframes discord-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.settings-section{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:20px;padding:20px}.settings-section h2{color:var(--txt);letter-spacing:-.3px;margin-bottom:16px;font-size:16px;font-weight:700}.settings-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=768px){.settings-grid{grid-template-columns:1fr}}.form-group input,.form-group select{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--txt);font-size:var(--t-2xl);border-radius:8px;padding:10px 14px;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(var(--acc-r), .2);outline:none}.form-group input:disabled{opacity:.6;cursor:not-allowed;background:#00000057}.section-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.section-header h2{color:var(--txt);margin:0;font-size:16px;font-weight:700}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);padding:12px 14px;font-size:13px}.data-table th{color:var(--txt-mut);text-transform:uppercase;letter-spacing:.8px;background:var(--surface);font-size:12px;font-weight:600}.data-table td{color:var(--txt)}.data-table tbody tr{transition:all .2s}.data-table tbody tr:hover{background:rgba(var(--acc-r), .12)}.data-table tbody tr:last-child td{border-bottom:none}.btn{font-size:var(--t-2xl);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-sm{padding:8px 12px;font-size:13px}.btn-primary{background:linear-gradient(135deg, var(--acc), var(--acc-dim));color:#fff;box-shadow:0 4px 12px rgba(var(--acc-r), .2)}.btn-primary:hover{box-shadow:0 6px 16px rgba(var(--acc-r), .2);transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--txt);border:1px solid var(--line)}.btn-secondary:hover,.icon-btn:hover{border-color:var(--acc);color:var(--txt);background:rgba(var(--acc-r), .12)}.icon-btn:active{transform:scale(.95)}.role-badge{background:rgba(var(--acc-r), .12);min-width:20px;height:20px;color:var(--acc);border-radius:10px;justify-content:center;align-items:center;padding:0 8px;font-size:11px;font-weight:600;display:inline-flex}.badge{border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-owner{background:linear-gradient(140deg, var(--warn), var(--warn-2));color:#000}code{font-family:var(--mono);background:var(--surface);color:var(--txt);border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-size:12px}.spin{animation:1s linear infinite spin}@media (width<=768px){.page-header h1{font-size:20px}.settings-section{padding:16px}.data-table{display:block;overflow-x:auto}}.roles-page{max-width:1200px}.roles-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:24px;display:grid}.role-card{background:var(--surface);border:1px solid var(--line,#333);border-left-width:4px;border-radius:12px;padding:16px;transition:transform .2s,box-shadow .2s}.role-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.role-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.role-title{align-items:center;gap:8px;display:flex}.role-name{font-size:16px;font-weight:600}.badge{text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.badge-system{background:var(--line-hi);color:var(--txt)}.badge-custom{background:var(--acc);color:var(--acc-hi)}.role-actions{gap:4px;display:flex}.role-description{color:var(--txt-mut,#888);margin-bottom:12px;font-size:13px;line-height:1.4}.role-meta{color:var(--txt-mut,#888);align-items:center;gap:12px;margin-bottom:12px;font-size:12px;display:flex}.role-members{align-items:center;gap:4px;display:flex}.role-color-preview{border:1px solid #fff3;border-radius:4px;width:16px;height:16px}.role-permissions-preview{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.permission-tag{background:rgba(var(--acc-r), .12);color:var(--acc-hi);font-size:10px;font-family:var(--mono);border-radius:4px;padding:2px 6px}.permission-more{color:var(--txt-mut,#888);font-size:11px}.permissions-editor{max-height:500px;overflow-y:auto}.permission-category{margin-bottom:24px}.category-title{color:var(--txt,#fff);text-transform:capitalize;margin-bottom:12px;font-size:14px;font-weight:600}.permission-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.permission-checkbox{cursor:pointer;background:#ffffff0d;border-radius:8px;flex-direction:column;gap:4px;padding:8px;transition:background .2s;display:flex}.permission-checkbox:hover{background:#ffffff1a}.permission-checkbox input[type=checkbox]{cursor:pointer;width:16px;height:16px}.permission-checkbox span{color:var(--txt,#fff);font-size:13px}.permission-id{color:var(--txt-mut,#888);background:#0003;border-radius:2px;align-self:flex-start;padding:1px 4px;font-size:10px}.modal-large{max-width:800px}.login-page{background:radial-gradient(900px 600px at 20% -10%, rgba(var(--acc-r), .12) 0%, transparent 55%), radial-gradient(800px 600px at 105% 110%, #38bdf80f 0%, transparent 55%), repeating-linear-gradient(0deg, transparent 0 47px, #ffffff04 47px 48px), repeating-linear-gradient(90deg, transparent 0 47px, #ffffff04 47px 48px), var(--bg-0);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.login-page:after{content:"";background:radial-gradient(60% 100% at 50% 100%, rgba(var(--acc-r), .2) 0%, transparent 70%);pointer-events:none;height:40vh;animation:6s ease-in-out infinite emberFlicker;position:absolute;bottom:0;left:0;right:0}.login-card{background:var(--bg-2);width:420px;max-width:calc(100% - 32px);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--line-hi);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);animation:loginCardIn .55s var(--ease-out);z-index:1;padding:40px 36px;position:relative}@keyframes loginCardIn{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-logo{text-align:center;margin-bottom:32px}.logo-icon-lg{background:linear-gradient(140deg, var(--acc), var(--acc-dim));border-radius:var(--r-xl);width:64px;height:64px;color:var(--bg-0);font-family:var(--display);box-shadow:0 8px 28px rgba(var(--acc-r), .2);justify-content:center;align-items:center;margin-bottom:16px;font-size:28px;font-weight:700;animation:5s ease-in-out infinite emberFlicker;display:inline-flex}.login-logo h1{font-family:var(--display);letter-spacing:.005em;color:var(--txt);margin-bottom:6px;font-size:28px;font-weight:700}.login-logo p{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--txt-mut);font-size:12px}.login-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--txt);font-size:14px;font-weight:600}.form-group input{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);width:100%;color:var(--txt);font-size:var(--t-2xl);transition:border-color var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out);padding:11px 14px}.form-group input:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(var(--acc-r), .2);outline:none}.login-error{color:var(--err);border-radius:var(--r-md);background:#f43f5e1a;border:1px solid #f43f5e4d;padding:12px 16px;font-size:14px;font-weight:500;animation:.2s fadeIn}.login-locked{color:var(--warn);border-radius:var(--r-md);background:#eab3081a;border:1px solid #eab30859;flex-direction:column;gap:4px;padding:12px 16px;font-size:14px;animation:.2s fadeIn;display:flex}.login-locked strong{font-weight:600}.login-locked span{color:var(--txt);font-size:13px;line-height:1.45}.btn-full{width:100%;font-size:var(--t-2xl);justify-content:center;padding:12px;font-weight:600}.login-divider{color:var(--txt-mut);align-items:center;gap:12px;font-size:13px;font-weight:500;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}@media (width<=768px){.login-page{padding:20px}.login-card{padding:28px 20px}.login-logo h1{font-size:24px}.logo-icon-lg{width:56px;height:56px;font-size:24px}.form-group input{font-size:16px}}.login-totp{text-align:center;letter-spacing:8px;font-family:var(--mono);font-size:20px}.profile-page{max-width:1000px;margin:0 auto;padding:0 16px}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:20px;display:grid}@media (width<=768px){.profile-grid{grid-template-columns:1fr}}.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:16px;padding:24px;transition:all .2s;display:flex}.profile-card:hover{border-color:rgba(var(--acc-r), .35);box-shadow:none}.profile-card h2{border-bottom:1px solid var(--line);color:var(--txt);letter-spacing:-.3px;align-items:center;gap:10px;margin:0 0 16px;padding-bottom:12px;font-size:16px;font-weight:700;display:flex}.profile-card .form-group{flex-direction:column;gap:8px;display:flex}.profile-card label{color:var(--txt);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.profile-card input{background:var(--surface);border:1px solid var(--line);width:100%;color:var(--txt);font-size:var(--t-2xl);border-radius:8px;padding:10px 14px;transition:all .2s}.profile-card input:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(var(--acc-r), .2);outline:none}.profile-card input:disabled{opacity:.7;cursor:not-allowed;background:#00000057}.profile-avatar{border-bottom:1px solid var(--line);align-items:center;gap:16px;margin-bottom:8px;padding:8px 0;display:flex}.avatar-circle{background:linear-gradient(135deg, var(--acc), var(--acc-dim));color:#fff;width:56px;height:56px;box-shadow:0 4px 12px rgba(var(--acc-r), .2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.profile-card strong{color:var(--txt);font-weight:600}.role-badge{background:rgba(var(--acc-r), .12);color:var(--acc);text-transform:uppercase;letter-spacing:.5px;border-radius:6px;justify-content:center;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.card-hint{color:var(--txt-mut);font-size:13px;line-height:1.5}.card-hint strong{color:var(--txt)}.totp-setup{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.totp-setup p{color:var(--txt);margin:0;font-size:13px}.totp-secret{border:1px solid var(--line);word-break:break-all;text-align:center;letter-spacing:2px;color:var(--txt);font-size:14px;font-family:var(--mono);background:#00000057;border-radius:8px;padding:12px 16px}.totp-qr{width:200px;height:200px;image-rendering:pixelated;background:#fff;border-radius:8px;align-self:center}.totp-code-input{text-align:center;letter-spacing:8px;font-family:var(--mono);font-size:20px}.totp-actions{justify-content:flex-end;gap:8px;display:flex}.profile-empty{text-align:center;color:var(--txt-mut);padding:60px 20px;animation:.4s fadeIn}.profile-empty svg{width:56px;height:56px;color:var(--acc);opacity:.7;margin-bottom:16px}.profile-empty h3{color:var(--txt);margin:8px 0 12px;font-size:16px;font-weight:700}.profile-empty p{max-width:400px;margin:0 auto;font-size:14px}@media (width<=768px){.profile-page{padding:0 12px}.profile-grid{grid-template-columns:1fr}.profile-card{padding:16px}.profile-card h2{font-size:15px}.avatar-circle{width:48px;height:48px;font-size:20px}.page-header h1{font-size:20px}}.ntfy-setup{background:var(--surface);border-radius:var(--r-md);border:1px solid var(--line);flex-direction:column;gap:12px;padding:16px;display:flex}.ntfy-setup p{color:var(--txt);margin:0;font-size:13px}.ntfy-warning{color:var(--txt-mut);border-left:2px solid var(--info);padding-left:10px;font-size:12px}.ntfy-categories{flex-direction:column;gap:8px;display:flex}.ntfy-category{color:var(--txt);cursor:pointer;border-radius:var(--r-sm);transition:background var(--dur-1) var(--ease-out);align-items:center;gap:10px;padding:6px 8px;font-size:13px;display:flex}.ntfy-category:hover{background:var(--surface-hi)}.ntfy-own-actions{border-top:1px solid var(--line);align-items:flex-start;margin-top:4px;padding-top:12px}.ntfy-own-actions small{color:var(--txt-mut);margin-top:2px;font-size:12px;display:block}.ntfy-category input{accent-color:var(--acc);cursor:pointer;flex-shrink:0;width:16px;height:16px}.activity-page{max-width:900px;margin:0 auto;padding:0 16px}.page-header{margin-bottom:24px}.page-header h1{letter-spacing:-.5px;color:var(--txt);margin-bottom:4px;font-size:24px;font-weight:700}.page-header p{color:var(--txt-mut);font-size:14px}.activity-list{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.activity-row{border-bottom:1px solid var(--line)}.activity-row:last-child{border-bottom:none}.activity-item{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:14px;padding:14px 18px;transition:background .2s;display:flex}.activity-item:hover:not(:disabled){background:rgba(var(--acc-r), .12)}.activity-item:disabled{cursor:default}.activity-chevron{color:var(--txt-mut);flex-shrink:0;transition:transform .2s}.activity-chevron.rot{transform:rotate(90deg)}.activity-row.open{background:rgba(var(--acc-r), .12)}.activity-expanded{color:var(--txt);padding:4px 18px 18px 68px;font-size:13px;animation:.2s fadeIn}.activity-meta{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:16px;margin-bottom:12px;padding:8px 12px;font-size:12px;display:flex}.activity-meta .meta-key{color:var(--txt-mut);margin-right:4px}.activity-fields{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:8px;width:100%;margin-bottom:12px;overflow:hidden}.activity-fields td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px 12px}.activity-fields tr:last-child td{border-bottom:none}.field-key{width:180px;color:var(--txt-mut);font-size:12px}.field-val{font-family:var(--mono);word-break:break-all;font-size:12px}.diff-old{color:var(--err);-webkit-text-decoration:line-through #d0454580;text-decoration:line-through #d0454580}.diff-new{color:var(--ok);font-weight:600}.activity-diff{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.diff-header{color:var(--txt);background:var(--surface);border-bottom:1px solid var(--line);padding:8px 12px;font-size:12px;font-weight:600}.diff-trunc{color:var(--txt-mut);font-weight:400}.diff-body{font-family:var(--mono);color:var(--txt);background:0 0;margin:0;padding:8px 0;font-size:12px;line-height:1.5;overflow-x:auto}.diff-line{white-space:pre;padding:0 12px;display:block}.diff-line.diff-add{color:var(--ok);background:#2ea04326}.diff-line.diff-remove{color:var(--err);background:#d0454526}.diff-line.diff-hunk{color:var(--off);background:#6e778114}.diff-line.diff-file{color:var(--txt-mut);font-weight:600}.activity-icon{background:rgba(var(--acc-r), .12);width:36px;height:36px;color:var(--acc);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.activity-content{flex:1;justify-content:space-between;align-items:center;gap:10px;display:flex}.activity-text{color:var(--txt);font-size:14px;font-weight:500}.activity-text strong{color:var(--txt)}.activity-text em{color:var(--acc);font-style:normal}.activity-details{color:var(--txt-mut);background:var(--surface);white-space:nowrap;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:12px}.activity-time{color:var(--txt-mut);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.empty-state{text-align:center;color:var(--txt);padding:60px 20px;animation:.4s fadeIn}.empty-state svg{width:56px;height:56px;color:var(--acc);opacity:.7;margin-bottom:16px}.empty-state h3{color:var(--txt);margin:8px 0 12px;font-size:16px;font-weight:700}.empty-state p{color:var(--txt-mut);max-width:400px;margin:0 auto;font-size:14px}@media (width<=768px){.activity-page{padding:0 12px}.page-header h1{font-size:20px}.activity-list{border-radius:10px}.activity-content{flex-direction:column;align-items:flex-start;gap:2px}.activity-time{margin-top:4px}}.tickets-page,.ticket-detail-page,.ticket-create-page{max-width:1400px;margin:0 auto;padding:0 16px;animation:.4s cubic-bezier(.4,0,.2,1) fadeSlideIn}.ticket-create-page{max-width:760px}.tickets-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.tickets-header h1{letter-spacing:-.5px;align-items:center;gap:12px;margin-bottom:4px;font-size:24px;font-weight:700;display:flex}.tickets-header h1 svg{color:var(--acc)}.tickets-header p{color:var(--txt-mut);font-size:14px}.tickets-stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.tickets-stat{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:16px 18px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.tickets-stat:before{content:"";background:var(--acc,linear-gradient(140deg, rgba(var(--acc-r), .26), rgba(var(--acc-r), .08)));transform-origin:0;height:3px;transition:transform .3s;position:absolute;inset:0 0 auto;transform:scaleX(0)}.tickets-stat:hover:before,.tickets-stat.active:before{transform:scaleX(1)}.tickets-stat:hover{box-shadow:none;border-color:rgba(var(--acc-r), .35);transform:translateY(-3px)}.tickets-stat.active{border-color:var(--acc);background:rgba(var(--acc-r), .12)}.tickets-stat-icon{color:#fff;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.tickets-stat-info{flex-direction:column;gap:2px;min-width:0;display:flex}.tickets-stat-value{color:var(--txt);letter-spacing:-.5px;font-size:22px;font-weight:700;line-height:1.1}.tickets-stat-label{color:var(--txt-mut);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}@media (width<=1024px){.tickets-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.tickets-stats{grid-template-columns:1fr}}.tickets-toolbar{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.tickets-search{flex:240px;min-width:200px;position:relative}.tickets-search svg{color:var(--txt-mut);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.tickets-search input{border:1px solid var(--line);width:100%;color:var(--txt);background:#00000057;border-radius:9px;padding:9px 12px 9px 38px;font-size:14px}.pill-group{border:1px solid var(--line);background:#00000057;border-radius:9px;gap:2px;padding:3px;display:inline-flex}.pill-group button{color:var(--txt);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.pill-group button:hover{color:var(--txt);background:var(--surface)}.pill-group button.active{background:rgba(var(--acc-r), .12);color:var(--acc);box-shadow:inset 0 0 0 1px rgba(var(--acc-r), .35)}.toolbar-spacer{flex:1 1 0;min-width:0}.view-toggle{border:1px solid var(--line);background:#00000057;border-radius:9px;padding:3px;display:inline-flex}.view-toggle button{color:var(--txt);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:34px;height:30px;transition:all .15s;display:inline-flex}.view-toggle button:hover{color:var(--txt);background:var(--surface)}.view-toggle button.active{background:rgba(var(--acc-r), .12);color:var(--acc);box-shadow:inset 0 0 0 1px rgba(var(--acc-r), .35)}.badge{letter-spacing:.3px;border:1px solid var(--badge-border,var(--line));background:var(--badge-bg,#00000057);color:var(--badge-color,var(--txt));white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.badge-lg{padding:5px 12px;font-size:12px}.badge-status-open{--badge-color:var(--info);--badge-bg:#38bdf81a;--badge-border:#38bdf84d}.badge-status-in_progress{--badge-color:var(--warn);--badge-bg:#eab3081a;--badge-border:#eab3084d}.badge-status-resolved{--badge-color:var(--ok);--badge-bg:#22c55e1a;--badge-border:#22c55e4d}.badge-status-closed,.badge-priority-low{--badge-color:var(--txt-mut);--badge-bg:#00000057;--badge-border:var(--line)}.badge-priority-medium{--badge-color:var(--info);--badge-bg:#38bdf81a;--badge-border:#38bdf840}.badge-priority-high{--badge-color:var(--warn);--badge-bg:#eab3081f;--badge-border:#eab3084d}.badge-priority-critical{--badge-color:var(--err);--badge-bg:#f43f5e1f;--badge-border:#f43f5e59}.badge-level-super{--badge-color:var(--acc);--badge-bg:rgba(var(--acc-r), .12);--badge-border:rgba(var(--acc-r), .35)}.badge-level-org{--badge-color:var(--txt-mut);--badge-bg:#00000057;--badge-border:var(--line)}.badge-kind-bug{--badge-color:var(--err);--badge-bg:#f43f5e1a;--badge-border:#f43f5e4d}.badge-kind-feature_request{--badge-color:var(--ok);--badge-bg:#22c55e1a;--badge-border:#22c55e4d}.badge-kind-question{--badge-color:var(--info);--badge-bg:#38bdf81a;--badge-border:#38bdf84d}.tickets-table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.tickets-table{border-collapse:collapse;width:100%}.tickets-table th,.tickets-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 16px;font-size:13px}.tickets-table th{color:var(--txt-mut);text-transform:uppercase;letter-spacing:.5px;background:var(--surface);font-size:11px;font-weight:600}.tickets-table tbody tr{cursor:pointer;transition:background .12s}.tickets-table tbody tr:hover{background:rgba(var(--acc-r), .12)}.tickets-table tbody tr:last-child td{border-bottom:none}.tickets-table .col-id{color:var(--txt-mut);font-family:var(--mono);width:70px;font-size:12px}.tickets-table .col-title{color:var(--txt);text-overflow:ellipsis;white-space:nowrap;max-width:360px;font-weight:600;overflow:hidden}.tickets-table .col-title small{color:var(--txt-mut);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;font-weight:400;display:block;overflow:hidden}.tickets-table .col-date{color:var(--txt-mut);white-space:nowrap;font-size:12px}.kanban{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}@media (width<=1100px){.kanban{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.kanban{grid-template-columns:1fr}}.kanban-col{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;min-height:300px;max-height:calc(100vh - 320px);transition:all .2s;display:flex}.kanban-col.drag-over{border-color:var(--acc);background:rgba(var(--acc-r), .12);box-shadow:0 0 0 2px rgba(var(--acc-r), .2)}.kanban-col-header{border-bottom:1px solid var(--line);color:var(--txt);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:700;display:flex}.kanban-col-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.kanban-col-dot.open{background:var(--info)}.kanban-col-dot.in_progress{background:var(--warn)}.kanban-col-dot.resolved{background:var(--ok)}.kanban-col-dot.closed{background:var(--txt-mut)}.kanban-col-count{color:var(--txt-mut);text-transform:none;letter-spacing:0;background:#00000057;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:11px}.kanban-col-body{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}.kanban-card{background:var(--surface);border:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:column;gap:8px;padding:12px;transition:all .18s cubic-bezier(.4,0,.2,1);display:flex}.kanban-card:hover{border-color:rgba(var(--acc-r), .35);box-shadow:none;transform:translateY(-1px)}.kanban-card:active{cursor:grabbing}.kanban-card.dragging{opacity:.4;transform:scale(.97)}.kanban-card-title{color:var(--txt);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.kanban-card-meta{color:var(--txt-mut);justify-content:space-between;align-items:center;font-size:11px;display:flex}.kanban-card-meta .id{font-family:var(--mono)}.kanban-empty{text-align:center;color:var(--txt-mut);border:1px dashed var(--line);border-radius:10px;margin:8px 4px;padding:24px 12px;font-size:12px}.tickets-loader{color:var(--txt-mut);justify-content:center;align-items:center;gap:10px;padding:60px 20px;display:flex}.tickets-loader svg{animation:1s linear infinite spin}.alert{border:1px solid;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:13px;display:flex}.alert-error{color:var(--err);background:#f43f5e14;border-color:#f43f5e4d}.alert svg{flex-shrink:0;margin-top:1px}.ticket-detail-header{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:18px;padding:22px 24px}.ticket-detail-header .back-link{color:var(--txt-mut);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:14px;padding:0;font-size:13px;display:inline-flex}.ticket-detail-header .back-link:hover{color:var(--acc)}.ticket-detail-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.ticket-detail-title-row h1{letter-spacing:-.4px;margin-bottom:10px;font-size:22px;font-weight:700}.ticket-detail-badges{flex-wrap:wrap;gap:8px;display:flex}.ticket-meta-box{border:1px solid var(--line);background:#00000057;border-radius:10px;min-width:220px;padding:12px 14px;font-size:12px}.ticket-meta-box dl{grid-template-columns:auto 1fr;gap:4px 12px;display:grid}.ticket-meta-box dt{color:var(--txt-mut);font-weight:500}.ticket-meta-box dd{color:var(--txt);text-align:right}.ticket-grid{grid-template-columns:1fr 320px;align-items:start;gap:18px;display:grid}@media (width<=1024px){.ticket-grid{grid-template-columns:1fr}}.ticket-content{flex-direction:column;gap:16px;display:flex}.ticket-section{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.ticket-section-header{border-bottom:1px solid var(--line);color:var(--txt);align-items:center;gap:10px;padding:13px 18px;font-size:14px;font-weight:600;display:flex}.ticket-section-header svg{color:var(--acc)}.ticket-section-body{padding:16px 18px}.ticket-section-body p{color:var(--txt);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.text-limit{color:var(--txt-mut);font-variant-numeric:tabular-nums;margin-top:6px;font-size:12px}.text-limit.over{color:var(--err);font-weight:600}.ticket-tech-table{border-collapse:collapse;width:100%}.ticket-tech-table th,.ticket-tech-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px 18px;font-size:13px}.ticket-tech-table tr:last-child th,.ticket-tech-table tr:last-child td{border-bottom:none}.ticket-tech-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;width:140px;color:var(--txt-mut);font-size:11px;font-weight:600}.ticket-tech-table td{color:var(--txt);word-break:break-all}.ua-raw{margin-top:6px}.ua-raw>summary{cursor:pointer;color:var(--txt-mut);-webkit-user-select:none;user-select:none;font-size:11px}.ua-raw>summary:hover{color:var(--txt)}.ua-raw>code{color:var(--txt-mut);margin-top:5px;font-size:11px;line-height:1.5;display:block}.ticket-tech-table code{display:inline-block}.ticket-logs{color:var(--txt);font-family:var(--mono);border-top:1px solid var(--line);background:#00000057;max-height:360px;margin:0;padding:14px 18px;font-size:12px;overflow:auto}.admin-panel{flex-direction:column;gap:14px;display:flex;position:sticky;top:16px}.admin-panel .ticket-section-header svg{color:var(--acc)}.admin-panel .form-group{margin:0;padding:0 18px}.admin-panel .form-group:first-of-type{padding-top:16px}.admin-panel .form-group label{color:var(--txt-mut);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.admin-panel select,.admin-panel textarea{border:1px solid var(--line);width:100%;color:var(--txt);background:#00000057;border-radius:8px;padding:9px 12px;font-size:13px}.admin-panel textarea{resize:vertical;min-height:70px;font-family:inherit}.admin-actions{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:16px 18px 18px;display:flex}.admin-actions .btn{width:100%}.chat-body{background:var(--bg-0);max-height:520px;padding:16px 18px;overflow-y:auto}.chat-empty{text-align:center;color:var(--txt-mut);padding:40px 20px;font-size:13px}.chat-empty svg{color:var(--txt-mut);opacity:.5;margin-bottom:10px}.chat-day-divider{align-items:center;gap:10px;margin:16px 0 12px;display:flex}.chat-day-divider .line{background:var(--line);flex:1;height:1px}.chat-day-divider .label{color:var(--txt-mut);background:var(--surface);border:1px solid var(--line);text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.chat-row{align-items:flex-end;gap:8px;margin-bottom:10px;display:flex}.chat-row.right{flex-direction:row-reverse;justify-content:flex-end}.chat-avatar{border:1px solid var(--line);width:30px;height:30px;color:var(--txt-mut);background:#00000057;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-avatar.admin{background:linear-gradient(140deg, rgba(var(--acc-r), .26), rgba(var(--acc-r), .08));color:#fff;border-color:#0000}.chat-bubble{background:var(--surface);border:1px solid var(--line);border-radius:12px;max-width:min(560px,75%);padding:10px 13px;position:relative}.chat-bubble.admin{background:rgba(var(--acc-r), .12);border-color:rgba(var(--acc-r), .35)}.chat-bubble-header{color:var(--txt-mut);align-items:center;gap:8px;margin-bottom:4px;font-size:11px;display:flex}.chat-bubble-author{color:var(--txt);font-weight:600}.chat-bubble.admin .chat-bubble-author{color:var(--acc)}.chat-admin-tag{background:var(--acc);color:#fff;letter-spacing:.3px;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}.chat-bubble-content{color:var(--txt);white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.5}.chat-bubble-delete{color:var(--txt-mut);cursor:pointer;opacity:.6;background:0 0;border:none;align-items:center;gap:4px;margin-top:6px;padding:0;font-size:11px;transition:all .15s;display:inline-flex}.chat-bubble-delete:hover{color:var(--err);opacity:1}.chat-input-row{border-top:1px solid var(--line);background:var(--surface);gap:10px;padding:12px 16px;display:flex}.chat-input-row textarea{border:1px solid var(--line);color:var(--txt);resize:none;background:#00000057;border-radius:10px;flex:1;min-height:44px;max-height:140px;padding:10px 12px;font-family:inherit;font-size:13px}.chat-input-row textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(var(--acc-r), .2);outline:none}.create-form{flex-direction:column;gap:16px;padding:22px 24px;display:flex}.create-form .form-row{flex-direction:column;gap:6px;display:flex}.create-form label{color:var(--txt);letter-spacing:.2px;font-size:12px;font-weight:600}.create-form label .req{color:var(--err);margin-left:2px}.create-form input,.create-form textarea,.create-form select{border:1px solid var(--line);width:100%;color:var(--txt);background:#00000057;border-radius:9px;padding:10px 12px;font-family:inherit;font-size:14px}.create-form textarea{resize:vertical;min-height:120px}.priority-pills{flex-wrap:wrap;gap:6px;display:flex}.priority-pills button{border:1px solid var(--line);color:var(--txt);cursor:pointer;background:#00000057;border-radius:8px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s}.priority-pills button:hover{color:var(--txt)}.priority-pills button.active{background:var(--badge-bg,rgba(var(--acc-r), .12));color:var(--badge-color,var(--acc));border-color:var(--badge-border,rgba(var(--acc-r), .35))}.create-actions{border-top:1px solid var(--line);gap:10px;margin-top:4px;padding:14px 24px 22px;display:flex}.tickets-empty{background:var(--surface);border:2px dashed var(--line);text-align:center;color:var(--txt-mut);border-radius:16px;padding:60px 20px}.tickets-empty svg{color:var(--acc);opacity:.65;margin-bottom:14px}.tickets-empty h3{color:var(--txt);margin-bottom:6px;font-size:17px}.tickets-empty p{margin-bottom:16px;font-size:13px}@media (width<=768px){.tickets-page,.ticket-detail-page,.ticket-create-page{padding:0 12px}.tickets-table .col-date,.tickets-table .col-creator{display:none}.ticket-detail-title-row{flex-direction:column}.ticket-meta-box{width:100%}}
