:root{--bg: #0b0b0c;--bg-2: #111113;--bg-elev: #161618;--bg-panel: #141416;--line: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .12);--text: #f3f1ec;--muted: #8e8c88;--accent: #ff6b2c;--accent-soft: rgba(255, 107, 44, .12);--accent-ink: #140900;--danger: #ff5c5c;--online: #3ecf8e;--offline: #5c5c5f;--maint: #e0a54f;--font-display: "Sora", sans-serif;--font-body: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;--radius: 6px;--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);background:var(--bg);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.boot{min-height:100vh;display:grid;place-content:center;gap:.85rem;background:linear-gradient(160deg,#141416,#0b0b0c 55%),var(--bg)}.boot-mark{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;animation:pulse 1.5s var(--ease) infinite}.boot-line{width:72px;height:2px;margin-inline:auto;background:var(--accent);animation:sweep 1.4s var(--ease) infinite;transform-origin:center}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes sweep{0%{transform:scaleX(.4);opacity:.5}50%{transform:scaleX(1);opacity:1}to{transform:scaleX(.4);opacity:.5}}.auth-shell{position:relative;min-height:100vh;display:grid;place-items:center;padding:2rem 1.25rem;overflow:hidden;background:linear-gradient(180deg,rgba(255,107,44,.05) 0%,transparent 28%),linear-gradient(135deg,#121214,#0b0b0c 48%,#0e0e10)}.auth-noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.35;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 75% 65% at 50% 45%,black,transparent);mask-image:radial-gradient(ellipse 75% 65% at 50% 45%,black,transparent)}.auth-beams{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,107,44,.04) 50%,transparent 60%),linear-gradient(250deg,transparent 55%,rgba(255,255,255,.02) 70%,transparent 85%);animation:beam-shift 18s var(--ease) infinite alternate}@keyframes beam-shift{0%{transform:translate(-2%)}to{transform:translate(2%)}}.auth-panel{position:relative;width:min(400px,100%);padding:2rem 1.65rem 1.65rem;background:var(--bg-panel);border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;animation:rise .55s var(--ease) both}.auth-accent-bar{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--accent),#ff9a5c)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-brand{margin-bottom:1.5rem}.brand-name{margin:0;font-family:var(--font-display);font-weight:700;font-size:clamp(1.55rem,4vw,1.85rem);letter-spacing:-.02em;line-height:1.1}.brand-sub,.eyebrow{margin:.4rem 0 0;color:var(--muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.auth-title{margin:0 0 1.25rem;font-family:var(--font-display);font-weight:600;font-size:1.45rem;letter-spacing:-.02em}.auth-lead{margin:.4rem 0 1.25rem;color:var(--muted);font-size:.9rem}.auth-form,.admin-form{display:grid;gap:.95rem}.field{display:grid;gap:.4rem}.field span{color:var(--muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.field input,.field select,.field textarea,.inline-select{width:100%;padding:.8rem .9rem;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);outline:none;transition:border-color .2s var(--ease),background .2s var(--ease)}.field input:focus,.field select:focus,.field textarea:focus,.inline-select:focus{border-color:#ff6b2c8c;background:#0f0f10}.field textarea{resize:vertical;min-height:90px}.strength-bar{height:3px;background:#ffffff0f;border-radius:2px;overflow:hidden}.strength-fill{display:block;height:100%;border-radius:inherit;transition:width .25s var(--ease),background .25s var(--ease)}.strength-fill.s1,.strength-fill.s2{background:#ff5c5c}.strength-fill.s3{background:#e0a54f}.strength-fill.s4{background:#8fd46a}.strength-fill.s5,.strength-fill.s6{background:var(--accent)}.strength-label{margin:.4rem 0 0;font-size:.78rem;color:var(--muted)}.strength-checks{list-style:none;margin:.55rem 0 0;padding:0;display:grid;gap:.25rem}.strength-checks li{color:var(--muted);font-size:.75rem;font-family:var(--font-mono)}.strength-checks li:before{content:"– "}.strength-checks li.ok{color:var(--online)}.strength-checks li.ok:before{content:"+ "}.form-error{margin:0;padding:.7rem .8rem;color:#ffc9c9;background:#ff5c5c14;border:1px solid rgba(255,92,92,.28);border-radius:var(--radius);font-size:.85rem}.form-error.banner{margin-bottom:1rem}.btn-primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius);padding:.9rem 1rem;background:var(--accent);color:var(--accent-ink);font-family:var(--font-display);font-weight:700;letter-spacing:.01em;transition:background .2s var(--ease),transform .2s var(--ease),opacity .2s}.btn-primary:hover:not(:disabled){background:#ff814a;transform:translateY(-1px)}.btn-primary:disabled{opacity:.55;cursor:wait}.btn-ghost{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:1px solid var(--line);background:transparent;border-radius:var(--radius);padding:.7rem .85rem;color:var(--muted);transition:border-color .2s,color .2s,background .2s}.btn-ghost:hover{border-color:var(--line-strong);color:var(--text);background:#ffffff05}.auth-switch{margin-top:1.2rem;text-align:center}.linkish{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;color:var(--accent);font-size:.88rem}.linkish:hover{text-decoration:underline}.linkish.danger{color:var(--danger)}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr;background:linear-gradient(180deg,#101012 0%,var(--bg) 36%),var(--bg)}.sidebar{display:flex;flex-direction:column;gap:1.1rem;padding:1.25rem .9rem 1rem;border-right:1px solid var(--line);background:var(--bg-2)}.side-brand{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.35rem .45rem .95rem;border-bottom:1px solid var(--line)}.side-brand .brand-name{font-size:1.2rem;letter-spacing:-.02em}.side-role{color:var(--accent);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em}.side-section{flex:1;min-height:0;display:flex;flex-direction:column;gap:.55rem;overflow:hidden}.side-heading{margin:0;padding-inline:.45rem;font-family:var(--font-display);font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--muted);text-transform:uppercase;flex-shrink:0}.side-search{flex-shrink:0;width:100%;padding:.55rem .7rem;border:1px solid var(--line);border-radius:var(--radius);background:#00000059;color:var(--text);font-family:var(--font-body);font-size:.82rem;outline:none;transition:border-color .15s var(--ease)}.side-search::placeholder{color:var(--muted)}.side-search:focus{border-color:#ff6b2c73}.side-empty{margin:0;padding:.4rem .45rem;color:var(--muted);font-size:.85rem}.script-list-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:.15rem;margin-right:-.15rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.script-list-scroll::-webkit-scrollbar{width:5px}.script-list-scroll::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:999px}.script-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}.script-item{width:100%;display:flex;align-items:center;gap:.7rem;padding:.65rem .7rem .65rem .55rem;border:0;border-radius:0;border-left:2px solid transparent;background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}.script-item:hover{background:#ffffff09}.script-item.active{background:#ff6b2c14;border-left-color:var(--accent)}.script-item-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:.2rem}.script-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:.9rem;font-weight:600;letter-spacing:-.01em;color:var(--text)}.script-item.active .script-name{color:#fff}.script-meta{display:flex;align-items:center;gap:.55rem;min-width:0}.script-cost{font-family:var(--font-mono);font-size:.68rem;color:var(--muted);margin-left:auto;flex-shrink:0}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--offline);flex-shrink:0;box-shadow:0 0 0 3px #ffffff0a}.status-dot.lg{width:9px;height:9px}.status-dot.st-online{background:var(--online);box-shadow:0 0 0 3px #3ecf8e26}.status-dot.st-offline{background:var(--offline)}.status-dot.st-maint{background:var(--maint);box-shadow:0 0 0 3px #e0a54f26}.status-tag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.status-tag.st-online{color:var(--online)}.status-tag.st-maint{color:var(--maint)}.side-foot{display:grid;gap:.6rem;padding-top:.75rem;border-top:1px solid var(--line)}.side-nav{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:transparent;border-radius:var(--radius);padding:.72rem .85rem;text-align:left;color:var(--text);font-weight:500;transition:border-color .2s,background .2s}.side-nav:hover,.side-nav.active{border-color:#ff6b2c59;background:var(--accent-soft)}.user-chip{display:grid;gap:.1rem;padding:.15rem .4rem}.user-name{font-family:var(--font-display);font-weight:600;font-size:.95rem}.user-tg{color:var(--muted);font-size:.8rem;font-family:var(--font-mono)}.main{padding:2rem clamp(1.25rem,3vw,2.75rem);overflow:auto;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.01) 100%),transparent}.detail,.admin{max-width:920px;animation:rise .4s var(--ease) both}.member-screen{display:flex;flex-direction:column;gap:1.25rem;max-width:920px}.admin:has(.ticket-desk),.user-home:has(.ticket-desk){max-width:min(1180px,100%)}.member-top-nav{display:flex;flex-wrap:wrap;gap:.35rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.member-top-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--muted);font-family:var(--font-display);font-size:.95rem;font-weight:600;letter-spacing:-.01em;padding:.55rem .9rem;cursor:pointer;border-radius:var(--radius);transition:color .15s var(--ease),background .15s var(--ease)}.member-top-link:hover{color:var(--text);background:#ffffff0a}.member-top-link.active{color:var(--accent, #ff7a1a);background:#ff7a1a1a}.detail-head h1{margin:.3rem 0 0;font-family:var(--font-display);font-size:clamp(1.55rem,3vw,2rem);font-weight:650;letter-spacing:-.025em}.detail-body{margin-top:1.4rem;display:grid;gap:1.2rem}.status-banner{display:inline-flex;align-items:center;gap:.55rem;width:fit-content;padding:.5rem .85rem;border:1px solid var(--line);border-radius:var(--radius);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.status-banner.st-online{border-color:#3ecf8e59;background:#3ecf8e14;color:var(--online)}.status-banner.st-offline{color:var(--muted)}.status-banner.st-maint{border-color:#e0a54f59;background:#e0a54f14;color:var(--maint)}.detail-desc{margin:0;color:var(--muted);max-width:52ch}.meta-grid{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.meta-grid div{padding:.85rem 0;border-top:1px solid var(--line)}.meta-grid dt{color:var(--muted);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.meta-grid dd{margin:.35rem 0 0;font-family:var(--font-display);font-weight:600}.form-row{display:grid;grid-template-columns:1.6fr 1fr .55fr;gap:.75rem}.field.grow,.field.narrow input{min-width:0}.form-actions{display:flex;gap:.75rem;flex-wrap:wrap}.form-actions .btn-primary{width:auto;min-width:140px}.form-actions .btn-ghost{width:auto}.admin-table-wrap{margin-top:1.5rem;border:1px solid var(--line);border-radius:var(--radius);overflow:auto;background:var(--bg-2)}.users-table-scroll{max-height:min(52vh,520px)}.user-sites-panel{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}.user-sites-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.user-sites-head .user-block-title{margin:0;font-family:var(--font-display);font-size:1.1rem;font-weight:650;letter-spacing:-.02em}.user-sites-scroll{max-height:min(40vh,360px);margin-top:0}.admin-table tr.row-active td{background:#ff6b2c0f}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:.85rem .95rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.admin-table th{color:var(--muted);font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;background:#ffffff04}.admin-table tr:last-child td{border-bottom:0}.ticket-desk{margin-top:.5rem}.ticket-new{margin-bottom:1.25rem;max-width:640px}.ticket-layout{display:grid;gap:.85rem;min-height:min(68vh,640px)}.ticket-layout.admin{grid-template-columns:minmax(200px,240px) minmax(0,1fr) minmax(200px,240px)}.ticket-layout.user{grid-template-columns:minmax(200px,260px) minmax(0,1fr)}.ticket-people,.ticket-side{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2);display:flex;flex-direction:column;min-height:0;overflow:hidden}.ticket-people-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--line)}.ticket-people-head select{max-width:110px;font-size:.78rem}.ticket-people-scroll{overflow:auto;flex:1;max-height:min(62vh,580px)}.ticket-person{width:100%;display:flex;flex-direction:column;gap:.15rem;text-align:left;padding:.75rem;border:0;border-bottom:1px solid var(--line);border-left:2px solid transparent;background:transparent;color:var(--text);cursor:pointer}.ticket-person:hover{background:#ffffff08}.ticket-person.active{background:#ff6b2c1a;border-left-color:var(--accent)}.ticket-person-name{font-family:var(--font-display);font-weight:650;font-size:.92rem}.ticket-person-sub,.ticket-person-preview{color:var(--muted);font-size:.72rem}.ticket-person-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-chat{border:1px solid var(--line);border-radius:var(--radius);background:#f4f2ee;display:flex;flex-direction:column;min-height:0;overflow:hidden}.ticket-chat-empty{margin:auto;padding:2rem;color:#111;font-weight:500}.ticket-chat-head{display:flex;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid rgba(0,0,0,.08);background:#ebe7e0;color:#111}.ticket-chat-head strong{color:#111}.ticket-chat-head .table-sub{color:#333}.ticket-chat-scroll{flex:1;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.65rem;max-height:min(48vh,420px)}.ticket-bubble{max-width:min(85%,420px);padding:.65rem .8rem;border-radius:10px;background:#fff;border:1px solid rgba(0,0,0,.08)}.ticket-bubble.mine{align-self:flex-end;background:#ffe8d9;border-color:#ff6b2c40}.ticket-bubble.theirs{align-self:flex-start}.ticket-bubble-meta{font-size:.68rem;color:#777;margin-bottom:.25rem}.ticket-bubble-text{margin:0;color:#111;font-size:.92rem;line-height:1.45;white-space:pre-wrap;font-family:var(--font-body)}.ticket-attach{margin-top:.45rem}.ticket-attach-img{display:block;max-width:220px;max-height:180px;border-radius:6px;border:1px solid rgba(0,0,0,.1)}.ticket-compose{padding:.75rem;border-top:1px solid rgba(0,0,0,.08);background:#ebe7e0;display:grid;gap:.5rem}.ticket-compose textarea{width:100%;resize:vertical;color:#111!important;background:#fff!important;border:1px solid rgba(0,0,0,.18);border-radius:var(--radius);padding:.65rem .75rem;font-family:var(--font-body);font-size:.92rem;caret-color:#111}.ticket-compose textarea::placeholder{color:#666!important;opacity:1}.ticket-compose-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.ticket-compose-actions input[type=file]{color:#333;font-size:.78rem}.ticket-side-block{padding:.85rem;border-bottom:1px solid var(--line)}.ticket-side-block h3{margin:0 0 .65rem;font-family:var(--font-display);font-size:.92rem}.canned-list{display:flex;flex-direction:column;gap:.4rem;max-height:220px;overflow:auto;margin-bottom:.75rem}.canned-item{display:flex;align-items:center;gap:.45rem}.canned-use{flex:1;text-align:left;border:1px solid var(--line);background:#ffffff08;color:var(--text);border-radius:var(--radius);padding:.45rem .55rem;cursor:pointer;font-size:.82rem}.canned-use:hover{border-color:#ff6b2c66;color:var(--accent)}.canned-form{display:grid;gap:.45rem}.canned-form input,.canned-form textarea{width:100%;color:#111!important;background:#fff!important;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius);padding:.55rem .65rem;caret-color:#111;font-family:var(--font-body);font-size:.88rem}.canned-form input::placeholder,.canned-form textarea::placeholder{color:#666!important;opacity:1}@media(max-width:980px){.ticket-layout.admin,.ticket-layout.user{grid-template-columns:1fr}.ticket-people-scroll,.ticket-chat-scroll{max-height:280px}}.table-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;min-width:280px;max-width:420px}.act-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#ffffff0a;color:var(--text);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.02em;padding:.28rem .5rem;border-radius:4px;cursor:pointer;line-height:1.2;white-space:nowrap}.act-btn:hover{border-color:var(--line-strong);background:#ffffff14}.act-btn.accent{border-color:#ff6b2c73;color:#ff9a6b}.act-btn.accent:hover{background:#ff6b2c1f}.act-btn.danger{border-color:#ff5a5a59;color:#ff8a8a}.act-btn.danger:hover{background:#ff5a5a1a}.act-group{display:inline-flex;flex-wrap:wrap;gap:.3rem;padding:.2rem;border:1px solid rgba(255,107,44,.25);border-radius:6px;background:#ff6b2c0a}.installs-table-wrap{overflow-x:auto}.installs-table{table-layout:fixed;min-width:960px}.installs-table th,.installs-table td{vertical-align:middle}.installs-table .col-id{width:52px;white-space:nowrap}.installs-table .col-user{width:88px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.installs-table .col-domain{width:200px}.installs-table .col-domain .domain-link{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal}.installs-table .col-ip{width:128px;white-space:nowrap;font-family:var(--font-mono);font-size:.78rem}.installs-table .col-status{width:88px;white-space:nowrap}.installs-table .col-date{width:148px}.installs-table .col-date .table-sub{white-space:nowrap;font-size:.75rem}.installs-table .err-cell{width:140px;max-width:140px}.installs-table .table-actions{width:auto;min-width:300px;max-width:none}.inline-select{min-width:120px;padding:.45rem .55rem}.install-form{margin-top:1.15rem;max-width:540px;padding:1.35rem;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius)}.ns-row{grid-template-columns:1fr 1fr}.pkg-cell{display:grid;gap:.35rem;min-width:220px}.pkg-bind-row,.pkg-url-row{display:flex;gap:.35rem;align-items:center}.pkg-bind-input,.pkg-url-input{flex:1;min-width:0;font-size:.75rem;padding:.35rem .45rem;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius)}.domain-link{color:#9ec5ff;text-decoration:none;font-weight:650;word-break:break-all}.domain-link:hover{color:#c8ddff;text-decoration:underline}.pkg-ok{color:var(--online);font-size:.78rem;word-break:break-all}.pkg-missing{color:var(--muted);font-size:.78rem}.pkg-upload{display:inline-block;color:var(--accent);font-size:.78rem;cursor:pointer;text-decoration:underline}.pkg-upload:has(input:disabled){opacity:.6;cursor:wait}.muted-banner{color:var(--muted, #9aa3af);border:1px solid rgba(255,255,255,.08);background:#ffffff08;padding:.75rem 1rem;margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center}.muted-banner code{font-size:.85em;word-break:break-all}.queue-head{margin-top:2.4rem}.queue-title{margin:.3rem 0 0;font-family:var(--font-display);font-size:1.25rem;font-weight:650;letter-spacing:-.02em}.job-status{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.js-pending{color:var(--muted)}.js-running{color:var(--maint)}.js-completed{color:var(--online)}.js-failed{color:var(--danger)}.err-cell{max-width:220px;font-size:.78rem;color:var(--muted);word-break:break-word}.wait-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1.5rem;background:#080809e0}.wait-card{width:min(400px,100%);padding:2.1rem 1.7rem;text-align:center;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg-panel);display:grid;gap:.7rem;justify-items:center;animation:rise .4s var(--ease) both;position:relative;overflow:hidden}.wait-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.spinner{width:36px;height:36px;border:2px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.wait-title{margin:.35rem 0 0;font-family:var(--font-display);font-size:1.35rem;font-weight:650;letter-spacing:-.02em}.wait-warn{margin:0;color:var(--maint);font-size:.92rem}.wait-sub{margin:0;color:var(--muted);font-size:.88rem}.wait-ns{margin-top:.85rem;padding:.85rem 1rem;text-align:left;width:100%;border:1px solid var(--line-strong);border-radius:var(--radius);background:#ffffff08;display:grid;gap:.45rem}.wait-ns-title{margin:0;font-size:.78rem;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.wait-ns-list{margin:0;padding:0;list-style:none;display:grid;gap:.35rem}.wait-ns-list code{font-family:var(--font-mono);font-size:.85rem;color:#9ec5ff;word-break:break-all}.ns-auto-note{margin:-.35rem 0 .75rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff05;line-height:1.45}.ns-block{display:grid;gap:.35rem;align-content:start;min-width:160px}.ns-block-list{margin:0;padding:0;list-style:none;display:grid;gap:.2rem}.ns-block-list code{font-family:var(--font-mono);font-size:.72rem;color:#9ec5ff;word-break:break-all}.ns-block .act-btn{width:fit-content}.installs-table .col-ns{width:200px}.wait-status{margin:.45rem 0 0;font-family:var(--font-mono);font-size:.7rem;color:var(--accent);letter-spacing:.08em;text-transform:uppercase}.wait-done{color:var(--online);font-family:var(--font-mono);font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.wait-fail{color:var(--danger);font-family:var(--font-mono);font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem}.wait-card .btn-primary{margin-top:.7rem;width:auto;min-width:140px}.form-ok{margin:0;padding:.7rem .8rem;color:#b8f5d4;background:#3ecf8e14;border:1px solid rgba(62,207,142,.28);border-radius:var(--radius);font-size:.85rem}.form-ok.banner{margin-bottom:1rem}.chart{display:flex;align-items:flex-end;gap:.35rem;height:140px;margin-top:.85rem;padding:.75rem .5rem 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);overflow-x:auto}.chart-col{flex:1;min-width:28px;display:grid;gap:.35rem;justify-items:center;height:100%}.chart-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px;min-height:90px}.chart-bar{width:8px;min-height:2px;border-radius:2px 2px 0 0}.chart-bar.completed{background:var(--online)}.chart-bar.failed{background:var(--danger)}.chart-label{font-family:var(--font-mono);font-size:.58rem;color:var(--muted)}.admin-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 1.35rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.admin-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:var(--radius);padding:.5rem .8rem;font-size:.85rem;font-weight:500;transition:background .2s,color .2s,border-color .2s}.admin-tab:hover{color:var(--text);background:#ffffff08}.admin-tab.active{color:var(--text);border-color:#ff6b2c59;background:var(--accent-soft)}.settings-panel,.domains-panel{display:grid;gap:1.25rem}.settings-panel code{font-size:.85em;word-break:break-all;color:var(--text, #e8eaed)}.logs-panel{display:grid;gap:1rem}.logs-summary .stat-value{font-size:1.45rem}.log-feed{display:grid;gap:.55rem;max-height:min(70vh,820px);overflow:auto;padding-right:.25rem}.log-row{border:1px solid var(--line-strong);border-radius:10px;background:var(--bg-elev);overflow:hidden}.log-row.log-error,.log-row.audit-danger{border-color:#ff6e6e73;background:#ff464614}.log-row.log-warn{border-color:#ffbe5066;background:#ffaa2812}.log-row.log-success,.log-row.audit-ok{border-color:#5adc8c59;background:#46c8780f}.log-row-main{width:100%;display:grid;grid-template-columns:7.5rem 7rem minmax(12rem,1fr) 8.5rem;gap:.75rem .9rem;align-items:start;padding:.85rem 1rem;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit}.log-row-main.is-static{cursor:default}.log-row-main:hover{background:#ffffff05}.log-level,.audit-badge{display:inline-flex;justify-content:center;align-items:center;width:fit-content;max-width:100%;min-height:1.7rem;padding:.2rem .55rem;border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.02em;line-height:1.2;white-space:normal;text-align:center;word-break:break-word}.log-level-info,.audit-badge-info{background:#2a3a66;color:#d7e3ff!important}.log-level-warn{background:#5a4218;color:#ffe2a8!important}.log-level-error,.audit-badge-danger{background:#5a2222;color:#ffd0d0!important}.log-level-success,.audit-badge-ok{background:#1f4a32;color:#c9ffe0!important}.log-source,.audit-user{font-size:.84rem;font-weight:650;color:#f0eeea!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-word}.log-message{font-size:.95rem;line-height:1.4;color:#f3f1ec!important;white-space:normal;word-break:break-word}.log-time{display:grid;justify-items:end;gap:.15rem;min-width:0}.log-time-rel{font-size:.8rem;font-weight:600;color:#cfcbc4!important}.log-time-abs{font-size:.72rem;color:#9a9690!important;font-variant-numeric:tabular-nums}.log-expand{display:none}.ip-cards{display:grid;gap:.65rem}.ip-card{border:1px solid var(--line-strong);border-radius:10px;background:var(--bg-elev);overflow:hidden}.ip-card.is-empty{border-color:#5adc8c59}.ip-card.is-disabled{opacity:.65}.ip-card-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit}.ip-card-head:hover{background:#ffffff08}.ip-card-main{display:grid;gap:.2rem;min-width:0}.ip-card-ip{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem;color:#f3f1ec}.ip-card-label{font-size:.82rem;color:#b0aca6}.ip-card-meta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.ip-card-count{font-size:.85rem;font-weight:650;color:#e8e4de;min-width:4.5rem;text-align:right}.ip-card-meta .log-expand{display:inline;color:#b0aca6;font-size:.85rem}.ip-card-body{border-top:1px solid var(--line-strong);padding:.75rem 1rem 1rem;background:#00000038}.log-detail{border-top:1px solid var(--line-strong);padding:.85rem 1rem 1rem;background:#00000047;color:var(--text)}.log-detail-id{margin:0 0 .55rem;font-size:.72rem;color:#b0aca6;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.log-meta-grid{display:grid;gap:.55rem;margin:0}.log-meta-item{display:grid;grid-template-columns:minmax(6rem,9rem) minmax(0,1fr);gap:.65rem;align-items:start}.log-meta-item dt{margin:0;font-size:.75rem;color:#b0aca6;text-transform:uppercase;letter-spacing:.03em}.log-meta-item dd{margin:0;font-size:.9rem;color:#f3f1ec;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.45}.log-meta-raw{margin:0;font-size:.84rem;white-space:pre-wrap;word-break:break-word;color:#e8e4de}.audit-row-main{grid-template-columns:8.5rem 7rem minmax(12rem,1fr) 8.5rem}@media(max-width:900px){.log-row-main,.audit-row-main{grid-template-columns:1fr auto;grid-template-areas:"level time" "source source" "message message"}.log-level,.audit-badge{grid-area:level}.log-source,.audit-user{grid-area:source}.log-message{grid-area:message}.log-time{grid-area:time}.log-meta-item{grid-template-columns:1fr;gap:.15rem}}.ideas-box{padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2)}.ideas-list{margin:.75rem 0 0;padding-left:1.1rem;color:var(--muted);display:grid;gap:.4rem;font-size:.9rem}.ideas-list li::marker{color:var(--accent)}code{font-family:var(--font-mono);font-size:.82em;color:var(--accent)}.status-board{margin:0 0 2rem;padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2)}.status-board-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.status-refresh{width:auto;padding:.45rem .75rem;font-size:.8rem}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.stat-card{padding:.95rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.stat-label{margin:0;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.stat-value{margin:.35rem 0 0;font-family:var(--font-display);font-size:1.55rem;font-weight:650;letter-spacing:-.03em}.stat-value.ok{color:var(--online)}.stat-value.bad{color:var(--danger)}.stat-split{margin:0 .2rem;color:var(--muted);font-weight:500}.stat-sub{margin:.3rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.35}.stat-err{margin:.45rem 0 0;color:var(--danger);font-size:.75rem}.disk-bar{margin-top:.65rem;height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden}.announce-banner{display:flex;align-items:flex-start;gap:.75rem;margin:0 0 1rem;padding:.75rem 1rem;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 12%,var(--bg));color:var(--text);font-size:.9rem;line-height:1.4}.announce-banner strong{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);flex-shrink:0;margin-top:.15rem}.announce-banner span{flex:1}.announce-banner .linkish{flex-shrink:0;font-size:1.1rem;line-height:1}.server-cards{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.server-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.server-detail-row td{background:#ffffff05;padding:.85rem 1rem 1rem!important}.server-detail{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.server-detail-row .server-detail{margin-top:0;padding-top:0;border-top:none}.server-detail-grid{display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}.server-detail-title{margin:0 0 .55rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.domain-list{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;max-height:280px;overflow:auto}.domain-list li{display:flex;flex-direction:column;gap:.1rem;padding:.45rem .55rem;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.domain-list strong{font-size:.9rem;word-break:break-all}.domain-wrap{margin-top:1rem}@media(max-width:980px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);max-height:none}.form-row,.ns-row,.meta-grid,.stat-grid,.server-detail-grid{grid-template-columns:1fr}}
