.admin-heading{align-items:center}.admin-heading mark{color:var(--cyan);background:0 0}.primary-button.compact{height:40px;padding:0 16px}.admin-stats{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:15px;display:grid}.admin-stats article{align-items:center;gap:13px;padding:17px;display:flex}.admin-stats small,.admin-stats strong{display:block}.admin-stats small{color:var(--muted);font-size:9px}.admin-stats strong{margin-top:3px;font-size:22px}.admin-layout{grid-template-columns:minmax(0,1fr);gap:15px;display:grid}.admin-layout.with-form{grid-template-columns:minmax(0,1.7fr) minmax(290px,.65fr)}.table-card,.user-form-card{padding:20px}.table-wrap{margin:14px -20px -20px;overflow:auto}table{border-collapse:collapse;width:100%;min-width:780px}th,td{text-align:right;border-top:1px solid var(--line);vertical-align:middle;padding:13px 18px;font-size:10px}th{color:var(--muted);background:var(--card-2);font-size:9px;font-weight:500}td strong,td small{display:block}td small{color:var(--muted);margin-top:3px;font-size:8px}.user-cell{align-items:center;gap:9px;display:flex}.mini-avatar{background:var(--cyan-soft);width:34px;height:34px;color:var(--cyan);direction:ltr;border-radius:10px;place-items:center;font-weight:700;display:grid}.role-select,.admin-form input,.admin-form select{border:1px solid var(--line);background:var(--bg);height:39px;color:var(--text);font:inherit;border-radius:9px;outline:none;padding:0 10px}.role-select{min-width:105px;font-size:9px}.status-pill{border-radius:9px;align-items:center;gap:5px;padding:5px 8px;font-size:8px;display:inline-flex}.status-pill:before{content:"";border-radius:50%;width:6px;height:6px}.status-pill.active{color:var(--green);background:#36d39917}.status-pill.active:before{background:var(--green)}.status-pill.inactive{color:var(--red);background:#ff647c17}.status-pill.inactive:before{background:var(--red)}.mfa-pill{color:var(--violet);font-size:8px}.row-action{border:1px solid var(--line);background:var(--card-2);height:31px;color:var(--muted);font:inherit;cursor:pointer;border-radius:8px;padding:0 9px;font-size:8px}.row-action.danger{color:var(--red)}.row-action.success{color:var(--green)}.row-action:disabled,.role-select:disabled{opacity:.45;cursor:not-allowed}.empty-state{text-align:center;color:var(--muted);padding:35px}.admin-form{gap:14px;margin-top:18px;display:grid}.admin-form label{color:var(--muted);gap:7px;font-size:9px;display:grid}.admin-form input,.admin-form select{width:100%;height:44px}.audit-action{color:var(--cyan);background:var(--cyan-soft);direction:ltr;border-radius:8px;padding:5px 8px;font-size:8px;display:inline-block}.metadata{white-space:nowrap;text-overflow:ellipsis;text-align:right;direction:ltr;max-width:240px;overflow:hidden}.refresh-large{min-width:40px;height:40px}@media (width<=1180px){.admin-layout.with-form{grid-template-columns:1fr}.user-form-card{grid-row:1}.admin-stats{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.admin-stats{grid-template-columns:1fr}.admin-heading{align-items:flex-start}.admin-heading .primary-button{margin-top:14px}.table-card,.user-form-card{padding:16px}.table-wrap{margin:12px -16px -16px}}.dns-status-banner{border:1px solid var(--line);background:var(--card);border-radius:13px;align-items:center;gap:11px;margin-bottom:15px;padding:12px 15px;display:flex}.dns-status-banner>div{flex:1}.dns-status-banner strong,.dns-status-banner small{display:block}.dns-status-banner strong{font-size:11px}.dns-status-banner small{color:var(--muted);margin-top:3px;font-size:9px}.dns-status-banner.offline .status-light{background:var(--red);box-shadow:0 0 0 4px #ff647c1a}.dns-stats .domain-kpi{text-align:right;text-overflow:ellipsis;white-space:nowrap;direction:ltr;max-width:260px;font-size:14px;overflow:hidden}.analytics-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr);gap:15px;margin-bottom:15px;display:grid}.analytics-card{min-width:0;padding:20px}.analytics-chart{min-height:300px}.timeline-card{grid-column:1/-1}.dns-table-card{margin-bottom:20px}.dns-table-card table{min-width:620px}.domain-cell{text-align:right;direction:ltr;font-weight:600}.share-track{background:var(--card-2);border-radius:10px;width:130px;height:7px;overflow:hidden}.share-track span{background:linear-gradient(90deg,var(--cyan),var(--violet));border-radius:10px;height:100%;display:block}@media (width<=1050px){.analytics-grid{grid-template-columns:1fr}.timeline-card{grid-column:auto}}.admin-form textarea{resize:vertical;border:1px solid var(--line);background:var(--bg);width:100%;min-height:112px;color:var(--text);font:inherit;border-radius:9px;outline:none;padding:11px}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--cyan)}.admin-form label>small{color:var(--muted);font-size:8px}.config-state{border-color:var(--line);align-items:center;gap:12px;margin-bottom:15px;padding:14px 17px;display:flex}.config-state>div{min-width:0}.config-state strong,.config-state small{display:block}.config-state strong{font-size:11px}.config-state small{color:var(--muted);text-align:right;direction:ltr;margin-top:4px;font-size:9px}.config-state.pending .status-light{background:var(--violet);box-shadow:0 0 0 4px #8b7cf61f}.config-state.failed{border-color:#ff647c59}.config-state.failed .status-light{background:var(--red);box-shadow:0 0 0 4px #ff647c1f}.cache-panel{grid-template-columns:minmax(220px,1fr) minmax(340px,1.1fr);align-items:center;gap:18px;margin-bottom:15px;padding:17px 20px;display:grid}.cache-panel>div,.cache-panel form{align-items:center;gap:12px;display:flex}.cache-panel>div>div{min-width:0}.cache-panel strong,.cache-panel small{display:block}.cache-panel small{color:var(--muted);margin-top:4px;font-size:8px}.cache-panel form input{border:1px solid var(--line);background:var(--bg);min-width:0;height:40px;color:var(--text);font:inherit;border-radius:9px;outline:none;flex:1;padding:0 11px}.cache-panel form input:focus{border-color:var(--cyan)}.cache-panel p{color:var(--green);grid-column:1/-1;margin:0;font-size:9px}.cache-panel p.error{color:var(--red)}.upstream-list{direction:ltr;flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.upstream-list code{background:var(--card-2);color:var(--cyan);border-radius:7px;padding:4px 7px;font-size:9px}.dns-value{text-align:right;text-overflow:ellipsis;white-space:nowrap;direction:ltr;max-width:300px;overflow:hidden}@media (width<=900px){.cache-panel{grid-template-columns:1fr}.cache-panel p{grid-column:auto}}@media (width<=560px){.cache-panel form{flex-direction:column;align-items:stretch}.cache-panel form input,.cache-panel form button{width:100%}}.security-apply-state{font-size:13px!important}.security-modal{z-index:80;background:#020812b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.security-dialog{width:min(480px,100%);max-height:90vh;padding:20px;overflow:auto}.security-dialog .admin-form>div{gap:14px;display:grid}.security-dialog .admin-form>div label{color:var(--muted);gap:7px;font-size:9px;display:grid}.security-dialog textarea{min-height:180px}.security-modal.hidden{display:none}.security-rule.allow{color:var(--green);background:#36d3991a}.security-rule.block{color:var(--red);background:#ff647c1a}.alerts-center{gap:12px;display:grid}.ops-alert{align-items:center;gap:13px;padding:17px 20px;display:flex}.ops-alert i{color:var(--red);font-size:24px}.ops-alert div{flex:1}.ops-alert strong,.ops-alert small{display:block}.ops-alert small{color:var(--muted);margin-top:4px}.ops-alert.ok i{color:var(--green)}.access-form{margin-bottom:15px;padding:18px}.inline-admin-form{grid-template-columns:1fr 1fr auto;align-items:end;margin:0}.inline-admin-form .form-error{grid-column:1/-1}.log-search{gap:8px;display:flex}.log-search input{border:1px solid var(--line);background:var(--card);height:40px;color:var(--text);border-radius:9px;min-width:260px;padding:0 12px}.backup-card{align-items:center;gap:18px;padding:24px;display:flex}.backup-card>div{flex:1}.backup-card h2,.backup-card p{margin:0 0 7px}.backup-card p,.backup-card small{color:var(--muted)}.about-grid{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.about-grid article{padding:24px}.about-grid small,.about-grid strong,.about-grid span,.about-grid a{display:block}.about-grid small,.about-grid span{color:var(--muted)}.about-grid strong{margin:8px 0;font-size:18px}.about-grid a{color:var(--cyan);text-align:right;direction:ltr}.nav-item[data-view=forwarders]+.nav-item[data-view=forwarders]{display:none}@media (width<=700px){.inline-admin-form{grid-template-columns:1fr}.log-search{width:100%;margin-top:12px}.log-search input{flex:1;min-width:0}.backup-card{flex-direction:column;align-items:flex-start}.about-grid{grid-template-columns:1fr}}.cache-settings-card{margin-bottom:15px;padding:20px}.cache-settings-form{grid-template-columns:repeat(3,1fr) auto auto auto;align-items:end}.cache-settings-form .check-label{align-items:center;gap:7px;height:44px;display:flex}.cache-settings-form .check-label input{width:18px;height:18px}.cache-settings-form .form-error{grid-column:1/-1}.health-detail small{direction:ltr}.protocol-pill{text-transform:uppercase;direction:ltr}@media (width<=1050px){.cache-settings-form{grid-template-columns:repeat(3,1fr)}}@media (width<=700px){.cache-settings-form{grid-template-columns:1fr}}.sessions-card{margin-top:16px}.session-agent{white-space:nowrap;text-overflow:ellipsis;direction:ltr;max-width:320px;overflow:hidden}.backup-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.backup-grid .backup-card{margin:0}.restore-card{padding:22px}.restore-card input[type=file]{border:1px dashed var(--line);background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:13px}.restore-preview{background:var(--surface);color:var(--muted);border-radius:10px;gap:6px;margin:14px 0;padding:14px;display:grid}.restore-preview strong{color:var(--text)}.restore-actions{gap:9px;display:flex}.restore-actions button{flex:1}.danger-button{background:var(--red)}@media (width<=900px){.backup-grid{grid-template-columns:1fr}}@media (width<=600px){.restore-actions{flex-direction:column}}.backup-grid{align-items:stretch}.backup-grid .backup-card,.backup-grid .restore-card{min-height:330px}.backup-grid .backup-card{flex-direction:column;align-items:stretch;gap:24px;display:flex}.backup-card-main{align-items:flex-start;gap:18px;display:flex}.backup-card-main>div{flex:1}.backup-card-main .kpi-icon{flex:0 0 50px}.backup-card #downloadBackup{justify-content:center;width:100%;min-height:48px;margin-top:auto}.restore-card{flex-direction:column;display:flex}.restore-card .card-head{border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:18px}.restore-card .card-head h2{margin:0}.restore-card input[type=file]{min-height:54px}.restore-card .restore-preview{margin:16px 0}.restore-card .restore-actions{margin-top:auto}@media (width<=700px){.backup-card-main{flex-direction:column}.backup-grid .backup-card,.backup-grid .restore-card{min-height:0}}.routing-top-grid,.dns-tool-grid{grid-template-columns:1.35fr 1fr;gap:15px;margin-bottom:15px;display:grid}.route-simulator,.routing-help,.routing-form-card,.upstream-form-card,.dns-tool-card{padding:20px}.route-simulator form{gap:9px;display:flex}.route-simulator input{border:1px solid var(--line);background:var(--surface);height:42px;color:var(--text);border-radius:9px;flex:1;padding:0 12px}.simulation-result{background:var(--surface);color:var(--muted);border-radius:10px;gap:5px;margin-top:13px;padding:14px;display:grid}.simulation-result strong{color:var(--text);font-size:17px}.routing-help{align-items:flex-start;gap:15px;display:flex}.routing-help p{color:var(--muted);margin:7px 0 0;line-height:1.9}.routing-rule-form{grid-template-columns:1.2fr 1fr 1.3fr 1.3fr .7fr auto auto;align-items:end}.routing-rule-form .form-error{grid-column:1/-1}.upstream-form-card{margin-bottom:15px}.upstream-inline-form{grid-template-columns:1.3fr 1.4fr .7fr .7fr auto;align-items:end}.upstream-inline-form .form-error{grid-column:1/-1}.upstream-member{border:1px solid var(--line);border-radius:8px;grid-template-columns:auto auto 8px 22px;align-items:center;gap:6px;padding:6px 8px;display:grid}.upstream-member small{color:var(--muted);direction:ltr}.upstream-member button{color:var(--red);cursor:pointer;background:0 0;border:0}.member-health{background:var(--muted);border-radius:50%;width:7px;height:7px}.member-health.ok{background:var(--green)}.member-health.bad{background:var(--red)}.dns-tool-card .tool-actions{gap:8px;display:flex}.dns-tool-card .tool-actions button{flex:1}@media (width<=1150px){.routing-rule-form,.upstream-inline-form{grid-template-columns:repeat(3,1fr)}}@media (width<=850px){.routing-top-grid,.dns-tool-grid{grid-template-columns:1fr}}@media (width<=650px){.routing-rule-form,.upstream-inline-form{grid-template-columns:1fr}.route-simulator form{flex-direction:column}}.block-page-grid{grid-template-columns:minmax(420px,1.05fr) minmax(360px,.95fr);gap:16px;margin-bottom:16px;display:grid}.block-page-settings-card,.block-page-preview-card{padding:24px}.block-page-intro{color:var(--muted);margin:12px 0 0;line-height:1.9}.block-page-settings-card .admin-form{grid-template-columns:1fr 1fr;align-items:start}.block-page-settings-card .admin-form>label:has(textarea),.block-page-settings-card .block-page-toggle,.block-page-settings-card .block-page-actions,.block-page-settings-card .form-error{grid-column:1/-1}.block-page-toggle{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:12px;padding:14px;grid-template-columns:none!important;display:flex!important}.block-page-toggle input{flex:none;width:19px!important;height:19px!important}.block-page-toggle b,.block-page-toggle small{display:block}.block-page-toggle small{margin-top:4px;line-height:1.7}.block-page-actions{grid-template-columns:1fr 1.3fr;gap:9px;display:grid}.block-page-limit{color:var(--muted);background:#ffbc521a;border-radius:11px;align-items:flex-start;gap:9px;margin-top:16px;padding:12px 14px;font-size:11px;line-height:1.8;display:flex}.block-page-limit i{color:var(--amber);flex:none;font-size:19px}.block-page-preview-card{text-align:center;background:radial-gradient(circle at 10% 10%,#26c6da21,transparent 35%),radial-gradient(circle at 90% 90%,#327eea1f,transparent 38%),var(--card);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.block-page-preview-card:before{content:"";background:linear-gradient(90deg,var(--cyan),#327eea);height:5px;position:absolute;inset:0 0 auto}.portal-mini-brand{align-items:center;gap:8px;margin-bottom:19px;display:flex}.portal-mini-brand span,.block-page-preview-card footer>span{background:linear-gradient(145deg,var(--cyan),#327eea);color:#fff;border-radius:10px;place-items:center;font-weight:800;display:grid}.portal-mini-brand span{width:34px;height:34px}.portal-shield{background:var(--cyan-soft);width:78px;height:78px;color:var(--cyan);border-radius:25px;place-items:center;margin-bottom:18px;font-size:39px;display:grid}.block-page-preview-card h2{max-width:480px;margin:0 0 12px;font-size:23px;line-height:1.6}.block-page-preview-card>p{max-width:500px;min-height:58px;color:var(--muted);white-space:pre-line;margin:0;line-height:2}.portal-domain{border:1px solid var(--line);background:var(--surface);text-align:right;border-radius:12px;width:100%;margin:23px 0 0;padding:13px 15px}.portal-domain small,.portal-domain strong{display:block}.portal-domain small{color:var(--muted);font-size:9px}.portal-domain strong{margin-top:5px}.block-page-preview-card footer{border-top:1px solid var(--line);width:100%;color:var(--muted);justify-content:center;align-items:center;gap:8px;margin-top:21px;padding-top:19px;display:flex}.block-page-preview-card footer>span{width:24px;height:24px;font-size:10px}.block-page-preview-card footer b{color:var(--text)}@media (width<=1050px){.block-page-grid{grid-template-columns:1fr}.block-page-preview-card{min-height:520px}}@media (width<=650px){.block-page-grid{grid-template-columns:minmax(0,1fr)}.block-page-settings-card,.block-page-preview-card{padding:18px}.block-page-settings-card .admin-form{grid-template-columns:1fr}.block-page-settings-card .admin-form>*{grid-column:1!important}.block-page-actions{grid-template-columns:1fr}.block-page-preview-card{min-height:470px}.block-page-preview-card h2{font-size:19px}}.geo-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;padding:15px 18px;display:flex}.geo-search{flex:1;align-items:center;gap:8px;max-width:440px;display:flex}.geo-search input{border:1px solid var(--line);background:var(--surface);width:100%;height:42px;color:var(--text);border-radius:10px;padding:0 12px}.registry-legend{flex-wrap:wrap;gap:6px;display:flex}.registry-legend span,.registry-chip{background:var(--surface);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:11px}.registry-legend .ripe,.geo-country.ripe .registry-chip{color:#3a86ff;background:#3a86ff1f}.registry-legend .apnic,.geo-country.apnic .registry-chip{color:#00a98f;background:#00c2a81f}.registry-legend .arin,.geo-country.arin .registry-chip{color:#845ef7;background:#845ef71f}.registry-legend .lacnic,.geo-country.lacnic .registry-chip{color:#d87b00;background:#ff9f1c24}.registry-legend .afrinic,.geo-country.afrinic .registry-chip{color:#ef476f;background:#ef476f1f}.geo-notice{color:var(--muted);background:#3a86ff0f;border:1px solid #3a86ff33;border-radius:10px;align-items:flex-start;gap:9px;margin-bottom:14px;padding:12px 16px;line-height:1.8;display:flex}.geo-country-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.geo-country{border-top:3px solid var(--line);padding:17px;position:relative;overflow:hidden}.geo-country.ripe{border-top-color:#3a86ff}.geo-country.apnic{border-top-color:#00b894}.geo-country.arin{border-top-color:#845ef7}.geo-country.lacnic{border-top-color:#ff9f1c}.geo-country.afrinic{border-top-color:#ef476f}.geo-country-head{align-items:center;gap:11px;display:flex}.country-flag{background:var(--surface);border-radius:8px;place-items:center;width:48px;height:38px;font-size:28px;display:grid;box-shadow:0 2px 8px #00000014}.geo-country-head>div{flex:1;min-width:0}.geo-country-head strong,.geo-country-head small{display:block}.geo-country-head strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.geo-country-head small{color:var(--muted);text-align:right;direction:ltr;margin-top:3px}.geo-ip-stats{grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0;display:grid}.geo-ip-stats button,.geo-ip-stats>div{background:var(--surface);color:var(--text);text-align:center;cursor:pointer;border:0;border-radius:9px;gap:3px;padding:9px 6px;display:grid}.geo-ip-stats>div{cursor:default}.geo-ip-stats i{color:var(--cyan);font-size:17px}.geo-ip-stats span{color:var(--muted);font-size:10px}.geo-ip-stats b{font-size:13px}.geo-route-control{gap:7px;display:flex}.geo-route-control select{border:1px solid var(--line);background:var(--surface);min-width:0;height:40px;color:var(--text);border-radius:9px;flex:1;padding:0 8px}.geo-route-state{background:var(--surface);min-width:72px;color:var(--muted);border-radius:8px;place-items:center;padding:0 8px;font-size:11px;display:grid}.geo-route-state.active{color:var(--green);background:#00c2a81f}.geo-empty{text-align:center;color:var(--muted);grid-column:1/-1;padding:28px}.geo-prefix-panel{margin-top:16px;padding:20px}.prefix-tabs{gap:7px;margin-bottom:12px;display:flex}.prefix-tabs button{background:var(--surface);color:var(--muted);cursor:pointer;border:0;border-radius:8px;padding:7px 14px}.prefix-tabs button.active{background:var(--cyan);color:#fff}.geo-prefix-list{direction:ltr;grid-template-columns:repeat(3,1fr);gap:7px;max-height:430px;display:grid;overflow:auto}.geo-prefix-list code{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:9px;display:flex}.geo-prefix-list code span{color:var(--cyan)}.geo-prefix-list code small{color:var(--muted);margin-left:auto}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1200px){.geo-country-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=800px){.geo-toolbar{flex-direction:column;align-items:stretch}.geo-search{max-width:none}.geo-country-grid,.geo-prefix-list{grid-template-columns:1fr}}@media (width<=500px){.geo-ip-stats{grid-template-columns:1fr 1fr}.geo-route-control{flex-direction:column}.geo-route-state{height:34px}}