:root{--bg: #0a0a0c;--surface-1: #101013;--surface-2: #141417;--surface-3: #1a1a1e;--surface-4: #232327;--surface-5: #2a2a2f;--text: #f2f2f5;--text-2: #d4d4d8;--muted: #86868f;--muted-2: #62626b;--accent: #a2a4ff;--accent-strong: #8791ff;--success: #7ee5b3;--success-strong: #48d597;--pink: #f7a2c9;--pink-strong: #eb459e;--danger: #ff667f;--danger-strong: #ed4245;--warn: #f0b64a;--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .09);--hairline: rgba(255, 255, 255, .04);--scrim: rgba(0, 0, 0, .7);--ok: #4ade80;--danger-tint: rgba(255, 102, 127, .08);--success-tint: rgba(74, 222, 128, .1);--radius: 16px;--radius-sm: 10px;--radius-lg: 20px;--ease: cubic-bezier(.2, .8, .2, 1);--dur: .16s;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}button,input,select,textarea{font-family:inherit}html,body{margin:0;height:100%}html{overflow-x:hidden}body{min-height:100%;background:var(--bg);color:var(--text);font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.aurora{position:fixed;pointer-events:none;z-index:9;inset:0;width:100%;height:100%;mix-blend-mode:screen}h1,h2,h3,h4{margin:0;color:var(--text);font-weight:800;letter-spacing:-.02em}h1{font-size:28px;line-height:1.2}h2{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700}h3{font-size:17px;font-weight:700;letter-spacing:-.015em}h4{font-size:14px;font-weight:700;color:var(--text-2);letter-spacing:-.01em}.muted{color:var(--muted);font-size:13px}code{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;background:var(--surface-3);padding:1px 6px;border-radius:5px;color:var(--text-2)}.hidden{display:none!important}body.app-loading>.topbar,body.app-loading>.layout{opacity:0;pointer-events:none}.topbar,.layout{transition:opacity .28s ease-out}.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;padding:14px 24px;background:var(--bg);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:12px}.logo{display:block;width:36px;height:36px;border-radius:9px;object-fit:contain;flex:0 0 auto}.login-logo{width:44px;height:44px;border-radius:11px}.brand-title{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:600;font-size:15px;letter-spacing:-.01em;color:var(--text)}.brand-title:after{content:".exe";color:var(--muted);font-weight:500;margin-left:1px}.brand-sub{font-size:12px;color:var(--muted);margin-top:1px;font-weight:500}.topbar-actions{display:flex;align-items:center;gap:8px}@media (max-width: 620px){.topbar-actions{flex-wrap:wrap;justify-content:flex-end}}.user-chip{font-size:12.5px;color:var(--muted);white-space:nowrap;padding:6px 12px;border-radius:999px;background:var(--surface-2);font-weight:500}.user-chip strong{color:var(--text);font-weight:700;margin-right:2px}.admin-only.hidden{display:none!important}.layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;padding:20px 24px 32px;max-width:1400px;margin:0 auto;align-items:start}@media (max-width: 900px){.layout{grid-template-columns:1fr;padding:14px;gap:14px}}.sidebar{padding:20px;background:var(--surface-2);border-radius:var(--radius);position:sticky;top:76px}@media (max-width: 900px){.sidebar{position:static}}.content{padding:4px 0 24px;min-height:60vh}.section-head{margin-bottom:14px}.section-head h2{color:var(--muted)}.stack{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.btn{border:0;background:var(--surface-3);color:var(--text);padding:10px 16px;min-height:38px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;letter-spacing:-.005em;display:inline-flex;align-items:center;gap:6px;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn:hover:not(:disabled){background:var(--surface-4);transform:translateY(-1px)}.btn:active:not(:disabled){background:var(--surface-5);transform:scale(.97) translateY(0)}.btn:disabled{opacity:.6;cursor:default;animation:btnLoading 1.1s ease-in-out infinite}@keyframes btnLoading{0%,to{opacity:.6}50%{opacity:.35}}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--text);color:#0a0a0c}.btn-primary:hover:not(:disabled){background:#fff}.btn-primary:active:not(:disabled){background:#dadadd}.btn-secondary{background:var(--surface-3)}.btn-secondary:hover:not(:disabled){background:var(--surface-4)}.btn-xs{font-size:11px;padding:2px 6px;min-height:22px;line-height:1.2}.bp-cmd-box{margin-top:8px;background:var(--bg2, #1e1e2e);border:1px solid var(--border, #333);border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:6px}.btn-danger{background:transparent;color:var(--danger)}.btn-danger:hover:not(:disabled){background:#ff667f17;color:var(--danger)}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.btn-sm{padding:7px 12px;font-size:12.5px}input:not([type=checkbox]):not([type=radio]),select,textarea{padding:11px 14px;border-radius:10px;border:1px solid transparent;background:var(--surface-3);color:var(--text);font-size:13px;font-family:inherit;width:100%;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}input::placeholder,textarea::placeholder{color:var(--muted-2)}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);background:var(--surface-4);box-shadow:0 0 0 3px #a2a4ff1a}input[type=file]{padding:7px 12px;cursor:pointer;color:var(--muted);background:var(--surface-3)}input[type=file]::file-selector-button{margin-right:12px;padding:6px 12px;border:0;border-radius:8px;background:var(--surface-4);color:var(--text);font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer}input[type=file]::file-selector-button:hover{background:var(--surface-5)}input[type=checkbox],input[type=radio]{appearance:auto;width:16px;height:16px;margin:0;flex:0 0 auto;accent-color:var(--accent);cursor:pointer}.check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2);white-space:nowrap;align-self:flex-end;padding-bottom:12px}.campaign-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}@keyframes campaignIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.campaign-list li{padding:10px 12px;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--text-2);transition:background var(--dur) var(--ease),color var(--dur) var(--ease);animation:campaignIn .2s var(--ease) both}.campaign-list li:nth-child(1){animation-delay:0ms}.campaign-list li:nth-child(2){animation-delay:22ms}.campaign-list li:nth-child(3){animation-delay:40ms}.campaign-list li:nth-child(4){animation-delay:55ms}.campaign-list li:nth-child(5){animation-delay:67ms}.campaign-list li:nth-child(n+6){animation-delay:77ms}.campaign-list li:hover{background:var(--surface-3);color:var(--text)}.campaign-list li.active{background:var(--surface-4);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.campaign-list li.active .c-name{color:var(--text);font-weight:700}.campaign-list li.muted{cursor:default;padding:10px 4px;color:var(--muted);background:transparent}.campaign-list li.muted:hover{background:transparent;color:var(--muted)}.c-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{font-size:11px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--surface-3);color:var(--muted);text-transform:capitalize;white-space:nowrap}.badge.active{color:var(--success)}.badge.pending{color:var(--warn)}.badge.error{color:var(--danger)}.badge.paused,.badge.archived{color:var(--muted)}.pill{display:inline-block;font-size:11px;padding:2px 9px;border-radius:999px;color:var(--muted);background:var(--surface-3);font-weight:600}.art-ref-chip{display:inline-flex;align-items:center;font-size:10.5px;padding:1px 7px;border-radius:999px;color:var(--accent);background:var(--accent-weak, rgba(120,130,255,.1));cursor:pointer;white-space:nowrap;vertical-align:middle;margin-left:6px;border:none;font-family:inherit;transition:background .15s}.art-ref-chip:hover{background:#7882ff38}.link-count-chip{display:inline-flex;align-items:center;font-size:11px;padding:1px 8px;border-radius:999px;margin-right:6px;color:var(--muted);background:var(--surface-3);cursor:pointer;white-space:nowrap;border:none;font-family:inherit;transition:color .15s,background .15s}.link-count-chip:hover{color:var(--accent);background:var(--accent-weak, rgba(120,130,255,.1))}@keyframes row-flash{0%{background:#7882ff2e}to{background:transparent}}.row-flash{animation:row-flash 1.6s ease-out forwards}.links-filter-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-radius:7px;margin-bottom:10px;background:var(--accent-weak, rgba(120,130,255,.1));font-size:13px;color:var(--text);border:1px solid rgba(120,130,255,.18)}.links-filter-banner strong{color:var(--accent);font-weight:600}.owner-chip{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10.5px;letter-spacing:-.01em;padding:1px 7px;border-radius:999px;color:var(--accent);background:var(--accent-weak, rgba(120, 130, 255, .1));white-space:nowrap;margin-left:auto;margin-right:6px}.empty{text-align:center;padding:80px 20px;color:var(--muted)}.empty svg{color:var(--surface-4);margin-bottom:16px}.empty-title{font-size:17px;font-weight:700;color:var(--text-2);margin:0 0 4px;letter-spacing:-.015em}.empty-sub{font-size:13px;margin:0}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;gap:12px}.detail-head-main{min-width:0}.detail-head-main .muted{margin-top:6px}.detail-head-actions{display:flex;gap:8px;flex-wrap:wrap}.tabs{display:inline-flex;gap:2px;background:var(--surface-1);padding:4px;border-radius:12px;margin-bottom:24px;flex-wrap:wrap}.tab{background:transparent;border:none;color:var(--muted);padding:8px 16px;cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;border-radius:8px;display:inline-flex;align-items:center;gap:6px;transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.tab:hover{color:var(--text-2)}.tab.active{color:var(--text);background:var(--surface-3)}.tab-icon,.btn-icon,.fgroup-icon{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;pointer-events:none}.tab-icon{width:14px;height:14px}.btn-icon{width:13px;height:13px}.fgroup-icon{width:12px;height:12px}.fgroup-legend{display:flex;align-items:center;gap:6px}.field-tip{position:relative;display:inline-flex;align-items:center;cursor:default;color:var(--muted);margin-left:4px;vertical-align:middle}.field-tip svg{display:block;transition:color var(--dur) var(--ease)}.field-tip:hover svg{color:var(--accent, #a2a4ff)}.field-tip-bubble{position:absolute;bottom:calc(100% + 8px);background:var(--surface-3);color:var(--text-2);font-size:12px;font-weight:400;line-height:1.5;padding:7px 11px;border-radius:8px;border:1px solid var(--border);box-shadow:0 6px 24px #00000059;pointer-events:none;opacity:0;transition:opacity .18s var(--ease);z-index:100;max-width:240px;white-space:normal;text-align:left}.field-tip:hover .field-tip-bubble{opacity:1;pointer-events:auto}.tab-panel{opacity:1;transform:none;transition:opacity .22s var(--ease),transform .22s var(--ease)}.panel-intro{margin-bottom:20px}.panel-intro p{margin:6px 0 0;color:var(--muted);font-size:13.5px}.row-form{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px;align-items:flex-end}.field{display:flex;flex-direction:column;gap:6px;flex:1 1 170px;min-width:0}.field label{font-size:12px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:4px}.row-form .btn{flex:0 0 auto;height:42px}.upload-form{display:flex;flex-direction:column;gap:12px;margin-bottom:22px}.upload-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1.5px dashed var(--border);border-radius:var(--radius);background:var(--surface-1);padding:28px 20px;cursor:pointer;text-align:center;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.upload-drop:hover,.upload-drop.drag-over{border-color:var(--accent, #a2a4ff);background:#a2a4ff0f}.upload-input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.upload-drop svg{color:var(--muted);flex-shrink:0}.upload-drop-text{font-size:13px;color:var(--muted)}.upload-drop-text u{color:var(--text-2);text-decoration-color:var(--muted)}.upload-drop-name{font-size:12px;font-weight:600;color:var(--accent, #a2a4ff);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-drop-name:empty{display:none}.upload-meta{display:flex;gap:10px;align-items:flex-end}.table-wrap{overflow-x:auto;border-radius:var(--radius);background:var(--surface-1)}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--hairline);white-space:nowrap}th{color:var(--muted);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.08em;background:transparent}tbody tr{transition:background .12s var(--ease);animation:rowIn .18s var(--ease) both}@keyframes rowIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}tbody tr:nth-child(1){animation-delay:0ms}tbody tr:nth-child(2){animation-delay:30ms}tbody tr:nth-child(3){animation-delay:55ms}tbody tr:nth-child(4){animation-delay:75ms}tbody tr:nth-child(5){animation-delay:90ms}tbody tr:nth-child(n+6){animation-delay:.1s}tbody tr:hover{background:var(--surface-3)}tr:last-child td{border-bottom:none}td.wrap{white-space:normal;word-break:break-all;max-width:340px}td .btn{margin-right:6px}td .btn:last-child{margin-right:0}.mono{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;color:var(--text-2)}.empty-row td{text-align:center;color:var(--muted);padding:40px;font-style:normal}.warn-dot{display:inline-block;width:14px;height:14px;line-height:12px;text-align:center;color:var(--warn);background:transparent;border-radius:999px;font-size:10px;font-weight:700;cursor:help;margin-left:6px}.landing-list{display:flex;flex-direction:column;gap:10px}.landing-card{border-radius:var(--radius);padding:20px;background:var(--surface-2);transition:background var(--dur) var(--ease);animation:cardIn .22s var(--ease) both}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.landing-card:hover{background:var(--surface-3)}.landing-card h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.landing-card .lc-sub{margin-top:6px}.landing-card .lc-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center}.landing-card .lc-codes{margin-top:14px}.landing-card .lc-codes:empty{margin-top:0}.code-out{display:inline-block;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Consolas,monospace;background:var(--surface-3);padding:6px 12px;border-radius:8px;color:var(--accent);font-size:12.5px;font-weight:600;animation:popIn .18s var(--ease) both}@keyframes popIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.best-card{margin-bottom:18px}.best-card .card{border-radius:var(--radius);padding:22px 24px;background:var(--surface-2);display:flex;justify-content:space-between;align-items:center;gap:16px}.best-card .card-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.best-card .card-domain{font-size:20px;font-weight:800;margin-top:4px;color:var(--text);letter-spacing:-.02em}.best-card .card-meta{font-size:13px;color:var(--muted);margin-top:4px}.best-card .rate{font-size:36px;font-weight:800;color:var(--success);letter-spacing:-.03em;line-height:1}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%) translateY(14px);background:var(--surface-3);color:var(--text);padding:12px 18px;border-radius:999px;font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .18s ease-out,transform .18s ease-out;z-index:300;max-width:90vw;display:flex;align-items:center;gap:10px}.toast:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted);flex:0 0 auto}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.toast.ok:before{background:var(--success)}.toast.err:before{background:var(--danger)}.modal-overlay{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;z-index:100;opacity:1;transition:opacity .2s ease-out}@starting-style{.modal-overlay{opacity:0}}.modal{background:var(--surface-2);border-radius:var(--radius-lg);width:100%;max-width:780px;padding:26px;max-height:84vh;overflow-y:auto;opacity:1;transform:none;transition:opacity .26s var(--ease),transform .26s var(--ease)}@starting-style{.modal{opacity:0;transform:translateY(18px) scale(.96)}}#detail{opacity:1;transform:none;transition:opacity .28s var(--ease),transform .28s var(--ease)}@media (prefers-reduced-motion: reduce){.modal-overlay,.modal,.tab-panel,.landing-card,.code-out,tbody tr,details>:not(summary),#detail,.campaign-list li{animation:none!important;transition:none!important}.btn{transition:background var(--dur),color var(--dur);transform:none!important}}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal .row-form{margin-top:14px}.an-src-nav{display:flex;gap:0;margin-top:20px;margin-bottom:18px;border-bottom:2px solid var(--border)}.an-src-btn{padding:7px 20px;font-size:13px;font-weight:600;font-family:inherit;letter-spacing:-.01em;background:transparent;color:var(--muted);border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.an-src-btn:hover{color:var(--text)}.an-src-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.analytics-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.analytics-toolbar .field{flex:0 0 150px}.analytics-toolbar .spacer{flex:1 1 auto}.analytics-toolbar.solo{margin-bottom:14px;gap:0}.analytics-toolbar.solo .spacer{display:none}.funnel{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px}@media (max-width: 680px){.funnel{grid-template-columns:repeat(2,1fr)}}.funnel .tile{border-radius:var(--radius);padding:20px;background:var(--surface-2);transition:background var(--dur) var(--ease)}.funnel .tile:hover{background:var(--surface-3)}.funnel .tile .n{font-size:28px;font-weight:800;letter-spacing:-.03em;color:var(--text)}.funnel .tile .l{font-size:12.5px;color:var(--muted);margin-top:4px;font-weight:600}.funnel .tile.accent .n{color:var(--accent)}.funnel .tile.ok .n{color:var(--success)}.funnel .tile.bad .n{color:var(--danger)}.charts{display:flex;flex-direction:column;gap:12px;margin-top:4px}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 760px){.chart-grid{grid-template-columns:1fr}}.chart-block{border-radius:var(--radius);padding:20px;background:var(--surface-2)}.chart-block h4{margin:0 0 14px;font-size:13px;font-weight:700;color:var(--text-2)}.empty-state-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;color:var(--muted);text-align:center}.empty-state-card p{margin:0}.bars{display:flex;flex-direction:column;gap:8px}.bar-row{display:grid;grid-template-columns:60px 1fr 64px;align-items:center;gap:10px;font-size:12px}.bar-row .bar-label{color:var(--muted);text-align:right;font-weight:600}.bar-row .bar-track{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.bar-row .bar-fill{height:100%;border-radius:999px;min-width:3px;background:var(--text-2)}.bar-row .bar-val{color:var(--text-2);font-variant-numeric:tabular-nums}.bars-hours{display:grid;grid-template-columns:repeat(24,1fr);align-items:end;gap:3px;height:96px}.bars-hours .h{background:var(--text-2);border-radius:2px 2px 0 0;min-height:2px;position:relative;opacity:.75;transition:opacity var(--dur) var(--ease)}.bars-hours .h:hover{opacity:1}.bars-hours .h:after{content:attr(data-h);position:absolute;bottom:-18px;left:50%;transform:translate(-50%);font-size:9px;color:var(--muted);font-family:IBM Plex Mono,monospace}.hours-wrap{padding-bottom:20px}.manual-stats{margin-top:24px;padding-top:18px;border-top:1px solid var(--hairline)}.manual-stats summary{cursor:pointer;font-size:13px;color:var(--muted);font-weight:600}.manual-stats summary:hover{color:var(--text-2)}.manual-stats .row-form{margin-top:14px}.fgroup{border:none;min-width:0;border-radius:var(--radius);padding:16px 18px 18px;margin:14px 0 0;background:var(--surface-1)}.val-err{border-color:var(--danger)!important}.val-msg{display:block;font-size:11px;color:var(--danger);margin:3px 0 0}.builder-grants-panel{margin-top:8px}.builder-grants-panel .check{font-size:12px}#bIconPreview{display:flex;align-items:center;gap:10px;margin-top:8px}#bIconPreview.hidden{display:none!important}#bIconPreviewImg{width:32px;height:32px;object-fit:contain;border-radius:4px;background:var(--surface-3);flex-shrink:0}#bIconPreviewName{font-size:12px;color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fgroup legend{padding:0 6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.fgroup .field{flex:none}.fgroup .field.full{width:100%}.fgroup .check{padding-bottom:0;align-self:center}.fhint{display:block;font-size:12px;color:var(--muted);margin:6px 0 0}.fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 620px){.fgrid2{grid-template-columns:1fr}}.fradio{display:flex;flex-direction:column;gap:10px}.fradio label{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text-2);cursor:pointer}.fradio .fhint{display:inline;margin:0 0 0 2px}#fCountriesGroup{margin-top:12px}.modal-foot{margin-top:22px;display:flex;justify-content:flex-end}.rules-title{margin:24px 0 12px;font-size:13px;font-weight:700;color:var(--text-2)}.cf-cmd-tab{border-radius:var(--radius-sm, 4px) var(--radius-sm, 4px) 0 0;border-bottom:2px solid transparent;margin-bottom:-1px}.cf-cmd-tab-active{border-bottom-color:var(--accent);color:var(--accent)}.cf-cmd-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;cursor:pointer;padding:11px 14px;border-radius:10px;border:1px solid transparent;background:var(--surface-3);color:var(--text);font-size:13px;font-family:inherit;line-height:inherit;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.cf-cmd-btn:hover{border-color:var(--border);background:var(--surface-4)}.cf-cmd-btn .cf-cmd-placeholder{color:var(--muted-2, var(--muted));min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg)}.login-card{background:var(--surface-2);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:400px;opacity:1;transform:none;transition:opacity .26s var(--ease),transform .26s var(--ease)}@starting-style{.login-card{opacity:0;transform:translateY(18px) scale(.96)}}.login-brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:17px;color:var(--text);letter-spacing:-.015em}.login-card>.muted{margin:10px 0 22px}.login-card .stack{gap:6px;margin-bottom:0}.login-card label{font-size:12px;font-weight:600;color:var(--muted);margin-top:10px}.login-card .btn-primary{margin-top:20px;justify-content:center;height:44px;font-size:14px}#newKeyBox:empty{display:none}.keyreveal{background:var(--surface-3);border-radius:10px;padding:12px 14px;font-size:13px;color:var(--text-2);margin-bottom:14px}.keyreveal code{user-select:all;font-family:IBM Plex Mono,ui-monospace,Consolas,monospace;background:var(--surface-4);color:var(--accent);padding:2px 8px;border-radius:6px}#linkCodesPanel{margin-top:14px}.codes-box{border-radius:var(--radius);padding:18px;margin-top:10px;background:var(--surface-2)}.codes-box .copy{cursor:pointer}.codes-box .copy:hover{color:var(--accent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-4);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--surface-5);background-clip:padding-box}::selection{background:#a2a4ff4d;color:var(--text)}#genericModal{z-index:150}.micro-modal{max-width:420px;width:100%}.gm-body{padding:4px 0 8px}.gm-body .field{margin-bottom:12px}.gm-body .field:last-child{margin-bottom:0}.gm-body label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.gm-body input,.gm-body select,.gm-body textarea{width:100%}.gm-confirm-msg{font-size:14px;line-height:1.6;margin:0;color:var(--text)}.builder-modal{max-width:1060px;position:relative}.builder-modal #builderClose{position:absolute;top:14px;right:16px;width:30px;height:30px;padding:0;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1}.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;margin-top:14px;align-items:start}@media (max-width: 860px){.builder-layout{grid-template-columns:1fr}}.builder-opts{display:flex;flex-direction:column}.builder-sections{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px}.builder-opts .fgroup{margin:0;padding:14px 16px 16px;border-bottom:1px solid var(--border);background:var(--surface-1);display:flex;flex-direction:column;gap:14px}.builder-opts .fgroup:last-child{border-bottom:none}.builder-opts details.fgroup:not([open]){padding-bottom:16px}.builder-opts .fgroup legend,.builder-opts .fgroup .fgroup-legend{margin:0}.fgroup-legend{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.fgroup-sep{border-top:1px solid var(--border);padding-top:14px;margin-top:14px}.builder-foot{display:flex;align-items:center;gap:10px;padding-top:4px}details>:not(summary){opacity:1;transform:none;transform-origin:top center;transition:opacity .2s var(--ease),transform .2s var(--ease)}.builder-result{position:sticky;top:12px;border-radius:var(--radius);background:var(--surface-1);padding:16px;min-height:120px}.build-hint{padding:24px 0;text-align:center}.bconn-row{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:13px}.bconn-dot{width:8px;height:8px;border-radius:50%;background:var(--muted,#888);flex-shrink:0;transition:background .2s}.bconn-dot.ok{background:#4ade80}.bconn-dot.err{background:#f87171}.bcfg-section{margin-top:14px}.bcfg-section:first-child{margin-top:0}.bcfg-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.bcfg-row{display:flex;align-items:baseline;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--border);font-size:13px;gap:6px}.bcfg-row:last-child{border-bottom:none}.bcfg-key{color:var(--muted);white-space:nowrap;flex-shrink:0}.bcfg-val{font-weight:500;text-align:right}.bcfg-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.bcfg-tag{font-size:11px;padding:2px 8px;border-radius:4px;background:var(--surface-2)}.bcfg-tag.on{background:#a2a4ff2e;color:var(--accent,#a2a4ff)}.build-status-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px}.build-status-label{font-size:13px;font-weight:700;color:var(--text-2)}.build-status-row{margin-bottom:16px}.build-status-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font-weight:700;font-size:13px;background:var(--surface-3);color:var(--text)}.build-status-badge .bp-ico{width:16px;height:16px;display:inline-flex}.build-status-badge .bp-ico svg{width:100%;height:100%;display:block}.build-status-badge.running{color:var(--warn)}.build-status-badge.done{color:var(--success)}.build-status-badge.failed{color:var(--danger)}.build-status-badge.cancelled{color:var(--muted)}.build-progress{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:2px}.bp-step{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;font-size:13px;line-height:1.2;font-weight:600;color:var(--muted);transition:color .18s var(--ease, ease),background .18s var(--ease, ease)}.bp-step .bp-ico{width:18px;height:18px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.bp-step .bp-ico svg{width:100%;height:100%;display:block}.bp-step .bp-lbl{flex:1}.bp-step.bp-pending{color:var(--muted-2, var(--muted))}.bp-step.bp-pending .bp-ico{opacity:.5}.bp-step.bp-active{color:var(--warn);background:#f0b64a0f}.bp-step.bp-active .bp-ico{animation:bpPulse 1.6s ease-in-out infinite}@keyframes bpPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.75}}.bp-step.bp-done{color:var(--success)}.bp-step.bp-failed{color:var(--danger);background:#ff667f0f}.bp-step.bp-muted{color:var(--muted-2, var(--muted));opacity:.55}.bp-spin{transform-box:fill-box;transform-origin:center;animation:bpSpin .9s linear infinite}@keyframes bpSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.bp-spin,.bp-step.bp-active .bp-ico{animation:none}}.build-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:4px}.build-actions .bp-ico-inline{width:14px;height:14px;display:inline-flex;margin-right:2px}.build-actions .bp-ico-inline svg{width:100%;height:100%;display:block}.bp-file{flex-basis:100%;margin-top:6px;font-size:12px}#bJobActions{display:flex;flex-direction:column;gap:8px}#bJobActions .btn{justify-content:center}.fgrid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}@media (max-width: 680px){.fgrid3{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.fgrid3{grid-template-columns:1fr}}.fcheck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px 14px}.fcheck-grid .check{padding-bottom:0;white-space:normal}.fcheck-desc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px}.check-desc{align-items:flex-start;gap:8px}.check-desc input[type=checkbox]{margin-top:2px;flex-shrink:0}.check-body{display:flex;flex-direction:column;gap:2px}.check-title{font-size:13px;font-weight:500}.check-hint{font-size:11px;color:var(--muted);line-height:1.35}.fgroup-summary{cursor:pointer;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);list-style:none;user-select:none;padding-bottom:10px}.fgroup-summary::-webkit-details-marker{display:none}.fgroup-summary:before{content:"▸ ";color:var(--muted-2);font-size:10px}details[open]>.fgroup-summary:before{content:"▾ "}@keyframes pulse-ring{0%{box-shadow:0 0 #6366f18c}60%{box-shadow:0 0 0 6px #6366f100}to{box-shadow:0 0 #6366f100}}.audit-counts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.audit-counts .ac-pill{background:var(--surface-3);border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:11.5px}.audit-counts .ac-pill strong{color:var(--text);margin-left:5px}.audit-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:14px;padding:14px;background:var(--surface-2);border-radius:8px}.audit-filters .field{flex:1 1 140px;min-width:120px;display:flex;flex-direction:column;gap:4px}.audit-filters .field label{font-size:10.5px;text-transform:uppercase;color:var(--muted);letter-spacing:.03em}.audit-filters .field select,.audit-filters .field input{width:100%;padding:6px 8px;font-size:12.5px;background:var(--surface-3);border:1px solid var(--border);border-radius:5px;color:var(--text)}.audit-btns{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-end}.audit-list{max-height:60vh;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.audit-row{display:grid;grid-template-columns:14px 150px 84px 72px minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,1fr);gap:10px;align-items:center;padding:6px 12px;border-bottom:1px solid var(--border);font-size:12px}.audit-row:last-child{border-bottom:none}.audit-row:hover{background:var(--surface-2)}.audit-row .ts{font-family:IBM Plex Mono,monospace;color:var(--muted);font-size:11.5px;white-space:nowrap}.audit-row .cat{padding:2px 7px;border-radius:4px;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;text-align:center;font-weight:600}.audit-row .cat.auth{background:#3b82f626;color:#93c5fd}.audit-row .cat.security{background:#f8717126;color:#fca5a5}.audit-row .cat.admin{background:#a855f726;color:#c4b5fd}.audit-row .cat.client{background:#4ade801f;color:#86efac}.audit-row .role{padding:2px 6px;border-radius:4px;font-size:10.5px;background:var(--surface-3);border:1px solid var(--border);text-align:center;font-weight:600;color:var(--muted)}.audit-row .role.admin{color:#c4b5fd;border-color:#a855f74d}.audit-row .role.user{color:#93c5fd;border-color:#3b82f64d}.audit-row .role.viewer{color:var(--muted)}.audit-row .role.anon{color:#fbbf24;border-color:#fbbf244d}.audit-row .actor{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-row .actor .name{color:var(--text);font-weight:500}.audit-row .actor .ip{color:var(--muted);font-family:IBM Plex Mono,monospace;font-size:11px;margin-left:6px}.audit-row .action{font-family:IBM Plex Mono,monospace;color:var(--text);font-size:11.5px}.audit-row .target{color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-row .sev-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0}.audit-row .sev-dot.warn{background:#fbbf24}.audit-row .sev-dot.error{background:#f87171}.audit-row .sev-dot.info{background:#4ade80}.audit-detail{grid-column:1/-1;padding:8px 12px 4px;margin-top:6px;border-top:1px dashed var(--border);font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--muted);white-space:pre-wrap;word-break:break-all}.audit-pager{display:flex;justify-content:center;align-items:center;gap:14px;padding:10px 0 4px;font-size:11.5px}.notifs-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:0}.notifs-tab{padding:9px 14px;background:none;border:none;color:var(--muted);cursor:pointer;font-size:12.5px;font-weight:500;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.notifs-tab:hover{color:var(--text)}.notifs-tab-active{color:var(--accent);border-bottom-color:var(--accent)}.notifs-panel{max-height:70vh;overflow-y:auto}.notifs-help{background:var(--surface-2);border-radius:8px;padding:9px 14px;margin-bottom:16px;font-size:12.5px}.notifs-help summary{cursor:pointer;color:var(--accent);user-select:none;font-weight:500}.notifs-help ol{margin:10px 0 4px;padding-left:22px;line-height:1.7}.notifs-help code{background:var(--surface-3);border-radius:3px;padding:1px 5px;font-size:11.5px}.notifs-help a{color:var(--accent)}.notifs-rule-form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px;background:var(--surface-2);border-radius:8px}.notifs-rule-form .field.full{grid-column:1/-1}.notifs-rule-form label{font-size:10.5px;text-transform:uppercase;color:var(--muted);letter-spacing:.03em;margin-bottom:4px;display:block}.notifs-rule-form input,.notifs-rule-form select,.notifs-rule-form textarea{width:100%;background:var(--surface-3);border:1px solid var(--border);border-radius:5px;padding:6px 8px;font-size:12.5px;color:var(--text);box-sizing:border-box}.notifs-rule-form textarea{font-family:IBM Plex Mono,monospace;resize:vertical}.notifs-rule-form select[multiple]{min-height:82px}.notifs-rule-form .check{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;text-transform:none;letter-spacing:0;color:var(--text)}.notifs-rule-form .check input{width:auto}.notifs-rule-btns{grid-column:1/-1;display:flex;gap:8px;margin-top:4px}.notifs-chip-group{display:flex;gap:6px;flex-wrap:wrap}.notifs-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--surface-3);border:1px solid var(--border);border-radius:6px;font-size:12px;cursor:pointer;text-transform:none;letter-spacing:0;color:var(--text)}.notifs-chip input{margin:0}.notifs-log-filters{display:flex;gap:8px;margin-bottom:12px;align-items:center}.notifs-log-filters select{padding:5px 8px;background:var(--surface-3);border:1px solid var(--border);border-radius:5px;font-size:12.5px;color:var(--text)}.notifs-log-list{border:1px solid var(--border);border-radius:8px;background:var(--surface);max-height:60vh;overflow-y:auto}.notifs-log-row{display:grid;grid-template-columns:140px 110px 1fr 1fr auto;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px}.notifs-log-row:last-child{border-bottom:none}.notifs-log-row .status{padding:2px 7px;border-radius:4px;font-size:10.5px;text-transform:uppercase;font-weight:600;text-align:center}.notifs-log-row .status.sent{background:#4ade8024;color:#86efac}.notifs-log-row .status.failed,.notifs-log-row .status[class*=dropped],.notifs-log-row .status.rate_limited{background:#f8717124;color:#fca5a5}.notifs-log-row .err{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notifs-bulk-bar{display:flex;gap:6px;align-items:center;padding:8px 12px;background:var(--surface-2);border-radius:6px;flex-wrap:wrap}.notifs-preview{margin-top:8px;padding:10px 12px;background:var(--surface-2);border-radius:8px;font-size:12px;grid-column:1/-1}.notifs-preview strong{color:var(--accent)}.nr-check{cursor:pointer}th.sortable{cursor:pointer;user-select:none}th.sortable:hover{color:var(--accent)}th .sort-ind{opacity:.7;font-size:.8em}.ht{border-bottom:1px dotted var(--muted);cursor:help}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:skl 1.4s infinite;border-radius:4px;color:transparent;display:inline-block;min-width:80px;height:1em}@keyframes skl{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-cta{padding:32px 20px;text-align:center;color:var(--muted)}.empty-cta svg{width:48px;height:48px;opacity:.4;margin-bottom:14px}.empty-cta .title{color:var(--text);font-size:14px;font-weight:600;margin:0 0 6px}.empty-cta .sub{font-size:12.5px;margin:0 0 16px}.empty-cta button{margin-top:4px}.cmdp-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(4px);z-index:9998;display:flex;align-items:flex-start;justify-content:center;padding-top:90px}.cmdp{width:min(640px,92vw);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 80px #0000008c;overflow:hidden}.cmdp input{width:100%;padding:14px 18px;background:var(--surface-2);border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:15px;outline:none}.cmdp-list{max-height:400px;overflow-y:auto}.cmdp-item{padding:10px 18px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--border)}.cmdp-item:last-child{border-bottom:none}.cmdp-item.active,.cmdp-item:hover{background:var(--surface-2)}.cmdp-item .cmdp-kind{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.05em;padding:2px 6px;background:var(--surface-3);border-radius:4px}.cmdp-hint{padding:8px 18px;font-size:11px;background:var(--surface-2);border-top:1px solid var(--border)}.cf-focus-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;margin:0 0 16px;background:linear-gradient(135deg,#6366f114,#6366f108);border:1px solid rgba(99,102,241,.24);border-radius:10px;transition:border-color .2s,background .2s}.cf-focus-card--aggregate{background:var(--surface-2);border:1px dashed var(--border)}.cf-focus-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.cf-focus-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.cf-focus-badge{display:inline-flex;align-items:center;gap:6px;background:#6366f129;border:1px solid rgba(99,102,241,.42);color:var(--accent);padding:5px 10px;border-radius:6px;font-size:12.5px;font-weight:600;line-height:1}.cf-focus-badge-ico{display:inline-flex;align-items:center;color:var(--accent)}.cf-focus-badge-text{letter-spacing:.01em}.cf-focus-tech{display:inline-flex;align-items:center;background:var(--surface-3);border:1px solid var(--border);padding:3px 8px;border-radius:5px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.06em;color:var(--muted);line-height:1.4}.cf-focus-cmd{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);padding:4px 10px;border-radius:5px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-focus-time{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:5px;background:var(--surface-3);border:1px solid var(--border);font-size:11.5px;color:var(--muted);white-space:nowrap}.cf-focus-time-ico{display:inline-flex;color:var(--muted)}.cf-focus-back{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;border:1px solid var(--accent);padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;line-height:1;cursor:pointer;transition:transform .12s,background .15s,box-shadow .15s;box-shadow:0 2px #6366f159}.cf-focus-back:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f159}.cf-focus-back:active{transform:translateY(0);box-shadow:0 1px #6366f159}.cf-focus-back-ico{display:inline-flex}.cf-focus-aggregate{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12.5px;padding:2px 0}.cf-focus-aggregate-ico{display:inline-flex;color:var(--muted)}.cf-focus-aggregate-text{color:var(--text);font-weight:500}.cf-focus-aggregate-hint{font-size:11.5px;opacity:.75}@media (max-width:900px){.cf-focus-card{flex-wrap:wrap}.cf-focus-left{width:100%}.cf-focus-right{width:100%;justify-content:space-between}.cf-focus-cmd{flex:1 1 100%;order:3;margin-top:6px}}.totp-modal .totp-status{display:flex;align-items:center;gap:14px;padding:14px 16px;margin:4px 0 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.totp-modal .totp-status--loading{opacity:.7}.totp-modal .totp-status--on{background:linear-gradient(135deg,#4ade801a,#4ade8005);border-color:#4ade804d}.totp-modal .totp-status--off{background:var(--surface-2);border-color:var(--border)}.totp-status-icon{width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-3);color:var(--muted)}.totp-status--on .totp-status-icon{background:#4ade8024;color:#4ade80}.totp-status--off .totp-status-icon{color:var(--muted)}.totp-status-body{display:flex;flex-direction:column;gap:2px;min-width:0}.totp-status-title{font-size:14px;font-weight:600;color:var(--text)}.totp-status--on .totp-status-title{color:#4ade80}.totp-status-sub{font-size:12.5px;color:var(--muted)}.totp-enroll{display:flex;flex-direction:column;gap:16px}.totp-step{display:flex;gap:14px;padding:14px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.totp-step-num{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--surface-3);border:1px solid var(--border);border-radius:50%;font-weight:700;font-size:13px;color:var(--accent)}.totp-step-body{flex:1;min-width:0}.totp-step-title{font-size:13.5px;font-weight:600;color:var(--text);margin-bottom:2px}.totp-step-sub{font-size:12px;color:var(--muted);margin-bottom:12px}.totp-qr{padding:14px;margin-top:10px;background:#fff;border-radius:var(--radius-sm);overflow-wrap:anywhere;font-size:10.5px;line-height:1.5;font-family:IBM Plex Mono,ui-monospace,monospace;color:#000}.totp-secret-row{display:flex;align-items:center;gap:8px;margin-top:12px;padding:8px 10px;background:var(--surface-3);border:1px solid var(--border);border-radius:6px}.totp-secret-label{font-size:11.5px;color:var(--muted)}.totp-secret{flex:1;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;color:var(--text);background:transparent;padding:0;overflow-wrap:anywhere}.totp-secret-copy{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:var(--surface-4);border:1px solid var(--border);border-radius:5px;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s}.totp-secret-copy:hover{color:var(--accent);border-color:#a2a4ff66}.totp-confirm-form{display:flex;gap:8px;align-items:stretch;margin-top:6px}.totp-confirm-form input{flex:1;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.35em;letter-spacing:.5em;text-align:center;padding:10px 14px;background:var(--surface-3);border:1px solid var(--border);border-radius:8px;color:var(--text)}.totp-confirm-form input:focus{outline:none;border-color:var(--accent);background:var(--surface-4);box-shadow:0 0 0 3px #a2a4ff26}.totp-confirm-btn{white-space:nowrap;padding-left:18px;padding-right:18px}.totp-confirmed{display:flex;flex-direction:column;gap:14px}.totp-info-card{display:flex;gap:12px;padding:14px 16px;background:linear-gradient(135deg,#4ade801a,#4ade8005);border:1px solid rgba(74,222,128,.3);border-radius:var(--radius-sm)}.totp-info-icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#4ade8024;border-radius:50%;color:#4ade80}.totp-info-title{font-size:13.5px;font-weight:600;color:#4ade80;margin-bottom:2px}.totp-info-sub{font-size:12.5px;color:var(--muted);line-height:1.5}.totp-warn-card{display:flex;gap:10px;padding:11px 14px;background:#fbbf240f;border:1px solid rgba(251,191,36,.22);border-radius:var(--radius-sm);font-size:12px;color:var(--muted);line-height:1.5}.totp-warn-icon{flex-shrink:0;color:#fbbf24;margin-top:1px}.totp-warn-body strong{color:#fbbf24;font-weight:600}.totp-disable-btn{align-self:flex-start;background:transparent;color:#f87171;border:1px solid rgba(248,113,113,.35);padding:8px 14px;border-radius:6px;font-weight:500;font-size:12.5px;cursor:pointer;transition:background .15s,border-color .15s;display:inline-flex;align-items:center}.totp-disable-btn:hover{background:#f871711a;border-color:#f871718c}.notifs-rule-form{gap:14px!important;padding:18px!important;border:1px solid var(--border);border-radius:var(--radius-sm)!important}.notifs-rule-form label{font-size:10.5px!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--muted)!important;margin-bottom:6px!important}.notifs-rule-form input,.notifs-rule-form select,.notifs-rule-form textarea{background:var(--surface-3)!important;border:1px solid var(--border)!important;border-radius:7px!important;padding:8px 11px!important;color:var(--text)!important;transition:border-color .15s,background .15s}.notifs-rule-form input:focus,.notifs-rule-form select:focus,.notifs-rule-form textarea:focus{outline:none;border-color:var(--accent)!important;background:var(--surface-4)!important;box-shadow:0 0 0 3px #a2a4ff1f}.notifs-rule-form select[multiple]{min-height:88px!important;padding:6px!important}.notifs-rule-form textarea{font-family:IBM Plex Mono,ui-monospace,monospace!important;font-size:12px!important}.notifs-chip{padding:7px 12px!important;border-radius:7px!important;transition:border-color .15s,background .15s}.notifs-chip:hover{border-color:#a2a4ff59!important;background:var(--surface-4)!important}.notifs-chip input:checked~*,.notifs-chip:has(input:checked){border-color:var(--accent)!important;background:#a2a4ff1a!important;color:var(--accent)!important}.notifs-rule-btns{margin-top:8px!important;padding-top:14px;border-top:1px solid var(--border)}.nr-form{display:flex;flex-direction:column;gap:14px;padding:0;background:transparent;border:none}.nr-section{padding:14px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:12px}.nr-section--flat{background:transparent;border:none;padding:14px 0 0;border-top:1px solid var(--border);border-radius:0;flex-direction:row;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}.nr-section-head{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--border)}.nr-section-num{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--surface-3);border:1px solid var(--border);border-radius:50%;font-size:11px;font-weight:700;color:var(--accent)}.nr-section-title{font-size:12.5px;font-weight:600;color:var(--text);letter-spacing:.02em}.nr-section-hint{font-size:11.5px;color:var(--muted);margin-left:auto}.nr-section-hint code{background:var(--surface-3);border:1px solid var(--border);padding:1px 6px;border-radius:4px;font-size:10.5px;font-family:IBM Plex Mono,ui-monospace,monospace;color:var(--muted)}.nr-grid{display:grid;gap:12px}.nr-grid-2{grid-template-columns:repeat(2,1fr)}.nr-grid-3{grid-template-columns:repeat(3,1fr)}.nr-field{display:flex;flex-direction:column;gap:5px;min-width:0}.nr-field-span2{grid-column:span 2}.nr-field>label{font-size:10.5px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.nr-field>input,.nr-field>select,.nr-field>textarea,.nr-field input:not([type=checkbox]):not([type=radio]),.nr-field select,.nr-field textarea{width:100%;box-sizing:border-box;padding:8px 11px;background:var(--surface-3);border:1px solid var(--border);border-radius:7px;color:var(--text);font-size:12.5px;transition:border-color .15s,background .15s,box-shadow .15s}.nr-field input:not([type=checkbox]):not([type=radio]):hover:not(:focus),.nr-field select:hover:not(:focus),.nr-field textarea:hover:not(:focus){border-color:var(--border-strong)}.nr-field input:not([type=checkbox]):not([type=radio]):focus,.nr-field select:focus,.nr-field textarea:focus{outline:none;border-color:var(--accent);background:var(--surface-4);box-shadow:0 0 0 3px #a2a4ff1f}.nr-field select[multiple]{min-height:104px;padding:5px}.nr-field textarea{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px;line-height:1.5;resize:vertical}.nr-chips{display:flex;gap:8px;flex-wrap:wrap}.nr-chip{flex:1 1 auto;min-width:96px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;background:var(--surface-3);border:1px solid var(--border);border-radius:7px;font-size:12px;font-weight:500;color:var(--muted);cursor:pointer;user-select:none;transition:border-color .15s,background .15s,color .15s}.nr-chip:hover{border-color:var(--border-strong);color:var(--text)}.nr-chip input{margin:0;accent-color:var(--accent)}.nr-chip:has(input:checked){background:#a2a4ff1a;border-color:#a2a4ff6b;color:var(--accent)}.nr-flags{display:flex;gap:14px;flex-wrap:wrap}.nr-check{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;font-size:12.5px;color:var(--text);cursor:pointer;user-select:none;transition:background .15s}.nr-check:hover{background:var(--surface-3)}.nr-check input{margin:0;accent-color:var(--accent)}.nr-actions{display:flex;gap:8px;flex-wrap:wrap}.nr-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--border)}.nr-list-title{margin:0;font-size:13.5px;font-weight:600;color:var(--text)}.nr-bulk{display:flex;align-items:center;gap:6px}.nr-bulk-count{font-size:11.5px;margin-right:6px}@media (max-width:820px){.nr-grid-3{grid-template-columns:repeat(2,1fr)}.nr-field-span2{grid-column:span 2}.nr-section--flat{flex-direction:column;align-items:stretch}}@media (max-width:560px){.nr-grid-2,.nr-grid-3{grid-template-columns:1fr}.nr-field-span2{grid-column:span 1}}.burger,.mobile-drawer,.drawer-scrim{display:none}@supports (padding: env(safe-area-inset-top)){.topbar{padding-top:max(14px,env(safe-area-inset-top))}.toast{bottom:max(24px,env(safe-area-inset-bottom))}}body.modal-open,body.drawer-open{overflow:hidden;touch-action:none}html,body{max-width:100%;overflow-x:hidden}main.layout{max-width:100%;overflow-x:hidden}@media (max-width: 1023px){.layout{grid-template-columns:minmax(0,1fr);padding:14px;gap:14px;max-width:100%}.sidebar{position:static}.sidebar{padding:16px}.campaign-list{max-height:40vh;overflow-y:auto}}@media (max-width: 767px){.burger{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:40px;height:40px;padding:0;background:var(--surface-3);border:0;border-radius:10px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.burger span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform var(--dur) var(--ease),opacity var(--dur) var(--ease)}.burger[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.topbar{padding:10px 14px;gap:8px;flex-wrap:nowrap;justify-content:flex-start}.topbar .brand{flex:1 1 auto;min-width:0}.topbar .brand-text{min-width:0}.topbar .brand-title{font-size:14px}.topbar .brand-sub{display:none}.topbar .logo{width:32px;height:32px}.topbar-actions,.topbar-actions .user-chip,.topbar-actions #logoutBtn{display:none}.layout{grid-template-columns:minmax(0,1fr);padding:12px;gap:12px}.layout>*{min-width:0}.content{padding:0;min-height:auto}.sidebar{padding:12px}.sidebar[data-collapsed=true] .campaign-list,.sidebar[data-collapsed=true] #campaignForm{display:none}.sidebar .section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;cursor:pointer;user-select:none;padding:4px 0}.sidebar .section-head:after{content:"▾";color:var(--muted);font-size:12px;transition:transform var(--dur) var(--ease)}.sidebar[data-collapsed=true] .section-head:after{transform:rotate(-90deg)}.campaign-list{max-height:40vh;overflow-y:auto}.campaign-list li{padding:12px;min-height:44px}#campaignForm{margin-bottom:10px}.detail-head{flex-direction:column;align-items:stretch}.detail-head-actions{justify-content:flex-start;flex-wrap:wrap;margin-top:4px}.detail-head-main{width:100%}.detail-head-main .muted{overflow-wrap:anywhere;word-break:break-word;white-space:normal}h1{font-size:22px;overflow-wrap:anywhere}h3{font-size:15px}.empty p,.empty-title,.empty-sub,.muted{overflow-wrap:anywhere}.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;max-width:100%;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,black 0,black calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to right,black 0,black calc(100% - 24px),transparent 100%)}.tabs::-webkit-scrollbar{display:none}.tabs .tab{scroll-snap-align:start;flex:0 0 auto}.analytics-toolbar{gap:8px}.analytics-toolbar .field{flex:1 1 140px}.modal-overlay{padding:12px;padding-top:max(48px,env(safe-area-inset-top));padding-bottom:max(48px,env(safe-area-inset-bottom));align-items:center;overscroll-behavior:contain}.modal{max-width:100%;width:100%;border-radius:var(--radius-lg);max-height:calc(100dvh - 96px);height:auto;padding:16px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow-wrap:anywhere}.modal[data-full=true]{border-radius:0;max-height:100dvh;height:100dvh;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.modal-overlay[data-full=true]{padding:0;align-items:stretch}.modal-head{position:sticky;top:0;z-index:5;background:var(--surface-2);padding:10px 16px;margin:-16px -16px 12px;border-bottom:1px solid var(--hairline)}.modal[data-full=true] .modal-head{padding-top:max(10px,env(safe-area-inset-top));margin-top:calc(-1*max(16px,env(safe-area-inset-top)))}.modal-head h3{font-size:14px}.modal p,.modal span,.modal div,.modal code,.modal pre{overflow-wrap:anywhere}.modal pre{white-space:pre-wrap}.modal .row-form{display:flex;flex-wrap:wrap;gap:8px}.modal .row-form>.btn{flex:1 1 auto}.modal .check{align-self:flex-start;padding-bottom:0;flex:1 1 100%}.modal form button[type=submit],.modal form .btn-primary{flex:1 1 100%}.login-overlay{padding:20px}.login-card{max-width:100%}.toast{left:12px;right:12px;max-width:none}.btn{min-height:40px;padding:10px 16px}.btn-sm{min-height:38px;padding:8px 12px}.btn-xs{min-height:28px}button,a,.btn{-webkit-tap-highlight-color:transparent}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;padding:12px 14px}input[type=checkbox],input[type=radio]{width:20px;height:20px}.table-wrap{border-radius:12px;overflow:visible;background:transparent}table.responsive,table.responsive thead,table.responsive tbody,table.responsive tr,table.responsive td,table.responsive th{display:block;width:100%}table.responsive thead{position:absolute;left:-9999px;top:-9999px}table.responsive tr{background:var(--surface-2);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px;box-shadow:0 0 0 1px var(--hairline) inset}table.responsive tr{padding:12px 14px;margin-bottom:10px;display:block}table.responsive td{padding:2px 0;border:0;white-space:normal;display:block;overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%;font-size:13px;line-height:1.45}table.responsive td:before{content:attr(data-label);display:inline-block;min-width:56px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-right:8px;vertical-align:baseline}table.responsive td[data-label=""]:before,table.responsive td:not([data-label]):before{display:none}table.responsive td.wrap{max-width:100%}table.responsive tbody tr>td:first-child{font-size:14.5px;font-weight:700;color:var(--text);padding-bottom:4px;margin-bottom:6px;border-bottom:1px solid var(--hairline)}table.responsive tbody tr>td:first-child:before{display:none}table.responsive tr.empty-row{background:transparent;box-shadow:none;padding:20px 12px;text-align:center}table.responsive tr.empty-row>td:first-child{font-weight:500;color:var(--muted);border:0;padding:0;margin:0;font-size:13px}table.responsive td:not([data-label]){display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;padding-top:10px;margin-top:8px;border-top:1px solid var(--hairline)}table.responsive td:not([data-label]) .btn{flex:0 1 auto;min-height:32px;padding:5px 12px;font-size:12.5px}table.responsive td .pill,table.responsive td .badge{display:inline-block;vertical-align:middle;width:fit-content;max-width:100%}table.responsive td input:not([type=checkbox]):not([type=radio]),table.responsive td select,table.responsive td textarea{width:100%}table.responsive td a{overflow-wrap:anywhere}table.responsive td:has(>input[type=checkbox]:only-child){flex-direction:row;align-items:center;gap:10px;padding-bottom:6px}table.responsive td:has(>input[type=checkbox]:only-child):before{content:"Выбрать";font-size:11px;margin:0}.modal .row-form{padding-bottom:12px}.funnel{grid-template-columns:repeat(2,1fr)}.chart-grid{grid-template-columns:1fr}.audit-row{grid-template-columns:1fr;row-gap:4px;padding:10px 12px}.audit-row>*{min-width:0}.audit-detail{white-space:pre-wrap;overflow-wrap:anywhere}.notifs-log-row{grid-template-columns:1fr;row-gap:3px;padding:10px 12px}.notifs-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.notifs-tabs::-webkit-scrollbar{display:none}.notifs-tab{flex:0 0 auto}.modal select[multiple]{min-height:72px;height:72px}.cmdp-overlay{padding-top:6vh;align-items:flex-start}.cmdp{background:var(--surface-2);max-height:min(80vh,80dvh)}.row-form{gap:8px}.row-form .field{flex-basis:100%;margin:0}.row-form .field label{font-size:11px;color:var(--muted);margin-bottom:3px;text-transform:none;letter-spacing:0}.row-form input:not([type=checkbox]):not([type=radio]),.row-form select,.row-form textarea{padding:9px 12px;font-size:15px}.row-form .check{flex:1 1 100%;align-self:flex-start;padding:6px 0 0;margin:0;font-size:13px}.row-form button[type=submit],.row-form>.btn-primary{flex:1 1 100%;min-height:40px;margin-top:4px}.table-wrap:empty{display:none}.table-wrap>p.muted:only-child,.table-wrap:not(:has(table)){background:transparent;padding:16px 0;text-align:center;color:var(--muted);font-size:13px}.modal input,.modal select,.modal textarea{max-width:100%}.modal .mono,.modal code{overflow-wrap:anywhere;word-break:break-word}table.responsive td .btn{margin:0}.toast{border-radius:12px;text-align:center}}@media (max-width: 380px){.topbar{padding:8px 10px}.layout{padding:10px}h1{font-size:20px}.funnel{grid-template-columns:1fr}.campaign-list li{padding:10px}.modal{padding:12px}}kbd{display:inline-block;padding:2px 7px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11.5px;color:var(--text);background:var(--surface-3);border-radius:6px;border:1px solid var(--border-strong);box-shadow:0 1px 0 var(--border);line-height:1.2;white-space:nowrap}.kbd-table td{padding:8px 4px}.kbd-table td:first-child{white-space:nowrap;color:var(--muted);text-align:right;padding-right:14px}@keyframes sk-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.sk{display:block;background:linear-gradient(90deg,var(--surface-3) 0%,var(--surface-4) 40%,var(--surface-3) 80%);background-size:200% 100%;animation:sk-shimmer 1.4s ease-in-out infinite;border-radius:8px;color:transparent}.sk-line{height:14px;margin:8px 0;width:100%}.sk-line.w-40{width:40%}.sk-line.w-60{width:60%}.sk-line.w-80{width:80%}.sk-block{height:56px;margin:8px 0}.sk-chip{display:inline-block;height:22px;width:70px;margin:2px 4px 2px 0;border-radius:999px;vertical-align:middle}.sk-table{display:grid;gap:10px;padding:8px 0}.sk-table__row{display:grid;gap:8px;padding:12px 14px;background:var(--surface-2);border-radius:var(--radius)}.sk-table__row .sk{height:12px}.sk-table__row .sk:first-child{width:30%}.sk-table__row .sk:nth-child(2){width:80%}.sk-table__row .sk:nth-child(3){width:55%}@media (prefers-reduced-motion: reduce){.sk{animation:none}}@media (max-width: 767px){.mobile-drawer{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;width:min(320px,88vw);background:var(--surface-2);z-index:200;padding:14px;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom));box-shadow:0 0 40px #0006;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translate(-100%);transition:transform .28s var(--ease)}.mobile-drawer[data-open=true]{transform:translate(0)}.mobile-drawer[hidden]{display:flex!important;visibility:hidden}.mobile-drawer[data-open=true]{visibility:visible}.mobile-drawer__head{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border)}.mobile-drawer__nav{display:flex;flex-direction:column;gap:4px;flex:1 1 auto}.mobile-drawer__nav .btn{justify-content:flex-start;background:transparent;padding:12px 14px;border-radius:12px;font-size:14px;min-height:46px;width:100%}.mobile-drawer__nav .btn:hover{background:var(--surface-3)}.mobile-drawer__nav .btn.hidden{display:none!important}.mobile-drawer__nav .btn-icon{width:18px;height:18px}.mobile-drawer__foot{display:flex;flex-direction:column;gap:10px;padding-top:12px;margin-top:12px;border-top:1px solid var(--border)}.mobile-drawer__foot .user-chip{text-align:center}.drawer-scrim{display:block;position:fixed;inset:0;background:var(--scrim);z-index:150;opacity:0;pointer-events:none;transition:opacity .24s var(--ease)}.drawer-scrim[data-open=true]{opacity:1;pointer-events:auto}.drawer-scrim[hidden]{display:none}body.drawer-open{overflow:hidden}}@media print{.topbar,.sidebar,.mobile-drawer,.drawer-scrim,.burger,.toast,.aurora{display:none!important}.layout{display:block;padding:0}.content{padding:0;min-height:auto}}
