/* r20 extension styles (dx-*). Colors from :root vars; dark theme via [data-theme=dark]. */
.dx-ico{flex-shrink:0;vertical-align:-3px}.dx-ico.spin{animation:dxspin 1s linear infinite}@keyframes dxspin{to{transform:rotate(360deg)}}
.dx-ico.ok{color:var(--green)}
.text-btn{background:none;border:0;color:var(--blue);font-size:12px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;padding:0}.text-btn:disabled{opacity:.5}
.dx-inline-actions{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:12px}.dx-inline-actions.col{flex-direction:column;align-items:flex-start;gap:10px}
.dx-label{display:block;font-size:12px;font-weight:500;margin:0 0 8px}
.dx-err{color:var(--danger);display:block;margin-top:6px}
.padded{padding:18px 22px}
/* skeleton */
.dx-skel{display:flex;flex-direction:column;gap:10px;padding:6px 0}.dx-skel span{display:block;height:14px;border-radius:7px;background:linear-gradient(90deg,var(--bg) 25%,var(--line) 50%,var(--bg) 75%);background-size:200% 100%;animation:dxsh 1.3s ease-in-out infinite}@keyframes dxsh{to{background-position:-200% 0}}
/* toggle */
.dx-toggle{display:inline-flex;align-items:center;gap:9px;background:none;border:0;padding:0;cursor:pointer;font-size:12px;color:var(--text)}.dx-toggle i{width:40px;height:22px;border-radius:11px;background:#b8c2d3;position:relative;transition:background .2s;flex-shrink:0;display:block}.dx-toggle i::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.25)}.dx-toggle i .dx-ico{position:absolute;top:50%;left:3px;transform:translateY(-50%);width:16px;height:16px;padding:3px;color:#94a3b8;z-index:1;transition:transform .2s,color .2s}.dx-toggle.on i{background:#1a9c5b}.dx-toggle.on i::after{transform:translateX(18px)}.dx-toggle.on i .dx-ico{transform:translate(18px,-50%);color:#1a9c5b}.dx-toggle.small i{width:34px;height:19px}.dx-toggle.small i::after{width:13px;height:13px}.dx-toggle.small i .dx-ico{width:13px;height:13px;padding:2px}.dx-toggle.small.on i::after,.dx-toggle.small.on i .dx-ico{transform:translateX(15px)}.dx-toggle.small.on i .dx-ico{transform:translate(15px,-50%)}.dx-toggle:disabled{opacity:.55;cursor:default}.dx-toggle span{display:inline-flex;flex-direction:column;line-height:1.2;text-align:left}.dx-toggle span em{font-style:normal;font-size:10px;color:var(--muted)}.dx-toggle.on span em{color:#1a9c5b;font-weight:600}[data-theme=dark] .dx-toggle i{background:#3a4761}[data-theme=dark] .dx-toggle.on i{background:#22a366}[data-theme=dark] .dx-toggle.on span em{color:#69cfa8}
/* chips */
.dx-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:11px;color:var(--text);line-height:1.3;cursor:default}.dx-chip i{width:8px;height:8px;border-radius:50%;background:var(--chip,var(--muted))}button.dx-chip{cursor:pointer}button.dx-chip:hover{border-color:var(--blue)}.dx-chip.on{border-color:var(--chip,var(--blue));background:color-mix(in srgb,var(--chip,var(--blue)) 12%,var(--surface));color:var(--text)}.dx-chip.tiny{padding:2px 8px;font-size:10px;background:var(--bg)}
.dx-cat-bar{display:flex;flex-wrap:wrap;gap:6px;padding:14px 22px;border-bottom:1px solid var(--line)}
/* expiry badge */
.dx-exp{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:500;padding:2px 8px;border-radius:999px;white-space:nowrap}.dx-exp i{width:6px;height:6px;border-radius:50%;background:currentColor}.dx-exp-green{background:#ebf8f1;color:#228a62}.dx-exp-yellow{background:#fff6e0;color:#a2660c}.dx-exp-red{background:#fde8e8;color:#b3261e}.dx-exp-dead{background:#eceff4;color:#5b6b85}[data-theme=dark] .dx-exp-green{background:#234239;color:#8cdbb8}[data-theme=dark] .dx-exp-yellow{background:#43371a;color:#f5c66b}[data-theme=dark] .dx-exp-red{background:#4a2326;color:#ff9b9b}[data-theme=dark] .dx-exp-dead{background:#2a3446;color:#9aa8bf}
/* bell */
.dx-bell{position:relative}.dx-bell-btn{position:relative}.dx-bell-btn.has{color:var(--text)}.dx-bell-count{position:absolute;top:2px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#e0532f;color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1}
.dx-bell-panel{position:absolute;right:0;top:44px;width:380px;max-width:calc(100vw - 30px);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);z-index:60;overflow:hidden;animation:dxpop .15s ease-out}@keyframes dxpop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.dx-bell-head{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line);font-size:13px}.dx-bell-list{max-height:420px;overflow:auto}.dx-bell-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;text-align:center;font-size:12px}.dx-bell-foot{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px;border-top:1px solid var(--line);font-size:12px;color:var(--blue)}
.dx-notif{display:grid;grid-template-columns:32px 1fr 10px;gap:12px;align-items:start;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:13px 16px;cursor:pointer;color:var(--text)}.dx-notif:last-child{border-bottom:0}.dx-notif:hover{background:var(--bg)}.dx-notif.unread{background:color-mix(in srgb,var(--cat) 6%,var(--surface))}.dx-notif-ico{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--cat) 14%,var(--surface));color:var(--cat)}.dx-notif-body{display:flex;flex-direction:column;gap:3px;min-width:0}.dx-notif-body strong{font-size:12.5px;font-weight:500;line-height:1.35}.dx-notif-body>span{font-size:11.5px;color:var(--muted);line-height:1.5;white-space:pre-wrap}.dx-notif-body small{font-size:10px;color:var(--muted);margin-top:2px}.dx-dot{width:8px;height:8px;border-radius:50%;background:var(--cat);margin-top:6px}.dx-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dx-notif-page .dx-notif{padding:15px 22px}.dx-more{padding:14px;display:flex;justify-content:center}
/* prefs */
.dx-pref-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center;padding:10px 0}.dx-prefs .dx-pref-row.main{padding:0 0 14px;border-bottom:1px solid var(--line);margin-bottom:8px}.dx-2fa .dx-pref-row.main{padding:0;border:0;margin:0}.dx-pref-row>div{min-width:0}.dx-pref-row .btn{white-space:nowrap}.dx-pref-row strong{display:block;font-size:13px;font-weight:500}.dx-pref-row small{display:block;font-size:11px;color:var(--muted);margin-top:3px;line-height:1.5}.dx-pref-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.dx-pref-grid .dx-pref-row{grid-template-columns:10px 1fr auto;padding:8px 0}.dx-pref-dot{width:10px;height:10px;border-radius:50%}
/* mobile nav */
.dx-mnav{display:none}
@media (max-width:800px){.dx-mnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgba(16,24,40,.08)}.dx-mnav a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:var(--muted);padding:4px 2px;border-radius:10px}.dx-mnav a.on{color:var(--blue)}.dx-mnav a.main .dx-ico{background:var(--blue);color:#fff;border-radius:12px;padding:5px;width:34px;height:34px;margin-top:-4px}.dx-mnav a.main{color:var(--blue)}.main-content{padding-bottom:84px!important}.app-footer{margin-bottom:70px}}
/* server meta */
.dx-meta{margin:-10px 0 16px}.dx-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dx-meta-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px dashed var(--line);border-radius:8px;padding:5px 10px;font-size:11px;color:var(--muted);cursor:pointer}.dx-meta-btn:hover{color:var(--blue);border-color:var(--blue)}.dx-meta-note{font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:5px;max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dx-color-dot{width:12px;height:12px;border-radius:50%;display:inline-block;flex-shrink:0}.c-blue{background:#2f6bff}.c-green{background:#1a9c5b}.c-orange{background:#e8871e}.c-red{background:#d64545}.c-purple{background:#7b4fd6}.c-gray{background:#8a97ad}
.dx-colors{display:flex;gap:10px}.dx-color{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;background:var(--bg)}.dx-color.c-none{background:var(--bg);position:relative}.dx-color.c-none::after{content:"";position:absolute;inset:10px;border-radius:50%;border:2px solid var(--line)}.dx-color.on{border-color:var(--text);box-shadow:0 0 0 2px var(--surface) inset}
.dx-taginput{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.dx-taginput input{flex:1;min-width:120px;border:0;background:none;padding:4px;font-size:13px;outline:none}
.cl-server.dx-c-blue,.cl-server.dx-c-green,.cl-server.dx-c-orange,.cl-server.dx-c-red,.cl-server.dx-c-purple,.cl-server.dx-c-gray{border-left:4px solid var(--stripe)}.cl-server.dx-c-blue{--stripe:#2f6bff}.cl-server.dx-c-green{--stripe:#1a9c5b}.cl-server.dx-c-orange{--stripe:#e8871e}.cl-server.dx-c-red{--stripe:#d64545}.cl-server.dx-c-purple{--stripe:#7b4fd6}.cl-server.dx-c-gray{--stripe:#8a97ad}
.dx-card-tags{display:flex;flex-wrap:wrap;gap:5px}.dx-card-note{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dx-autorenew{margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}
.dx-secret-box{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);margin:12px 0}.dx-secret-box code{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;overflow-wrap:anywhere;user-select:all}
.dx-tabs{width:auto;max-width:100%}.dx-tabs button{padding:7px 12px;font-size:11px;flex:none}
/* security */
.dx-sec-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:12px}
.dx-keys{display:flex;flex-direction:column;gap:8px}.dx-key-row{display:grid;grid-template-columns:20px 1fr auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.dx-key-row>div{min-width:0}.dx-key-row strong{display:block;font-size:12.5px;font-weight:500}.dx-key-row small{display:block;font-size:10.5px;color:var(--muted);font-family:ui-monospace,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dx-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:10.5px;background:var(--bg);color:var(--muted);border:1px solid var(--line);white-space:nowrap}.dx-pill.ok{background:#ebf8f1;color:#228a62;border-color:transparent}.dx-pill.warn{background:#fff6e0;color:#a2660c;border-color:transparent}[data-theme=dark] .dx-pill.ok{background:#234239;color:#8cdbb8}[data-theme=dark] .dx-pill.warn{background:#43371a;color:#f5c66b}
.btn.small{min-height:32px;padding:6px 12px;font-size:11.5px}
.dx-fw-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12px;margin-bottom:14px}.dx-fw-job{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:9px;background:var(--blue-soft);color:var(--blue);font-size:12px;margin-bottom:12px}
.dx-fw-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-bottom:14px}.dx-preset{text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;display:flex;flex-direction:column;gap:3px}.dx-preset:hover{border-color:var(--blue)}.dx-preset strong{font-size:12.5px;font-weight:500}.dx-preset small{font-size:10.5px;color:var(--muted);line-height:1.4}.dx-preset:disabled{opacity:.5;cursor:default}
.dx-fw-rules{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.dx-fw-rule{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:7px 10px;border-radius:8px;background:var(--bg);font-size:12px}.dx-fw-rule .dx-fw-act{font-size:10px;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:5px;background:#ebf8f1;color:#228a62}.dx-fw-rule.deny .dx-fw-act{background:#fde8e8;color:#b3261e}.dx-fw-rule b{font-family:ui-monospace,Menlo,monospace;font-weight:500}.dx-fw-rule small{color:var(--muted)}.dx-fw-rule .icon-btn{width:28px;height:28px}
.dx-fw-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.dx-fw-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}.dx-fw-form input,.dx-fw-form select{min-height:34px;font-size:12px;padding:6px 10px;flex:1;min-width:140px}.dx-fw-form.col{flex-direction:column;align-items:stretch}.dx-fw-form.col .dx-fw-form{margin:0}.dx-fw-hint{font-size:11px}
/* schedules */
.dx-sched-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px;padding:12px;border:1px dashed var(--line);border-radius:10px}.dx-sched-form select,.dx-sched-form input{min-height:34px;font-size:12px;padding:6px 10px}
.dx-sched-list{display:flex;flex-direction:column;gap:8px}.dx-sched-row{display:grid;grid-template-columns:20px 1fr auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.dx-sched-row.off{opacity:.6}.dx-sched-row strong{display:block;font-size:12.5px;font-weight:500}.dx-sched-row small{display:block;font-size:10.5px;color:var(--muted);margin-top:2px}
/* journal */
.dx-journal-list{display:flex;flex-direction:column}.dx-event{display:grid;grid-template-columns:14px 1fr;gap:12px;padding:12px 22px;border-bottom:1px solid var(--line);position:relative}.dx-event:last-child{border-bottom:0}.dx-event-dot{width:10px;height:10px;border-radius:50%;background:var(--cat);margin-top:5px;box-shadow:0 0 0 3px color-mix(in srgb,var(--cat) 18%,transparent)}.dx-event-body{display:flex;flex-direction:column;gap:2px;min-width:0}.dx-event-body strong{font-size:12.5px;font-weight:500}.dx-event-body span{font-size:11.5px;color:var(--muted)}.dx-event-body small{font-size:10px;color:var(--muted);margin-top:2px}.dx-event.lvl-warn strong{color:#a2660c}.dx-event.lvl-error strong{color:#b3261e}[data-theme=dark] .dx-event.lvl-warn strong{color:#f5c66b}[data-theme=dark] .dx-event.lvl-error strong{color:#ff9b9b}
/* subnav */
.dx-subnav{position:sticky;top:0;z-index:20;display:flex;gap:4px;overflow-x:auto;padding:8px;margin:0 0 18px;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(8px);border-radius:12px;scrollbar-width:none}.dx-subnav a{white-space:nowrap;font-size:11.5px;padding:7px 12px;border-radius:8px;color:var(--muted);background:var(--surface);border:1px solid var(--line)}.dx-subnav a.on,.dx-subnav a:hover{color:var(--blue);border-color:#bbcdf5;background:var(--blue-soft)}
/* list controls */
.dx-list-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 23px;border-bottom:1px solid var(--line);background:var(--bg)}.dx-list-controls select{width:auto;padding:7px 28px 7px 10px;font-size:11px;min-height:34px}.dx-view-toggle{margin-left:auto;display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.dx-view-toggle button{width:34px;height:32px;background:var(--surface);border:0;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.dx-view-toggle button.on{background:var(--blue-soft);color:var(--blue)}
.dx-servers-table td{vertical-align:top;font-size:12px}.dx-servers-table small{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:5px;font-size:10px}.dx-tname{display:flex;align-items:center;gap:7px;color:var(--text)}.dx-tname:hover{color:var(--blue)}
/* attachments */
.dx-attach-list{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dx-attach-item{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font-size:11px;max-width:260px}.dx-attach-item>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dx-attach-item small{color:var(--muted)}.dx-attach-item button{background:none;border:0;color:var(--muted);cursor:pointer;display:flex;padding:0}.dx-attach-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px dashed var(--line);border-radius:8px;background:none;color:var(--muted);font-size:11.5px;cursor:pointer}.dx-attach-btn:hover{color:var(--blue);border-color:var(--blue)}.dx-attach small{display:block;margin-top:6px;font-size:10.5px}
.dx-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.dx-file{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:11px;color:var(--text);background:var(--surface)}.dx-file small{color:var(--muted)}.dx-file-img{display:block;width:120px;height:90px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.dx-file-img img{width:100%;height:100%;object-fit:cover}
/* tickets */
.dx-tbadges{display:inline-flex;align-items:center;gap:6px;margin-right:8px}.dx-prio{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;color:var(--cat)}.dx-prio i{width:7px;height:7px;border-radius:50%;background:var(--cat)}.dx-unread{min-width:18px;height:18px;border-radius:9px;background:#e0532f;color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.dx-rated{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;color:#a2660c}
.dx-two{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.dx-rating{padding:18px 24px;border-top:1px solid var(--line);font-size:12.5px}.dx-stars{display:flex;gap:4px;margin:10px 0}.dx-stars button{background:none;border:0;color:#c9d3e3;cursor:pointer;padding:2px}.dx-stars button.on{color:#f0b429}.dx-rating textarea{width:100%;font-size:12px}
.dx-admin-bar{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;padding:12px 24px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.dx-admin-bar label{display:flex;align-items:center;gap:8px}
.dx-reply-extras{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.dx-reply-extras .dx-attach{flex:1}
.dx-canned-list{display:flex;flex-direction:column;gap:6px}.dx-canned-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:9px}.dx-canned-row>div{min-width:0}.dx-canned-row strong{font-size:12px;font-weight:500;display:block}.dx-canned-row small{font-size:11px;color:var(--muted)}
/* topup */
.dx-methods{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:14px}.dx-method{position:relative;text-align:left;display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;color:var(--text)}.dx-method .dx-ico{color:var(--blue);margin-bottom:4px}.dx-method strong{font-size:12.5px;font-weight:500}.dx-method small{font-size:10.5px;color:var(--muted)}.dx-method em{font-style:normal;font-size:10px;color:var(--muted);position:absolute;top:10px;right:10px}.dx-method.on{border-color:var(--blue);background:var(--blue-soft)}
.dx-pay-sum{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:10px;background:var(--bg);margin-bottom:14px}.dx-pay-sum strong{font-size:22px;letter-spacing:-.02em}.dx-pay-details{margin-bottom:14px}.dx-pay-details small{display:block;margin-top:4px}
.dx-receipt{margin-left:6px}
/* 2fa */
.dx-2fa-grid{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}.dx-2fa-grid p{font-size:12.5px;line-height:1.6;margin-bottom:10px}.dx-2fa-grid code{font-family:ui-monospace,Menlo,monospace;font-size:12px;background:var(--bg);padding:3px 6px;border-radius:5px;cursor:pointer}.dx-qr{border:1px solid var(--line);border-radius:10px;background:#fff}.dx-codes{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0}.dx-codes code{font-family:ui-monospace,Menlo,monospace;font-size:12px;padding:6px 8px;background:var(--bg);border-radius:6px;text-align:center}
.dx-key-form{padding:14px;border:1px dashed var(--line);border-radius:10px;margin-bottom:14px}
/* admin */
.dx-bc-list{display:flex;flex-direction:column}.dx-bc-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:14px 22px;border-bottom:1px solid var(--line)}.dx-bc-row:last-child{border-bottom:0}.dx-bc-row strong{display:block;font-size:12.5px;font-weight:500}.dx-bc-row small{display:block;font-size:10.5px;color:var(--muted);margin-top:3px}
.dx-pm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.dx-pm{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px;opacity:.7}.dx-pm.on{opacity:1;border-color:#bbcdf5}.dx-pm-head{display:flex;gap:8px;align-items:center}.dx-pm-head input{flex:1;min-height:34px;font-size:12px}.dx-pm-min{max-width:90px}.dx-pm input,.dx-pm textarea{font-size:12px;padding:7px 10px}
.dx-paymethods{margin-bottom:24px}
@media (max-width:800px){.dx-pref-grid{grid-template-columns:1fr}.dx-2fa .dx-pref-row.main{grid-template-columns:1fr}.dx-2fa .dx-pref-row.main .btn{justify-self:start}.dx-2fa-grid{grid-template-columns:1fr;justify-items:center}.dx-two{grid-template-columns:1fr}.dx-key-row{grid-template-columns:20px 1fr;grid-auto-rows:auto}.dx-key-row>.dx-toggle,.dx-key-row>.btn,.dx-key-row>.icon-btn{grid-column:2}.dx-fw-rule{grid-template-columns:auto 1fr auto}.dx-fw-rule small{display:none}.dx-sched-row{grid-template-columns:20px 1fr auto}.dx-sched-row .icon-btn{grid-column:3}.dx-bell-panel{position:fixed;top:64px;left:15px;right:15px;width:auto}.dx-list-controls select{flex:1;min-width:120px}.dx-codes{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.dx-skel span,.dx-ico.spin{animation:none}.dx-bell-panel{animation:none}}
.dx-foot-paid{display:inline-flex;align-items:center;gap:6px}.dx-foot-paid .dx-exp{vertical-align:middle}
/* detail tabs */
.dx-dtabs-wrap{margin-top:4px}.dx-dtabs{display:flex;gap:4px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin:0 0 18px;overflow-x:auto;scrollbar-width:none;position:sticky;top:8px;z-index:20;box-shadow:0 2px 10px rgba(16,24,40,.04)}.dx-dtabs button{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:9px 14px;border:0;border-radius:9px;background:none;color:var(--muted);font-size:12.5px;cursor:pointer}.dx-dtabs button:hover{color:var(--text);background:var(--bg)}.dx-dtabs button.on{background:var(--blue-soft);color:var(--blue);font-weight:500}.dx-dtabs button b{min-width:18px;height:18px;border-radius:9px;background:#e0532f;color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.dx-dtab-pane{animation:dxfade .18s ease-out}@keyframes dxfade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.action-password .dx-ico{color:#7792bb}
.dx-fw-note{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:9px;font-size:12px;line-height:1.5;margin-bottom:12px}.dx-fw-note.warn{background:#fff6e0;color:#7a4d06}.dx-fw-note.err{background:#fde8e8;color:#8a1f1a}[data-theme=dark] .dx-fw-note.warn{background:#43371a;color:#f5c66b}[data-theme=dark] .dx-fw-note.err{background:#4a2326;color:#ff9b9b}.dx-fw-note span{flex:1}.dx-fw-note .text-btn{white-space:nowrap}.dx-fw-when{font-size:11px}
@media (max-width:800px){.dx-dtabs{top:0;border-radius:0 0 12px 12px;margin:0 -17px 16px;padding:6px 10px}.dx-dtabs button{padding:8px 11px;font-size:12px}.dx-dtabs button span{display:inline}}
@media (prefers-reduced-motion:reduce){.dx-dtab-pane{animation:none}}
/* ── батч 2 ─────────────────────────────────────────────────────────────── */
/* контраст ≥4.5:1 + табличные цифры */
:root{--muted:#5b6b85}[data-theme=dark]{--muted:#9db0cc}.workspace-label{color:#6b7a90!important}.side-nav a{color:#5b6b85}.side-nav a:hover{color:var(--text)}.divider>span{color:#6b7a90!important}.btn.telegram{color:#1c6fa8!important}
.mono,.cl-ip,.price,.stat-panel>strong,.balance-card>strong,.cl-billing .big,td,.dx-k-v,.dx-cfg-price strong{font-variant-numeric:tabular-nums}
/* пульс статуса «в сети/активен» */
.status-active i,.status-running i,.status-online i{animation:dxpulse 2.2s ease-in-out infinite}@keyframes dxpulse{0%,100%{box-shadow:0 0 0 0 rgba(34,138,98,.45)}50%{box-shadow:0 0 0 5px rgba(34,138,98,0)}}
/* каскад появления карточек */
.main-content>*>.surface,.main-content>.surface,.main-content .overview-stats>*,.cl-servers>.cl-server{animation:dxrise .28s ease-out both}.main-content>*>.surface:nth-child(2),.cl-servers>.cl-server:nth-child(2){animation-delay:.04s}.main-content>*>.surface:nth-child(3),.cl-servers>.cl-server:nth-child(3){animation-delay:.08s}.main-content>*>.surface:nth-child(4),.cl-servers>.cl-server:nth-child(4){animation-delay:.12s}.main-content>*>.surface:nth-child(5){animation-delay:.16s}.main-content>*>.surface:nth-child(n+6){animation-delay:.2s}@keyframes dxrise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.dx-page-skel{padding:24px 26px;background:var(--surface);border:1px solid var(--line);border-radius:13px}
/* подключение */
.dx-pw-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}.dx-pw-row .cl-kv{margin:0}.dx-eye{width:32px;height:32px}
.dx-connect{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}.dx-conn{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-size:11px;color:var(--muted);cursor:pointer}.dx-conn:hover,.dx-conn.on{color:var(--blue);border-color:#bbcdf5}.dx-connect-qr{flex-basis:100%;display:flex;gap:12px;align-items:center;padding:10px;border:1px dashed var(--line);border-radius:9px;margin-top:4px}.dx-connect-qr small{font-size:11px;color:var(--muted);line-height:1.5}.dx-connect-qr code{font-size:11px}
.dx-paidbar{height:5px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:8px}.dx-paidbar i{display:block;height:100%;border-radius:3px;background:#228a62;transition:width .6s ease-out}.dx-paidbar.yellow i{background:#e8a33a}.dx-paidbar.red i{background:#d64545}.dx-paidbar.dead i{background:#8a97ad}
/* обзор+ */
.dx-ov{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);gap:24px;margin-bottom:24px}.dx-ov-list{display:flex;flex-direction:column}.dx-ov-row{display:grid;grid-template-columns:minmax(0,1.4fr) auto auto auto;gap:10px 16px;align-items:center;padding:12px 22px;border-bottom:1px solid var(--line);font-size:12.5px}.dx-ov-row:last-child{border-bottom:0}.dx-ov-name{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text)}.dx-ov-name .country-flag{flex:none;width:22px;height:16px;border-radius:3px;object-fit:cover}.dx-ov-name strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dx-ov-name small{color:var(--muted);font-size:11px;white-space:nowrap}.dx-ov-date{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--muted)}.dx-ov-actions{display:flex;align-items:center;gap:4px}.dx-ov-runway{display:flex;align-items:center;gap:8px;padding:12px 22px;font-size:12px;border-top:1px solid var(--line)}.dx-ov-runway.ok{color:#228a62}.dx-ov-runway.warn{color:#a2660c;background:#fff6e0}[data-theme=dark] .dx-ov-runway.warn{background:#43371a;color:#f5c66b}.dx-ov-runway .text-btn{margin-left:auto}
.dx-ov-stategrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dx-ov-stategrid>div{padding:12px 14px;border-radius:10px;background:var(--bg)}.dx-ov-stategrid strong{display:block;font-size:22px;font-weight:600;letter-spacing:-.02em}.dx-ov-stategrid span{font-size:11px;color:var(--muted)}.dx-ov-stategrid .good strong{color:#228a62}.dx-ov-stategrid .bad strong{color:#b3261e}.dx-ov-stategrid .warn strong{color:#a2660c}.dx-ov-down{display:flex;align-items:center;gap:6px;padding:0 22px 16px;font-size:12px;color:#b3261e}
/* спарклайны на карточках */
.dx-card-spark{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:11px;color:var(--muted)}.dx-live{display:inline-flex;align-items:center;gap:5px}.dx-live i{width:7px;height:7px;border-radius:50%;background:#b8c2d3}.dx-live.up i{background:#228a62;animation:dxpulse 2.2s infinite}.dx-live.down i{background:#d64545}.dx-live.up{color:#228a62}.dx-live.down{color:#b3261e}.dx-spark{display:block}.dx-spark-line{stroke:#2f6bff;stroke-width:1.5}.dx-spark-fill{fill:rgba(47,107,255,.12)}.dx-spark.warm .dx-spark-line{stroke:#e8a33a}.dx-spark.warm .dx-spark-fill{fill:rgba(232,163,58,.15)}.dx-spark.hot .dx-spark-line{stroke:#d64545}.dx-spark.hot .dx-spark-fill{fill:rgba(214,69,69,.15)}.dx-card-spark b{font-weight:600;color:var(--text)}.dx-speed-last{display:inline-flex;align-items:center;gap:4px}
/* палитра */
.dx-pal-backdrop{position:fixed;inset:0;z-index:90;background:rgba(10,16,30,.45);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 0;backdrop-filter:blur(2px)}.dx-pal{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden;animation:dxpop .15s ease-out}.dx-pal-input{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);color:var(--muted)}.dx-pal-input input{flex:1;border:0;background:none;font-size:15px;outline:none;color:var(--text)}.dx-pal kbd{font-size:10px;padding:2px 6px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font-family:inherit}.dx-pal-list{max-height:52vh;overflow:auto;padding:6px}.dx-pal-list button{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:9px;background:none;color:var(--text);font-size:13px;cursor:pointer}.dx-pal-list button.on{background:var(--blue-soft);color:var(--blue)}.dx-pal-list small{color:var(--muted);font-size:11px;white-space:nowrap}.dx-pal-list p{padding:16px;text-align:center;font-size:12px}.dx-pal-foot{display:flex;justify-content:space-between;padding:8px 16px;border-top:1px solid var(--line);font-size:10.5px;color:var(--muted)}
.dx-pal-btn{display:inline-flex;align-items:center;gap:8px;padding:7px 10px 7px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--muted);font-size:12px;cursor:pointer}.dx-pal-btn:hover{color:var(--text);border-color:#bbcdf5}.dx-pal-btn kbd{font-family:inherit;font-size:10px;padding:1px 5px;border:1px solid var(--line);border-radius:4px;background:var(--surface)}@media (max-width:1020px){.dx-pal-btn span,.dx-pal-btn kbd{display:none}.dx-pal-btn{padding:7px}}
/* тема */
.dx-theme{position:relative}.dx-theme-menu{position:absolute;right:0;top:42px;min-width:170px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;z-index:60;animation:dxpop .15s ease-out}.dx-theme-menu button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:9px 12px;border:0;background:none;border-radius:7px;font-size:12.5px;color:var(--text);cursor:pointer}.dx-theme-menu button:hover{background:var(--bg)}.dx-theme-menu button.on{color:var(--blue)}
/* восстановление */
.dx-recover .text-btn{font-size:inherit;display:inline;vertical-align:baseline}.dx-recover-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}.dx-recover-form input{flex:1;min-width:180px;min-height:36px;font-size:12px;padding:6px 10px}.dx-recover-ok{display:inline-flex;gap:6px;align-items:flex-start;color:#228a62}
/* пагинация / фильтры каталога */
.dx-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.dx-pager>div{display:flex;align-items:center;gap:10px}.dx-pager-num{font-variant-numeric:tabular-nums}.dx-catfilter{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:12px 22px 0}.dx-catfilter select{width:auto;padding:7px 28px 7px 10px;font-size:12px;min-height:34px}.dx-catfilter .dx-pager{border:0;padding:0;margin-left:auto}
.dx-tiers-more{width:100%;margin-top:6px;padding:9px;border:1px dashed var(--line);border-radius:9px;background:none;color:var(--blue);font-size:12px;cursor:pointer}.dx-tiers-more:hover{border-color:var(--blue)}
/* конфигуратор на лендинге */
.dx-cfg{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px;min-width:0}.dx-cfg-head{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;letter-spacing:.08em;color:var(--muted)}.dx-cfg-head small{letter-spacing:0;font-size:11px}.dx-cfg-row{display:flex;flex-direction:column;gap:6px;font-size:12px}.dx-cfg-row>span{display:flex;justify-content:space-between}.dx-cfg-row b{font-weight:600;font-variant-numeric:tabular-nums}.dx-cfg-row input[type=range]{width:100%;accent-color:var(--blue);height:24px}.dx-cfg-opts{display:flex;flex-wrap:wrap;gap:8px}.dx-cfg-seg{display:inline-flex;padding:3px;background:var(--bg);border-radius:9px;gap:2px}.dx-cfg-seg button{padding:6px 10px;border:0;border-radius:7px;background:none;font-size:11.5px;color:var(--muted);cursor:pointer}.dx-cfg-seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 4px rgba(16,24,40,.1)}
.dx-cfg-result{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.dx-cfg-result.empty{font-size:12px;color:var(--muted)}.dx-cfg-price{display:flex;align-items:baseline;gap:8px}.dx-cfg-price strong{font-size:32px;font-weight:600;letter-spacing:-.03em}.dx-cfg-price span{font-size:12px;color:var(--muted)}.dx-cfg-best{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--muted);align-items:center}.dx-cfg-countries{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dx-cfg-countries a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;border:1px solid var(--line);border-radius:9px;font-size:10.5px;color:var(--muted);text-align:center}.dx-cfg-countries a b{color:var(--text);font-weight:600;font-size:11px}.dx-cfg-countries a.on,.dx-cfg-countries a:hover{border-color:var(--blue);color:var(--blue)}.dx-cfg-countries a img,.dx-cfg-countries a svg{width:22px;height:16px;border-radius:3px}
/* доверие + ПО */
.dx-trust{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin:-22px auto 28px}.dx-trust>div{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.dx-trust strong{display:block;font-size:22px;font-weight:600;letter-spacing:-.02em}.dx-trust span{font-size:11px;color:var(--muted)}
.dx-soft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:22px 0 14px}.dx-soft-item{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;row-gap:2px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.dx-soft-item .dx-soft-ico{grid-row:1/3}.dx-soft-item small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.dx-soft-ico{width:36px;height:36px;border-radius:10px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dx-soft-item strong{display:block;font-size:12.5px;font-weight:500}.dx-soft-item small{display:block;font-size:10.5px;color:var(--muted)}
/* админ-дашборд */
.dx-dash{display:flex;flex-direction:column;gap:20px;margin:24px 0}.dx-k-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.dx-k{padding:18px 20px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.dx-k-t{font-size:11px;color:var(--muted)}.dx-k-v{font-size:26px;font-weight:600;letter-spacing:-.02em;margin:8px 0 4px}.dx-k-d{font-size:11px;color:var(--muted)}.dx-k.blue{background:var(--blue);color:#fff;border-color:transparent}.dx-k.blue .dx-k-t,.dx-k.blue .dx-k-d{color:#dbe6ff}
.dx-dash-row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dx-chart{display:flex;align-items:flex-end;gap:3px;height:96px}.dx-chart i{flex:1;background:var(--blue);border-radius:3px 3px 0 0;min-height:2px;opacity:.85}.dx-chart i.z{background:var(--line)}.dx-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:6px}
.dx-countries>div{margin-bottom:10px}.dx-cty-head{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.dx-bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.dx-bar i{display:block;height:100%;background:var(--blue);border-radius:3px}
.dx-clients{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.dx-client{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;color:var(--text)}.dx-client .avatar{width:32px;height:32px;border-radius:9px;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:600}.dx-client strong{display:block;font-size:12.5px;font-weight:500}.dx-client small{font-size:10.5px;color:var(--muted)}
.dx-dragover{outline:2px dashed var(--blue);outline-offset:-4px;border-radius:12px}
@media (max-width:1020px){.dx-k-row{grid-template-columns:1fr 1fr}.dx-dash-row2{grid-template-columns:1fr}.dx-trust{grid-template-columns:repeat(3,1fr)}.dx-ov{grid-template-columns:1fr}}
@media (max-width:580px){.dx-trust{grid-template-columns:1fr 1fr}.dx-ov-row{grid-template-columns:1fr auto;grid-auto-rows:auto;gap:8px 12px;padding:12px 16px}.dx-ov-name{grid-column:1/-1;font-size:14px}.dx-ov-name strong{white-space:normal}.dx-ov-date{grid-column:1;flex-wrap:wrap;row-gap:4px}.dx-ov-row b{grid-column:2;text-align:right;font-size:14px}.dx-ov-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;padding-top:2px}.dx-cfg{padding:18px}.dx-cfg-countries{grid-template-columns:repeat(2,1fr)}.cl-specs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.dx-k-row{grid-template-columns:1fr}.dx-pager{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.main-content>*>.surface,.main-content>.surface,.main-content .overview-stats>*,.cl-servers>.cl-server,.status-active i,.status-running i,.dx-live.up i,.dx-pal,.dx-theme-menu{animation:none}}
/* ═══ батч 3 ═══ */
.dx-rot180{transform:rotate(180deg)}
.dx-md{font-size:14.5px;line-height:1.65;color:var(--text)}.dx-md h2{font-size:19px;margin:22px 0 10px;font-weight:600}.dx-md h3{font-size:16px;margin:18px 0 8px;font-weight:600}.dx-md h4{font-size:14.5px;margin:14px 0 6px;font-weight:600}.dx-md p{margin:0 0 12px}.dx-md ul,.dx-md ol{margin:0 0 12px;padding-left:22px}.dx-md li{margin:4px 0}.dx-md code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:var(--blue-soft);border:1px solid var(--line);border-radius:5px;padding:1px 5px}.dx-md pre{background:#141a2b;color:#e6ebf5;border-radius:10px;padding:12px 14px;overflow:auto;margin:0 0 14px;font-size:13px;line-height:1.5}.dx-md pre code{background:none;border:0;padding:0;color:inherit}.dx-md blockquote{margin:0 0 12px;padding:10px 14px;border-left:3px solid var(--blue);background:var(--blue-soft);border-radius:0 8px 8px 0;color:var(--muted)}.dx-md table{border-collapse:collapse;width:100%;margin:0 0 14px;font-size:13.5px}.dx-md th,.dx-md td{border:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}.dx-md th{background:var(--blue-soft);font-weight:600}.dx-md a{color:var(--blue)}
[data-theme=dark] .dx-md code{background:#1e2536}[data-theme=dark] .dx-md blockquote,[data-theme=dark] .dx-md th{background:#1e2536}
.dx-help-search{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin-bottom:18px}.dx-help-search input{flex:1;border:0;background:none;font-size:15px;color:var(--text);outline:none}
.dx-help-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.dx-help-cats button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:7px 12px;font-size:13px;cursor:pointer}.dx-help-cats button b{font-weight:500;color:var(--muted)}.dx-help-cats button.on{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}
.dx-help-list{display:flex;flex-direction:column}.dx-help-list.cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.dx-help-item{display:flex;flex-direction:column;gap:3px;padding:12px 22px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.dx-help-item:hover{background:var(--blue-soft)}.dx-help-item strong{font-weight:500;font-size:14px}.dx-help-item small{color:var(--muted);font-size:12.5px}.dx-help-list.cols .dx-help-item{border-right:1px solid var(--line)}
.dx-help-article .config-padded{padding-top:8px}.dx-help-vote{display:flex;align-items:center;gap:10px;padding:14px 22px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.dx-help-foot{margin:6px 0 24px;font-size:13px}
.dx-chip{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;padding:5px 11px;font-size:12.5px;cursor:pointer}.dx-chip.on{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.dx-chip:disabled{opacity:.45;cursor:not-allowed}
.dx-kb-suggest{display:flex;flex-direction:column;gap:4px;margin:-6px 0 12px;font-size:13px}.dx-kb-suggest:not(.has){display:none}.dx-kb-suggest small{color:var(--muted)}.dx-kb-suggest a{display:inline-flex;align-items:center;gap:6px;color:var(--blue)}
.dx-api .dx-api-note{display:flex;gap:12px;align-items:flex-start;color:var(--text)}.dx-api .dx-api-note small{display:block;color:var(--muted);margin-top:2px}.dx-api textarea{width:100%}.dx-token-fresh{background:#eaf7ef;border:1px solid #b7e3c6;border-radius:10px;padding:12px 14px;margin-bottom:14px}[data-theme=dark] .dx-token-fresh{background:#15301f;border-color:#2f6b45}.dx-token-fresh code{display:block;margin:8px 0;font-size:13px;word-break:break-all;background:var(--surface);padding:8px 10px;border-radius:8px;border:1px solid var(--line)}.dx-token-fresh-actions{display:flex;gap:12px;align-items:center}
.dx-token-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:14px}.dx-token-table th{text-align:left;color:var(--muted);font-weight:500;padding:6px 8px;border-bottom:1px solid var(--line)}.dx-token-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}.dx-token-table td small{display:block;color:var(--muted);font-family:ui-monospace,monospace;font-size:11.5px}.dx-token-table tr.off{opacity:.5}.dx-token-table .dx-pill{margin-right:4px}
.dx-token-form{border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0}.dx-scopes{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-bottom:12px}.dx-scope{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;position:relative}.dx-scope.on{border-color:var(--blue);background:var(--blue-soft)}.dx-scope input{position:absolute;right:10px;top:10px}.dx-scope strong{font-weight:600;font-size:13.5px}.dx-scope small{color:var(--muted);font-size:12px;padding-right:22px}.dx-token-form-actions{display:flex;gap:10px}.dx-api-foot{margin-top:12px;font-size:12.5px}
.dx-rs{border:1px dashed var(--line);border-radius:10px;padding:12px;margin-top:4px}.dx-rs-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.dx-rs-head strong{font-size:13.5px;font-weight:600}.dx-rs-head small{color:var(--muted)}.dx-rs-group{margin-bottom:8px}.dx-rs-group em{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-bottom:5px}.dx-rs-chips{display:flex;flex-wrap:wrap;gap:6px}.dx-rs-note{font-size:12.5px;margin-top:4px}
.dx-viewas{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:10px;background:#fff3cd;color:#6b4d00;border-bottom:1px solid #f1d27a;padding:8px 16px;font-size:13.5px}.dx-viewas b{font-weight:600}.dx-viewas button{margin-left:auto;border:1px solid #d8b24a;background:#fff;color:#6b4d00;border-radius:8px;padding:5px 12px;cursor:pointer;font-weight:500}[data-theme=dark] .dx-viewas{background:#4a3a10;color:#ffe08a;border-color:#7a6220}[data-theme=dark] .dx-viewas button{background:#2b2408;color:#ffe08a;border-color:#7a6220}
.dx-fin-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px}.dx-fin-kpis>div{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.dx-fin-kpis strong{display:block;font-size:22px;font-weight:600}.dx-fin-kpis span{font-size:12.5px;color:var(--muted)}.dx-fin-kpis .bad strong{color:#c0392b}.dx-fin-kpis .good strong{color:#228a62}
.dx-bars-wrap{padding:14px 18px}.dx-bars{width:100%;height:200px}.dx-bars .grid{stroke:var(--line);stroke-width:1}.dx-bars .lbl{font-size:10px;fill:var(--muted)}.dx-bars .rev{fill:#2f6bff}.dx-bars .top{fill:#1a9c5b;opacity:.85}.dx-bars .hit{fill:transparent}.dx-bars g:hover .hit{fill:rgba(47,107,255,.06)}.dx-bars-legend{display:flex;gap:16px;align-items:center;font-size:12.5px;color:var(--muted);margin-top:6px;flex-wrap:wrap}.dx-bars-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.dx-bars-legend i.rev{background:#2f6bff}.dx-bars-legend i.top{background:#1a9c5b}.dx-bars-legend b{font-weight:500;color:var(--text)}
.dx-fin-table{width:100%;border-collapse:collapse;font-size:13px}.dx-fin-table th{text-align:left;padding:8px 16px;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line)}.dx-fin-table td{padding:8px 16px;border-bottom:1px solid var(--line)}.dx-fin-table td small{color:var(--muted)}.dx-fin-table td.bad{color:#c0392b}
.dx-health{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:20px}.dx-health-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.dx-health-card h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.dx-health-row{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13.5px}.dx-health-row small{margin-left:auto;color:var(--muted);text-align:right}.dx-health-row .mono{font-family:ui-monospace,monospace;font-size:12.5px}.dx-dot{width:9px;height:9px;border-radius:50%;flex:none;background:#c8ced9}.dx-dot.ok{background:#22a862}.dx-dot.bad{background:#d9481c}.dx-dot.warn{background:#e0a300}.dx-dot.na{background:#c8ced9}.dx-health-chips{display:flex;flex-wrap:wrap;gap:6px}.dx-health-chips .dx-pill b{font-weight:600;margin-right:3px}.dx-pill.warn{background:#fff3cd;color:#6b4d00}.dx-pill.ok{background:#e8f7ee;color:#1a6b3d}
.dx-bulk-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.dx-bulk-row select,.dx-bulk-row input{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:13px}.dx-bulk-pct{width:70px}.dx-bulk-reason{flex:1;min-width:160px}.dx-bulk-only{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.dx-tools-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px}.dx-tools-row:last-child{border-bottom:0}.dx-tools-row small{display:block;font-size:12.5px}.dx-tools-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dx-tools-actions input{padding:6px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;min-width:220px;background:var(--surface);color:var(--text)}
.dx-api-decision{flex-basis:100%;order:9}.dx-api-decision .dx-tools-row{border:1px solid #f1d27a;background:#fff8e1;border-radius:10px;padding:10px 14px}[data-theme=dark] .dx-api-decision .dx-tools-row{background:#3a3010;border-color:#6b5520}
.dx-admin-extras-bar{display:flex;justify-content:flex-end;margin:-6px 0 12px}
.dx-kb-editor .two-column{gap:12px}.dx-kb-body{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.5;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}.dx-kb-body-head{display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--muted);margin:8px 0 6px}.dx-kb-preview{border:1px solid var(--line);border-radius:10px;padding:14px 18px;max-height:520px;overflow:auto}.dx-kb-editor-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}.dx-check{display:inline-flex;align-items:center;gap:6px;font-size:13.5px}
.dx-kb-table,.dx-lg-table{width:100%;border-collapse:collapse;font-size:13px}.dx-kb-table th,.dx-lg-table th{text-align:left;padding:8px 16px;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line)}.dx-kb-table td,.dx-lg-table td{padding:8px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.dx-kb-table td small,.dx-lg-table td small{display:block;color:var(--muted);font-size:11.5px}.dx-kb-table tr.off,.dx-lg-table tr.off{opacity:.55}.dx-lg-table .mono{font-family:ui-monospace,monospace}.dx-inline-filter{padding:5px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;background:var(--surface);color:var(--text)}
.dx-lg-add{border-top:1px solid var(--line)}.dx-lg-add-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.dx-lg-add-row input{padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-size:13px;flex:1;min-width:120px;background:var(--surface);color:var(--text)}.dx-lg-add-row input.short{flex:0 0 90px;min-width:0}
.dx-pref-table{width:100%;border-collapse:collapse;font-size:13.5px;margin-bottom:10px}.dx-pref-table th{text-align:left;font-weight:500;color:var(--muted);padding:6px 4px;border-bottom:1px solid var(--line);font-size:12.5px}.dx-pref-table th:not(:first-child),.dx-pref-table td:not(:first-child){text-align:center;width:90px}.dx-pref-table td{padding:7px 4px;border-bottom:1px solid var(--line)}.dx-pref-table td:first-child{display:flex;align-items:center;gap:8px}
@media (max-width:640px){.dx-help-list.cols{grid-template-columns:1fr}.dx-help-list.cols .dx-help-item{border-right:0}.dx-token-table th:nth-child(4),.dx-token-table td:nth-child(4){display:none}.dx-fin-table th:nth-child(4),.dx-fin-table td:nth-child(4){display:none}.dx-viewas{font-size:12.5px;padding:8px 12px}.dx-tools-row{flex-direction:column;align-items:flex-start}}

[data-theme=dark] .dx-pill.warn{background:#4a3a10;color:#ffe08a}[data-theme=dark] .dx-pill.ok{background:#15301f;color:#89d9b7}[data-theme=dark] .dx-md pre{background:#0d1220}[data-theme=dark] .dx-token-fresh code{background:var(--bg)}[data-theme=dark] .dx-help-item:hover{background:var(--blue-soft)}
/* ═══ статические страницы сайта (/help, /lg) в стиле лендинга ═══ */
.dxp .landing-header{height:auto;min-height:98px;flex-wrap:wrap;padding:12px 0}.dxp .landing-header nav{flex-wrap:wrap;row-gap:8px}.dxp .landing-header nav a{color:var(--muted);text-decoration:none;font-size:13px}.dxp .landing-header nav a:hover{color:var(--blue)}.dxp .header-actions{display:flex;align-items:center;gap:10px}.dxp-theme{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;font-size:16px}.dxp-theme:hover{color:var(--blue);border-color:var(--blue)}
.dxp-main{padding-top:6px;padding-bottom:70px;min-height:60vh;color:var(--text)}.dxp-muted{color:var(--muted)}
.dxp-hero{padding:26px 0 22px}.dxp-hero h1{font-size:44px;line-height:1.08;letter-spacing:-.025em;margin:0 0 12px;font-weight:700}.dxp-hero p{font-size:17px;color:var(--muted);max-width:780px;margin:0;line-height:1.55}.dxp-hero p a{color:var(--blue)}.dxp-hero small{display:block;margin-top:10px;font-size:13px}.dxp-hero.small{padding:12px 0 18px}.dxp-hero.small h1{font-size:34px}
.dxp-crumbs{font-size:13px;color:var(--muted);margin:14px 0 0;display:flex;gap:8px;align-items:center}.dxp-crumbs a{color:var(--muted);text-decoration:none}.dxp-crumbs a:hover{color:var(--blue)}
.dxp-search{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:13px 18px;margin:0 0 26px;color:var(--muted)}.dxp-search input{flex:1;border:0;background:none;font:inherit;font-size:16px;color:var(--text);outline:none}
.dxp-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-bottom:30px}.dxp-cat{display:flex;flex-direction:column;gap:6px;background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:18px 18px 16px;color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}.dxp-cat:hover{border-color:var(--blue);transform:translateY(-2px)}.dxp-cat-ico{font-size:24px;line-height:1}.dxp-cat strong{font-size:15px;font-weight:600}.dxp-cat small{color:var(--muted);font-size:12.5px;line-height:1.4}.dxp-cat b{margin-top:4px;font-size:12px;font-weight:500;color:var(--blue)}
.dxp-section{margin:0 0 30px}.dxp-section h2{font-size:22px;margin:0 0 12px;font-weight:600;display:flex;align-items:center;gap:8px}.dxp-section h2 small{font-size:13px;color:var(--muted);font-weight:400;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:2px 9px}
.dxp-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.dxp-item{display:flex;flex-direction:column;gap:4px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:13px 16px;color:var(--text);text-decoration:none}.dxp-item:hover{border-color:var(--blue)}.dxp-item strong{font-weight:500;font-size:14.5px}.dxp-item small{color:var(--muted);font-size:12.5px;line-height:1.4}
.dxp-card{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:22px 26px}.dxp-card.table{padding:0;overflow:auto}.dxp-card h3{margin:0 0 8px;font-size:16px;font-weight:600}.dxp-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.dxp-card p code,.dxp-card p a{color:var(--text)}.dxp-card p a{color:var(--blue)}
.dxp-grid{display:grid;gap:14px;margin-bottom:28px}.dxp-grid.three{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.dxp-article{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:28px;align-items:start;margin-bottom:30px}.dxp-article .dx-md{font-size:15.5px}.dxp-article .dx-md h2{font-size:21px;margin-top:26px;padding-top:10px}.dxp-article .dx-md h2:first-child{margin-top:0;padding-top:0}.dxp-aside{position:sticky;top:20px;display:flex;flex-direction:column;gap:14px}.dxp-toc{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;font-size:13.5px}.dxp-toc b{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:4px}.dxp-toc a{color:var(--text);text-decoration:none;line-height:1.35}.dxp-toc a:hover{color:var(--blue)}
.dx-md-table{overflow:auto}
.dxp-lg{width:100%;border-collapse:collapse;font-size:14px}.dxp-lg th{text-align:left;padding:12px 16px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:500;border-bottom:1px solid var(--line);white-space:nowrap}.dxp-lg td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.dxp-lg tr:last-child td{border-bottom:0}.dxp-loc{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dxp-loc small{color:var(--muted);flex-basis:100%;margin-left:34px;margin-top:-6px;font-size:12px}.dxp-loc .country-flag{width:24px;height:18px;border-radius:3px;object-fit:cover}.dxp-ip{white-space:nowrap}.dxp-ip code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;background:var(--blue-soft);border-radius:6px;padding:3px 7px}.dxp-copy{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:6px;padding:2px 7px;font-size:11.5px;cursor:pointer;margin-left:6px}.dxp-copy:hover{color:var(--blue);border-color:var(--blue)}.dxp-bw{white-space:nowrap}.dxp-bw small{color:var(--muted)}.dxp-files{white-space:nowrap}.dxp-file{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12.5px;color:var(--text);text-decoration:none;margin-right:6px;background:var(--surface)}.dxp-file:hover{border-color:var(--blue);color:var(--blue)}.dxp-lat b{font-size:15px;font-weight:600;display:block}.dxp-nets{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.dxp-nets i{font-style:normal;font-size:11px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:1px 7px;white-space:nowrap}.dxp-act{text-align:right;min-width:170px}.dxp-res{font-size:12.5px;color:var(--muted);margin-top:6px;text-align:left}.dxp-res b{color:var(--text)}.btn.small{padding:7px 12px;font-size:12.5px}
.dxp-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;background:var(--blue-soft);border-radius:20px;padding:26px 30px;margin:10px 0 20px}.dxp-cta h3{margin:0 0 6px;font-size:20px}.dxp-cta p{margin:0;color:var(--muted)}
.dxp .landing-footer{font-size:13px;flex-wrap:wrap;row-gap:12px;border-top:1px solid var(--line);padding-top:26px;padding-bottom:36px}.dxp .landing-footer a{color:var(--muted);text-decoration:none}.dxp .landing-footer a:hover{color:var(--blue)}.dxp .landing-footer .brand{margin-right:6px}.dxp .landing-footer .brand img{width:28px;height:28px}
@media (max-width:900px){.dxp-article{grid-template-columns:1fr}.dxp-aside{position:static}.dxp-hero h1{font-size:30px}.dxp-lg th:nth-child(3),.dxp-lg td:nth-child(3){display:none}}
@media (max-width:640px){.dxp .wrap{padding:0 16px}.dxp .landing-header nav{display:none}.dxp-lg thead{display:none}.dxp-lg,.dxp-lg tbody{display:block}.dxp-lg tr{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:14px 16px;border-bottom:1px solid var(--line)}.dxp-lg tr:last-child{border-bottom:0}.dxp-lg td{display:block;padding:0;border:0}.dxp-lg td:nth-child(3),.dxp-lg td:nth-child(4){display:none}.dxp-lg td:nth-child(1),.dxp-lg td:nth-child(2),.dxp-lg td:nth-child(6){grid-column:1/-1}.dxp-lg td:nth-child(5){grid-column:1/-1}.dxp-loc small{flex-basis:auto;margin:0 0 0 4px}.dxp-lat b{display:inline;font-size:14px;margin-right:6px}.dxp-lat .dxp-nets{display:inline-flex}.dxp-act{text-align:left;min-width:0;margin-top:4px}.dxp-hero h1{font-size:28px}.dxp-hero p{font-size:15px}}
/* подвал кабинета */
.app-footer.dx-appfoot{font-size:12.5px !important;color:var(--muted);align-items:center;flex-wrap:wrap;row-gap:10px;border-top:1px solid var(--line);margin:28px 22px 80px;padding:18px 0 0 !important}.dx-appfoot-brand{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:500}.dx-appfoot-brand img{width:22px;height:22px}.dx-appfoot-brand small{color:var(--muted);font-weight:400;font-size:12px}.dx-appfoot-links{display:flex;gap:16px;flex-wrap:wrap}.dx-appfoot-links .legal-links{display:contents}.dx-appfoot a{color:var(--muted);text-decoration:none}.dx-appfoot a:hover{color:var(--blue)}
@media (min-width:901px){.app-footer.dx-appfoot{margin-bottom:28px}}

.dxp-legal section{margin:0 0 22px}.dxp-legal section h2{font-size:19px;margin:0 0 8px;font-weight:600}.dxp-legal p{margin:0 0 10px}.dxp .dx-theme{display:inline-flex}.dxp .dx-theme-btn{width:38px;height:38px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.dxp .dx-theme-btn:hover{color:var(--blue);background:var(--blue-soft)}
/* ═══ оживление: появление при прокрутке, hero, кнопки, иконки статических страниц ═══ */
.dxp-cat-ico{display:inline-flex;width:38px;height:38px;border-radius:11px;background:var(--blue-soft);color:var(--blue);align-items:center;justify-content:center;margin-bottom:4px}.dxp-h-ico{display:inline-flex;width:30px;height:30px;border-radius:9px;background:var(--blue-soft);color:var(--blue);align-items:center;justify-content:center;margin-right:10px}.dxp-card h3 .dx-ico{color:var(--blue);vertical-align:-3px;margin-right:6px}.dxp-copy .dx-ico{vertical-align:-2px;margin-right:2px}.dxp-copy.ok{color:var(--green);border-color:var(--green)}.dxp-search .dx-ico{color:var(--muted);flex:none}
@media (prefers-reduced-motion: no-preference){
.dx-reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s var(--dx-ease);transition-delay:calc(var(--dx-i,0)*60ms)}.dx-reveal.dx-in{opacity:1;transform:none}
.hero-copy>*{animation:dx-up .7s var(--dx-ease) both}.hero-copy>:nth-child(2){animation-delay:.08s}.hero-copy>:nth-child(3){animation-delay:.16s}.hero-copy>:nth-child(4){animation-delay:.24s}.hero-copy>:nth-child(5){animation-delay:.32s}.dx-cfg{animation:dx-right .8s .2s var(--dx-ease) both}
.hero{position:relative;isolation:isolate}.hero::before{content:none;position:absolute;inset:-30% -10% 0 -10%;background:radial-gradient(640px 420px at 18% 32%,rgba(35,85,232,.10),transparent 62%),radial-gradient(520px 420px at 82% 70%,rgba(23,133,100,.08),transparent 62%);animation:dx-float 22s ease-in-out infinite alternate;pointer-events:none;z-index:-1}
.dxp-main{position:relative;isolation:isolate}.dxp-hero{position:relative}.dxp-hero::before{content:none;position:absolute;inset:-70% -25% -60% -25%;background:radial-gradient(520px 300px at 14% 45%,rgba(35,85,232,.10),transparent 65%);animation:dx-float 22s ease-in-out infinite alternate;pointer-events:none;z-index:-1}.dxp-hero>*{animation:dx-up .6s var(--dx-ease) both}.dxp-hero>:nth-child(2){animation-delay:.08s}.dxp-hero>:nth-child(3){animation-delay:.16s}
.btn{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(35,85,232,.18)}.btn:active{transform:none}
.dx-price-pop{display:inline-block;animation:dx-pop .35s var(--dx-ease)}
.dxp-card,.dxp-cat,.dxp-item,.software-option,.plan-choice{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.dxp-card:hover,.dxp-item:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.dx-cfg-row input[type=range]::-webkit-slider-thumb{transition:transform .12s}.dx-cfg-row input[type=range]:active::-webkit-slider-thumb{transform:scale(1.25)}
.landing-header nav a{position:relative}.landing-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--blue);transition:right .2s ease}.landing-header nav a:hover::after{right:0}
}
@keyframes dx-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes dx-right{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}@keyframes dx-float{from{transform:translate3d(0,0,0)}to{transform:translate3d(-3%,2.5%,0)}}@keyframes dx-pop{0%{transform:scale(1)}40%{transform:scale(1.07)}100%{transform:scale(1)}}
[data-theme=dark] .hero::before,[data-theme=dark] .dxp-hero::before{opacity:.7}
/* ═══ живой сайт: заметные, но ненавязчивые движения ═══ */
.dx-pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);margin-right:7px;vertical-align:1px;box-shadow:0 0 0 0 rgba(23,133,100,.45);animation:dx-pulse 2.2s ease-out infinite}@keyframes dx-pulse{0%{box-shadow:0 0 0 0 rgba(23,133,100,.45)}70%{box-shadow:0 0 0 9px rgba(23,133,100,0)}100%{box-shadow:0 0 0 0 rgba(23,133,100,0)}}
.dx-soft-marquee{overflow:hidden;margin:22px 0 14px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.dx-soft-track{display:flex;gap:10px;width:max-content;animation:dx-marquee 48s linear infinite}.dx-soft-marquee:hover .dx-soft-track{animation-play-state:paused}.dx-soft-track .dx-soft-item{width:200px;flex:none}@keyframes dx-marquee{to{transform:translateX(calc(-50% - 5px))}}
@media (prefers-reduced-motion: reduce){.dx-soft-track{animation:none;width:auto;flex-wrap:wrap}.dx-soft-track .dup{display:none}.dx-soft-marquee{mask-image:none;-webkit-mask-image:none}.dx-pulse-dot{animation:none}}
@media (prefers-reduced-motion: no-preference){
.hero::after{content:none;position:absolute;inset:-20% -10% 0 -10%;background:radial-gradient(520px 380px at 70% 40%,rgba(35,85,232,.10),transparent 60%);animation:dx-float2 21s ease-in-out infinite alternate;pointer-events:none;z-index:-1}
.dx-cfg{animation:dx-right .8s .2s var(--dx-ease) both,dx-levitate 7s 1.6s ease-in-out infinite alternate;transition:box-shadow .3s}.dx-cfg:hover{box-shadow:0 24px 60px rgba(35,85,232,.16)}
.hero-actions .btn.large{position:relative;overflow:hidden}.hero-actions .btn.large::after{content:"";position:absolute;top:-20%;left:-70%;width:45%;height:140%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:skewX(-20deg);animation:dx-shine 5.5s ease-in-out infinite;pointer-events:none}
.dx-reveal{transform:translateY(28px) scale(.985);transition-duration:.75s}
.dx-cfg-countries>a{animation:dx-pop-in .4s var(--dx-ease) both}.dx-cfg-countries>a:nth-child(2){animation-delay:.05s}.dx-cfg-countries>a:nth-child(3){animation-delay:.1s}.dx-cfg-countries>a:nth-child(4){animation-delay:.15s}.dx-cfg-countries>a:nth-child(5){animation-delay:.2s}.dx-cfg-countries>a:nth-child(6){animation-delay:.25s}
.dx-trust>div{transition:transform .2s,box-shadow .2s}.dx-trust>div:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.dx-soft-item{transition:transform .2s,border-color .2s}.dx-soft-item:hover{transform:translateY(-3px);border-color:var(--blue)}
.brand img{transition:transform .35s var(--dx-ease)}.brand:hover img{transform:rotate(-8deg) scale(1.06)}
}
@keyframes dx-float2{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(4%,-3%,0) scale(1.08)}}@keyframes dx-levitate{from{transform:translateY(0)}to{transform:translateY(-7px)}}@keyframes dx-shine{0%,72%{left:-70%}100%{left:140%}}@keyframes dx-pop-in{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
/* ═══ инженерная бело-синяя тема: палитра, точечная сетка, зерно, единая кривая ═══ */
:root{--dx-ease:cubic-bezier(.16,1,.3,1);--dx-fast:180ms;--bg:#f8fafc;--line:#e2e8f0;--blue:#2563eb;--blue-hover:#1d4ed8;--blue-soft:#eff6ff;--led:#0ea5e9;--led-hi:#38bdf8}
.landing,.dxp-page,.app-shell{background-color:var(--bg);background-image:radial-gradient(rgba(37,99,235,.07) 1px,transparent 1px);background-size:28px 28px}
[data-theme=dark] .landing,[data-theme=dark] .dxp-page,[data-theme=dark] .app-shell{background-image:radial-gradient(rgba(148,178,255,.06) 1px,transparent 1px)}
.landing::after,.dxp-page::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.dx-trust>div,.dx-soft-item,.dx-cfg,.plan-choice,.dxp-card,.dxp-cat{background-color:var(--surface);background-image:radial-gradient(420px 220px at 100% 0,rgba(37,99,235,.05),transparent 60%)}
[data-theme=dark] .dx-trust>div,[data-theme=dark] .dx-soft-item,[data-theme=dark] .dx-cfg,[data-theme=dark] .plan-choice,[data-theme=dark] .dxp-card,[data-theme=dark] .dxp-cat{background-image:radial-gradient(420px 220px at 100% 0,rgba(148,178,255,.06),transparent 60%)}
.btn,.text-btn,.icon-btn,.dx-chip,.dxp-item,.dxp-cat,.dx-help-cats button,.server-action,.plan-choice,.dx-soft-item,.dx-trust>div{transition-duration:var(--dx-fast);transition-timing-function:var(--dx-ease)}
/* маяк */
.dx-beacon{display:inline-flex;align-items:center;gap:8px;margin:10px 0 14px;font-size:12.5px;color:var(--muted)}.dx-beacon i{position:relative;width:8px;height:8px;border-radius:50%;background:#16a34a;flex:none}.dx-beacon i::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:1.5px solid #16a34a;animation:dx-ring 2.4s var(--dx-ease) infinite}@keyframes dx-ring{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
/* border beam на конфигураторе */
@property --dx-a{syntax:"<angle>";initial-value:0deg;inherits:false}
.dx-cfg{position:relative;border-color:var(--line)}.dx-cfg::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--dx-a),transparent 0 72%,#38bdf8 82%,#2563eb 90%,#38bdf8 96%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none;animation:dx-beam 14s linear infinite;opacity:.9}@keyframes dx-beam{to{--dx-a:360deg}}
/* LED-индикаторы, мини-полосы, спарклайн */
.dx-leds{display:inline-flex;gap:5px;align-items:center;margin-left:6px}.dx-leds i{width:3px;height:3px;border-radius:50%;background:var(--led);opacity:.25;display:inline-block}.dx-leds.on i.tx{animation:dx-led 1.7s steps(1,end) infinite}.dx-leds.on i.rx{animation:dx-led2 2.3s steps(1,end) infinite .4s}.dx-leds.on i.disk{animation:dx-led3 3.1s steps(1,end) infinite .9s}
@keyframes dx-led{0%,9%{opacity:.25}10%,14%{opacity:.9;background:var(--led-hi);box-shadow:0 0 8px rgba(14,165,233,.6)}15%,38%{opacity:.3}39%,41%{opacity:.85;box-shadow:0 0 8px rgba(14,165,233,.6)}42%,63%{opacity:.25}64%,70%{opacity:.9;box-shadow:0 0 8px rgba(14,165,233,.6)}71%,100%{opacity:.25}}
@keyframes dx-led2{0%,19%{opacity:.25}20%,23%{opacity:.9;background:var(--led-hi);box-shadow:0 0 8px rgba(14,165,233,.6)}24%,54%{opacity:.3}55%,61%{opacity:.85;box-shadow:0 0 8px rgba(14,165,233,.6)}62%,100%{opacity:.25}}
@keyframes dx-led3{0%,44%{opacity:.2}45%,49%{opacity:.9;background:var(--led-hi);box-shadow:0 0 8px rgba(14,165,233,.6)}50%,79%{opacity:.25}80%,82%{opacity:.8}83%,100%{opacity:.2}}
.dx-mini-bars{display:inline-flex;flex-direction:column;gap:3px;width:44px;margin-left:8px;vertical-align:middle}.dx-mini-bar{position:relative;display:block;height:3px;border-radius:2px;background:var(--line);overflow:hidden}.dx-mini-bar b{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:var(--blue);transition:width .6s var(--dx-ease)}.dx-mini-bar.hot b{background:#d9481c}.dx-mini-bar::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:dx-scan 4.5s var(--dx-ease) infinite}@keyframes dx-scan{0%,60%{left:-40%}100%{left:120%}}
.dx-spark{animation:dx-spark-in .5s var(--dx-ease)}@keyframes dx-spark-in{from{opacity:.4;transform:translateX(5px)}to{opacity:1;transform:none}}.dx-spark-fill{fill:var(--blue);opacity:.06}.dx-spark-line{stroke:var(--blue);stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round}.dx-spark.warm .dx-spark-line{stroke:#d9a300}.dx-spark.hot .dx-spark-line{stroke:#d9481c}
/* статус питания и кнопки */
.status i{transition:background .6s var(--dx-ease)}.status-installing i,.status-pending i,.status-reinstalling i{background:#d9a300;animation:dx-amber 1.4s ease-in-out infinite}@keyframes dx-amber{0%,100%{opacity:1}50%{opacity:.35}}
.server-action svg{transition:transform .9s var(--dx-ease)}.server-action.dx-busy{pointer-events:none}.server-action.dx-busy svg{animation:dx-spin-once .9s var(--dx-ease)}@keyframes dx-spin-once{to{transform:rotate(360deg)}}
/* копирование */
.dx-copied{position:relative;animation:dx-flash .9s var(--dx-ease)}.dx-copied::after{content:"Скопировано";position:absolute;left:50%;top:-30px;transform:translateX(-50%);background:#16a34a;color:#fff;font-size:11px;padding:3px 8px;border-radius:6px;white-space:nowrap;animation:dx-badge 1.5s var(--dx-ease) forwards;pointer-events:none;z-index:5}@keyframes dx-flash{0%{box-shadow:0 0 0 0 rgba(22,163,74,.45);background:rgba(22,163,74,.10)}100%{box-shadow:0 0 0 10px rgba(22,163,74,0);background:transparent}}@keyframes dx-badge{0%{opacity:0;transform:translate(-50%,4px)}12%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-4px)}}
.dx-copied .icon-btn svg{animation:dx-pop .35s var(--dx-ease)}
/* графики: прорисовка линии */
.metric-chart svg path[fill="none"]{stroke-dasharray:2400;stroke-dashoffset:2400;animation:dx-draw 1.3s var(--dx-ease) forwards}@keyframes dx-draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion: reduce){.dx-beacon i::after,.dx-cfg::before,.dx-leds i,.dx-mini-bar::after,.dx-spark,.status i,.server-action svg,.dx-copied,.metric-chart svg path[fill="none"]{animation:none !important}.metric-chart svg path[fill="none"]{stroke-dashoffset:0}}
/* ═══ свечение на всю страницу, ползунки, тултипы, подвал, серийные номера ═══ */
.landing{position:relative}.landing>header,.landing>main,.landing>footer{position:relative;z-index:1}.landing::before{content:"";position:absolute;left:0;right:0;top:0;height:min(120vh,1100px);background:radial-gradient(900px 520px at 22% 18%,rgba(37,99,235,.18),transparent 62%),radial-gradient(760px 540px at 78% 44%,rgba(23,133,100,.13),transparent 62%),radial-gradient(520px 380px at 55% 4%,rgba(123,79,214,.09),transparent 60%);pointer-events:none;z-index:0}
.dxp-page{position:relative}.dxp-page>header,.dxp-page>main,.dxp-page>footer{position:relative;z-index:1}.dxp-page::before{content:"";position:absolute;left:0;right:0;top:0;height:640px;background:radial-gradient(760px 420px at 18% 26%,rgba(37,99,235,.14),transparent 62%),radial-gradient(560px 380px at 82% 40%,rgba(23,133,100,.09),transparent 62%);pointer-events:none;z-index:0}
[data-theme=dark] .landing::before,[data-theme=dark] .dxp-page::before{opacity:.7}
@media (prefers-reduced-motion: no-preference){.landing::before{animation:dx-float 18s ease-in-out infinite alternate}.dxp-page::before{animation:dx-float 22s ease-in-out infinite alternate}}
.dx-soft-marquee{padding:8px 0 10px;margin:14px 0 4px}
/* ползунки конфигуратора */
.dx-cfg-row input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;margin:0;cursor:pointer;--v:0%}
.dx-cfg-row input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background-color:var(--line);background-image:linear-gradient(90deg,var(--blue),#38bdf8);background-repeat:no-repeat;background-size:var(--v) 100%;transition:background-size .18s var(--dx-ease)}
.dx-cfg-row input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--line)}.dx-cfg-row input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--blue),#38bdf8)}
.dx-cfg-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;margin-top:-7px;border-radius:50%;background:#fff;border:2px solid var(--blue);box-shadow:0 2px 8px rgba(37,99,235,.28);transition:transform .18s var(--dx-ease),box-shadow .18s var(--dx-ease),border-color .18s}
.dx-cfg-row input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--blue);box-shadow:0 2px 8px rgba(37,99,235,.28);transition:transform .18s var(--dx-ease),box-shadow .18s var(--dx-ease)}
.dx-cfg-row input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12);box-shadow:0 0 0 6px rgba(37,99,235,.12),0 2px 8px rgba(37,99,235,.3)}.dx-cfg-row input[type=range]:active::-webkit-slider-thumb{transform:scale(1.22);box-shadow:0 0 0 9px rgba(37,99,235,.16)}
.dx-cfg-row input[type=range]:focus-visible{outline:none}.dx-cfg-row input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--surface),0 0 0 7px var(--blue)}
[data-theme=dark] .dx-cfg-row input[type=range]::-webkit-slider-thumb,[data-theme=dark] .dx-cfg-row input[type=range]::-moz-range-thumb{background:var(--surface)}
.dx-cfg-row>span b{font-variant-numeric:tabular-nums;min-width:70px;text-align:right;display:inline-block}
/* кастомные подсказки */
.dx-tip{position:fixed;z-index:10000;max-width:280px;padding:7px 11px;border-radius:9px;background:#172749;color:#fff;font-size:12.5px;line-height:1.4;font-weight:400;letter-spacing:0;box-shadow:0 10px 28px rgba(23,39,73,.22);pointer-events:none;opacity:0;transform:translate(-50%,4px);transition:opacity .18s var(--dx-ease),transform .18s var(--dx-ease)}.dx-tip::before{content:"";position:absolute;left:50%;top:-5px;width:10px;height:10px;background:inherit;transform:translateX(-50%) rotate(45deg);border-radius:2px}.dx-tip.up::before{top:auto;bottom:-5px}.dx-tip.on{opacity:1;transform:translate(-50%,0)}[data-theme=dark] .dx-tip{background:#e1e9f7;color:#121b2b;box-shadow:0 10px 28px rgba(0,0,0,.4)}
/* подвал кабинета прижат к низу на коротких страницах */
.app-shell>div:has(>.main-content){display:flex;flex-direction:column;min-height:100vh}.app-shell .main-content{flex:1 0 auto}
/* серийный номер на карточке */
.cl-serial{display:inline-block;margin-left:8px;font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums;background:var(--blue-soft);border-radius:6px;padding:2px 7px;letter-spacing:.02em;vertical-align:middle}

.dxp-grid.brand{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.dxp-brand{padding:12px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:6px}.dxp-brand img{width:100%;border-radius:10px;border:1px solid var(--line);display:block}.dxp-brand b{font-weight:600;font-size:14px;margin-top:4px}.dxp-brand small{color:var(--muted);font-size:12.5px}

/* пополнение криптой */
.dx-crypto-presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.dx-crypto-presets input{width:120px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:14px}
.dx-crypto-cur{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:12px}.dx-crypto-cur .dx-scope{cursor:pointer;text-align:left}
.dx-crypto-sum{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}.dx-crypto-sum b{font-size:16px}
.dx-crypto-inv{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--blue-soft)}.dx-crypto-inv.paid{background:#e8f7ee;border-color:#b7e3c6}[data-theme=dark] .dx-crypto-inv.paid{background:#15301f;border-color:#2f6b45}.dx-crypto-inv strong{display:block;font-weight:600}.dx-crypto-inv small{color:var(--muted)}.dx-crypto-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.dx-crypto-wait{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}
.dx-spin{width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%;animation:dx-rot 1s linear infinite;display:inline-block}@keyframes dx-rot{to{transform:rotate(360deg)}}
