:root{--cream:#f2ebdd;--sand:#d9c8a4;--sand-border:#c4b08a;--sand-text:#2a2520;--sand-muted:#5c5345;--forest:#2c4a3e;--forest-dark:#1f352c;--forest-muted:#b8cfc4;--black:#0c0c0c;--black-elevated:#141414;--black-row:#101010;--black-input:#1a1a16;--bg-primary:var(--black);--bg-elevated:var(--black-elevated);--bg-input:var(--black-input);--text-primary:var(--cream);--text-muted:#9a9080;--border:#2e2e28;--accent:var(--cream);--success:var(--forest);--danger:#9e4a4a;--sidebar-bg:var(--forest);--sidebar-text:var(--cream);--sidebar-muted:var(--forest-muted);--sidebar-accent:var(--sand);--sidebar-border:var(--forest-dark)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg-primary);color:var(--text-primary);font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.5}a{color:var(--sand)}button,input,select,textarea{font:inherit}input:not([type=checkbox]),textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;padding:8px 12px;width:100%}input[type=date],select{background:var(--sand);border:1px solid var(--sand-border);color:var(--sand-text);border-radius:6px;padding:8px 12px;width:100%}.btn,button{background:var(--accent);color:var(--black);border:none;border-radius:6px;padding:8px 16px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-block}.btn.secondary,button.secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.btn-cream{background:var(--sand);border:1px solid var(--sand-border);color:var(--sand-text);font-weight:600}.btn-cream:hover,.card-sand .btn-cream,.dash-user-modal .btn-cream,.modal.card .btn-cream{background:var(--cream)}.card-sand .btn-cream:hover,.dash-user-modal .btn-cream:hover,.modal.card .btn-cream:hover{background:#fff}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;padding:16px}.card-sand,.modal.card{background:var(--sand);border:1px solid var(--sand-border);color:var(--sand-text)}.card-sand .form-row label,.card-sand .muted,.card-sand label,.modal.card .form-row label,.modal.card .muted,.modal.card label{color:var(--sand-muted)}.card-sand input:not([type=checkbox]),.card-sand select,.card-sand textarea,.dash-user-modal input:not([type=checkbox]),.dash-user-modal select,.dash-user-modal textarea,.modal.card input:not([type=checkbox]),.modal.card select,.modal.card textarea{background:var(--cream);border-color:var(--sand-border);color:var(--sand-text)}.card-sand button:not(.secondary):not(.btn-cream):not(.dash-section-toggle):not(.mode-yes):not(.mode-no):not(.tab):not(.password-toggle),.dash-user-modal button:not(.secondary):not(.btn-cream):not(.dash-section-toggle):not(.mode-yes):not(.mode-no):not(.tab):not(.password-toggle),.modal.card button:not(.secondary):not(.btn-cream):not(.dash-section-toggle):not(.mode-yes):not(.mode-no):not(.tab):not(.password-toggle){background:var(--sand-text);color:var(--cream)}.card-sand button.secondary,.dash-user-modal button.secondary,.modal.card button.secondary{background:var(--cream);color:var(--sand-text);border:1px solid var(--sand-border);font-weight:600}.card-sand button.secondary:hover,.dash-user-modal button.secondary:hover,.modal.card button.secondary:hover{background:#fff}.card-sand button.secondary.danger-text,.modal.card button.secondary.danger-text{color:var(--danger);border-color:rgba(158,74,74,.45)}.card-sand a,.modal.card a{color:var(--forest)}.ip-user-card-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.table-in-sand{color:var(--sand-text)}.table-in-sand tr,.table-in-sand tr:hover,.table-in-sand tr:hover td,.table-in-sand tr:nth-child(2n){background:transparent!important}.table-in-sand .muted{color:var(--sand-muted)}.card-sand .user-row-actions button.secondary{background:rgba(255,255,255,.45);color:var(--sand-text);border:1px solid var(--sand-border)}.card-sand .user-row-actions button.secondary.danger-text{background:rgba(255,255,255,.45);color:var(--danger);border-color:rgba(158,74,74,.45)}.user-row-actions{display:flex;flex-wrap:wrap;gap:6px;white-space:nowrap}.user-row-actions button{font-size:12px;padding:4px 10px}.nested-form{margin-top:16px;border:1px dashed var(--sand-border)}.ip-add-form{display:grid;grid-gap:0;gap:0}@media (min-width:640px){.ip-add-form{grid-template-columns:1fr 1fr;column-gap:16px}.ip-add-form button{grid-column:1/-1;justify-self:start}}.table{width:100%;border-collapse:collapse}.table-scroll{overflow-x:auto}.main:has(.log-page){overflow:hidden;display:flex;flex-direction:column;padding:12px 16px}.log-page{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:8px}.log-page .page-header{flex-shrink:0;margin-bottom:0;gap:8px}.log-page .page-header h1{font-size:1.15rem;font-weight:600}.log-page .page-header-actions{gap:8px}.log-page-meta{flex-shrink:0;margin:0!important;font-size:11px!important}.log-page .table-scroll-viewport{flex:1 1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin-top:0!important}.log-page .table-scroll-viewport thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:var(--bg-elevated);box-shadow:0 1px 0 var(--border);padding:6px 10px;font-size:12px;font-weight:600}.log-page .table td,.log-page .table th{padding:5px 10px;font-size:13px;line-height:1.35;border-bottom-color:#222}.log-page .table-wide td,.log-page .table-wide th{font-size:13px}.log-page .log-pagination-bar{flex-shrink:0;margin-top:0;padding-top:4px;flex-wrap:nowrap}.log-pagination-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.log-page-size-select{width:4.5rem!important;min-width:4.5rem!important;max-width:4.5rem!important;flex:0 0 auto!important;height:32px;padding:4px 6px!important;font-size:13px!important;box-sizing:border-box}.log-pagination-range{font-size:13px;white-space:nowrap}.log-subid-search{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;height:30px;box-sizing:border-box}.log-pagination-bar .icon-btn:disabled{opacity:.35;cursor:not-allowed}.table-scroll-viewport{overflow:auto;max-height:calc(100vh - 220px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.table-scroll-viewport thead th{position:-webkit-sticky;position:sticky;top:0;z-index:3;background:var(--bg-elevated,var(--bg-card,#1a2420));box-shadow:0 1px 0 var(--border)}.table-wide td,.table-wide th{white-space:nowrap;font-size:12px}.table-wide td.mono{max-width:140px;overflow:hidden;text-overflow:ellipsis}.table td,.table th{border-bottom:1px solid var(--border);padding:8px 12px;text-align:left}.table tr:nth-child(2n){background:var(--black-row)}.table tr:hover{background:var(--bg-input)}.table.table-in-sand{width:100%;border-collapse:collapse}.table.table-in-sand thead th{color:var(--sand-muted);font-weight:600;text-align:left;vertical-align:bottom;border-bottom:1px solid var(--sand-border);padding:8px 12px 8px 0}.table.table-in-sand tbody td{color:var(--sand-text);vertical-align:middle;border-bottom:1px solid rgba(42,37,32,.12);padding:10px 12px 10px 0}.table.table-in-sand tbody tr:last-child td{border-bottom:none}.table.table-in-sand .user-row-actions{width:1%;white-space:nowrap;text-align:right;padding-right:0;vertical-align:middle}.ip-user-card .table-scroll{overflow-x:auto;margin-top:12px}.ip-user-card .table.table-in-sand tbody tr,.ip-user-card .table.table-in-sand tbody tr:hover,.ip-user-card .table.table-in-sand tbody tr:hover td,.ip-user-card .table.table-in-sand tbody tr:nth-child(2n){background:transparent!important}.ip-user-card .table.table-in-sand td,.ip-user-card .table.table-in-sand th{color:var(--sand-text)}.ip-user-card .table.table-in-sand thead th{border-bottom-color:var(--sand-border)}.ip-user-card .table.table-in-sand tbody td{border-bottom-color:rgba(42,37,32,.12)}.ip-user-card .ip-totp-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(42,37,32,.12);font-size:13px}.ip-user-card .ip-totp-bar .ip-totp-status{margin-right:4px}.edit-current-block{margin:0 0 16px;padding:12px;background:rgba(255,255,255,.35);border-radius:6px;display:grid;grid-gap:10px;gap:10px}.edit-current-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.edit-current-label{min-width:120px;color:var(--sand-muted);font-size:13px}.edit-current-block strong.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.current-password-view{display:flex;align-items:center;gap:8px}.current-password-view .password-toggle{padding:4px 8px;font-size:12px}.edit-section-title{margin:0 0 12px;font-size:.95rem;font-weight:600;color:var(--sand-muted)}.page-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:4px}.page-header-actions{margin-left:auto}.dash-toolbar,.page-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.dash-embedded-toolbar,.dash-toolbar{justify-content:flex-end}.dash-embedded-toolbar{display:flex;margin-bottom:12px}.dash-embedded-toolbar .dash-toolbar{width:100%}.icon-btn{padding:8px 11px;font-size:17px;min-width:40px}.dash-widgets{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px}.dash-widget{border-radius:8px;padding:12px 14px;color:#fff}.dash-widget-label{font-size:11px;opacity:.92;margin-bottom:6px}.dash-widget-value{font-size:22px;font-weight:700}.dash-widget-blue{background:#3b82c4}.dash-widget-purple{background:#7c5cbf}.dash-widget-red{background:#c45c5c}.dash-widget-yellow{background:#b8923a;color:#1a1508}.dash-widget-green{background:#3d8a62}.dash-widget-teal{background:#3a8a84}.dash-widget-grey{background:#5c5345}.dash-chart-card{overflow:hidden}.dash-chart-panel{overflow:hidden}.dash-chart-empty,.dash-chart-panel{border-radius:6px;background:#12141a;border:1px solid rgba(255,255,255,.06)}.dash-chart-empty{min-height:200px;display:flex;align-items:center;justify-content:center}.dash-chart-empty p{margin:0;color:rgba(255,255,255,.45);font-size:13px}.dash-chart-svg{display:block;width:100%;height:auto;min-height:260px}.dash-chart-axis{fill:rgba(255,255,255,.45);font-size:10px}.dash-chart-axis-cost{fill:rgba(34,197,94,.75)}.dash-chart-tooltip-title{fill:rgba(255,255,255,.85);font-size:11px;font-weight:600}.dash-chart-tooltip-line{font-size:11px}.dash-chart-tooltip-clicks{fill:#60a5fa}.dash-chart-tooltip-conv{fill:#f87171}.dash-chart-legend{font-size:11px}.dash-chart-legend-clicks{fill:#60a5fa}.dash-chart-legend-conv{fill:#f87171}.dash-chart-legend-cost,.dash-chart-tooltip-cost{fill:#22c55e}.dash-group-spend-note{font-size:12px;margin-top:8px}.dash-chart-legend-muted{fill:rgba(255,255,255,.35);font-size:10px}.dash-chart-wrap{background:#12141a;border-radius:6px;padding:0;border:1px solid rgba(255,255,255,.06)}.dash-chart{width:100%;max-width:100%;height:auto}.clickable-row{cursor:pointer}.clickable-row:hover td{background:rgba(255,255,255,.06)}.dash-user-modal{max-width:min(960px,96vw);width:100%;max-height:92vh;overflow:auto}.dash-user-modals-root{position:fixed;inset:0;z-index:100;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:16px;padding:24px;overflow:auto;background:rgba(12,12,12,.72)}.dash-user-modals-root .dash-user-modal{flex:1 1 min(960px,calc(50vw - 32px));max-width:min(960px,calc(100vw - 48px));position:relative}.view-as-banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:10px 20px;background:rgba(184,146,58,.22);border-bottom:1px solid rgba(184,146,58,.35);font-size:13px}.view-as-banner button{margin-left:auto}.clickable-row.row-open td{background:rgba(255,255,255,.04)}.dash-user-modal .clickable-row:hover td{background:transparent!important}.dash-embedded .toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.card-sand .toolbar-label,.dash-user-modal .toolbar-label,.modal.card .toolbar-label{color:var(--sand-muted)}.card-sand .toolbar-label input[type=date],.card-sand .toolbar-label input[type=time],.card-sand .toolbar-label select,.dash-user-modal .toolbar-label input[type=date],.dash-user-modal .toolbar-label input[type=time],.dash-user-modal .toolbar-label select,.modal.card .toolbar-label input[type=date],.modal.card .toolbar-label input[type=time],.modal.card .toolbar-label select{background:var(--cream);border-color:var(--sand-border);color:var(--sand-text)}.edit-current-login{margin:0 0 12px;padding:10px 12px;background:rgba(255,255,255,.35);border-radius:6px;font-size:13px}.edit-current-login strong,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.mono{font-size:13px}.banner-readonly,.muted{color:var(--text-muted)}.banner-readonly{background:rgba(44,74,62,.25);border:1px solid var(--forest-dark);padding:10px 14px;border-radius:6px;margin-bottom:16px}.layout{min-height:0}.layout,.view-as-root{display:flex;height:100vh;overflow:hidden}.view-as-root{flex-direction:column}.view-as-root>.layout{flex:1 1;min-height:0;height:auto}.sidebar{width:220px;flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);padding:16px 0 20px;color:var(--sidebar-text);transition:width .2s ease;display:flex;flex-direction:column;position:relative;min-height:0}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px 12px 20px}.sidebar-toggle{flex-shrink:0;width:28px;height:28px;padding:0;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.15);color:var(--sidebar-text);font-size:14px;line-height:1;cursor:pointer}.sidebar-toggle:hover{background:rgba(0,0,0,.25);border-color:rgba(255,255,255,.2)}.sidebar-nav{flex:1 1;min-height:0;overflow-y:auto}.sidebar a{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 20px;color:var(--sidebar-muted);text-decoration:none;white-space:nowrap;overflow:hidden}.nav-icon,.sidebar-link-icon{width:18px;height:18px;flex-shrink:0}.sidebar-link-text{overflow:hidden;text-overflow:ellipsis}.sidebar-footer{flex-shrink:0;margin-top:auto}.sidebar a.active,.sidebar a:hover{color:var(--sidebar-text);background:rgba(0,0,0,.12);border-left:3px solid var(--sidebar-accent);padding-left:17px}.sidebar-group-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px 10px 20px;border:0;background:transparent;color:var(--sidebar-muted);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden}.sidebar-group-toggle.active-group,.sidebar-group-toggle:hover{color:var(--sidebar-text);background:rgba(0,0,0,.1)}.sidebar-group-chevron{margin-left:auto;font-size:11px;opacity:.8}.sidebar-group-children{padding-bottom:4px}.sidebar a.sidebar-sublink{padding-left:34px}.sidebar a.sidebar-sublink.active,.sidebar a.sidebar-sublink:hover{padding-left:31px}.sidebar-collapsed .sidebar-group-chevron,.sidebar-collapsed .sidebar-group-children{display:none}.sidebar-collapsed .sidebar-group-toggle{padding-left:16px;padding-right:16px;justify-content:center}.sidebar .sidebar-brand{color:var(--sidebar-text);font-weight:700;font-size:15px;line-height:1.2;min-width:0}.sidebar .sidebar-meta{color:var(--sidebar-muted)!important;padding:0 20px 12px;font-size:12px}.sidebar .logout-btn,.sidebar .sidebar-logout-compact{margin:16px 20px 0;background:var(--sidebar-accent);color:var(--sand-text);width:calc(100% - 40px);font-size:13px}.sidebar .logout-btn:hover,.sidebar .sidebar-logout-compact:hover{background:var(--cream);color:var(--forest)}.sidebar-collapsed{width:56px}.sidebar-collapsed .sidebar-top{flex-direction:column;padding:0 8px 12px;align-items:center}.sidebar-collapsed .sidebar-brand{font-size:12px;text-align:center}.sidebar-collapsed .sidebar-link-text{display:none}.sidebar-collapsed a{justify-content:center;padding:10px 8px;border-left:none!important;padding-left:8px!important}.sidebar-collapsed .sidebar-logout-compact{display:flex;justify-content:center;align-items:center}.sidebar-collapsed .logout-btn,.sidebar-collapsed .sidebar-logout-compact{margin:16px 8px 0;width:calc(100% - 16px);padding:8px 4px}.sidebar-collapsed .sidebar-logout-icon{display:inline}.sidebar-logout-icon{display:none}.layout-sidebar-collapsed .sidebar a.active,.layout-sidebar-collapsed .sidebar a:hover{border-left:none;background:rgba(0,0,0,.2);border-radius:6px}.main{flex:1 1;min-width:0;min-height:0;overflow-y:auto;padding:24px;background:var(--bg-primary);color:var(--text-primary)}.dash-expand-section{margin-top:28px}.dash-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.dash-section-head h2{margin:0;font-size:1.05rem}.dash-section-toggle{font-size:12px;padding:6px 12px}.dash-section-toggle:hover{background:var(--cream)}.card-sand .dash-section-toggle:hover,.dash-user-modal .dash-section-toggle:hover,.modal.card .dash-section-toggle:hover{background:#fff}.form-row{margin-bottom:14px}.form-row label{display:block;margin-bottom:6px;color:var(--text-muted)}.password-field{display:flex;gap:8px;align-items:center}.password-field input{flex:1 1}.password-toggle{flex-shrink:0;padding:8px 10px;min-width:40px}.error{color:var(--danger);margin-top:8px}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:900px){.grid-2{grid-template-columns:1fr}.layout{flex-direction:column}.sidebar{width:100%}}.toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.topup-wallets{position:relative}.topup-wallets-summary{list-style:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:13px;padding:6px 10px;border:1px solid var(--sand-border,#c9c2b4);border-radius:6px;background:var(--sand,#f3efe6);color:var(--sand-text,#2a2520)}.topup-wallets-summary::-webkit-details-marker{display:none}.topup-wallets-summary:after{content:" ▾";opacity:.6;font-size:11px}.topup-wallets[open] .topup-wallets-summary:after{content:" ▴"}.topup-wallets-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:340px;max-width:min(440px,92vw);padding:10px;border-radius:8px;border:1px solid var(--sand-border,#c9c2b4);background:#f7f3ea;color:#2a2520;box-shadow:0 8px 24px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:8px}.topup-wallet-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px;border-radius:6px;background:rgba(42,37,32,.06)}.topup-wallet-label{font-size:12px;font-weight:600;margin-bottom:4px;color:#2a2520}.topup-wallet-addr{display:block;font-size:11px;word-break:break-all;line-height:1.35;color:#1a1612;background:transparent}.topup-wallet-sheet{display:inline-block;margin-top:6px;font-size:12px;font-weight:600;color:#1a5c3a;text-decoration:underline;text-underline-offset:2px}.topup-wallet-sheet:hover{color:#0f3d26}.topup-wallets-panel .secondary{color:#2a2520;border-color:rgba(42,37,32,.25);background:#fff}.toolbar-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-muted)}.toolbar-label input[type=date],.toolbar-label select{width:auto;min-width:140px}.group-filter{align-items:flex-end}.group-filter,.group-filter-new{display:flex;flex-wrap:wrap;gap:8px}.group-filter-new{align-items:center;width:100%}.group-filter-new input{width:auto;min-width:180px}.group-checklist{display:flex;flex-direction:column;gap:8px;margin-top:8px;max-height:280px;overflow-y:auto}.group-check-item{display:flex;align-items:center;gap:8px;cursor:pointer}.group-check-item input{width:auto}.group-checklist-tree{gap:12px}.group-tree-block{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:rgba(242,235,221,.03)}.group-tree-children{display:flex;flex-direction:column;gap:6px;margin-top:8px;margin-left:20px;padding-left:10px;border-left:2px solid rgba(242,235,221,.12)}.group-check-buyer{font-size:13px}.group-mgr-create{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}.group-mgr-create input{min-width:200px;flex:1 1}.group-mgr-list{display:flex;flex-direction:column;gap:10px}.group-mgr-buyer-head,.group-mgr-leaf-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.group-mgr-toggle{text-align:left;flex:1 1;min-width:180px}.group-mgr-children{margin:8px 0 4px 12px;padding-left:10px;border-left:2px solid rgba(242,235,221,.12);display:flex;flex-direction:column;gap:8px}.group-mgr-leaf{padding:4px 0}.group-camp-list{margin:6px 0 0;padding-left:18px;list-style:disc}.group-camp-list li{margin:4px 0}.group-camp-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.icon-btn{padding:6px 10px;font-size:14px;line-height:1;margin-left:6px;min-width:36px;text-align:center}.icon-btn.btn-cream{margin-left:0}.campaign-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.campaign-header-actions{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.filter-block{border:1px solid var(--sand-border);border-radius:8px;padding:12px;margin-bottom:10px;background:rgba(255,255,255,.55)}.filter-block,.filter-block strong{color:var(--sand-text)}.filter-block .form-row label{color:var(--sand-muted)}.filter-block input:not([type=checkbox]),.filter-block textarea{background:rgba(255,255,255,.75);border:1px solid var(--sand-border);color:var(--sand-text)}.filter-block button.secondary{background:transparent;color:var(--danger);border:1px solid rgba(158,74,74,.45)}.filter-block .country-tag{background:rgba(255,255,255,.8);border-color:var(--sand-border);color:var(--sand-text)}.filter-block .country-tag button{color:var(--sand-muted)}.filter-block-head{display:flex;justify-content:space-between;align-items:center}.mode-toggle{display:flex;gap:8px}.mode-toggle button{padding:6px 14px;font-size:13px}.mode-yes{background:transparent;border:1px solid var(--forest);color:var(--forest)}.mode-yes.active{background:var(--forest);color:var(--cream)}.mode-no{background:transparent;border:1px solid var(--danger);color:var(--danger)}.mode-no.active{background:var(--danger);color:var(--cream)}.danger-text{color:var(--danger)}.dot-off,.dot-on{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.dot-on{background:var(--success)}.dot-off{background:var(--text-muted)}.modal-backdrop{position:fixed;inset:0;background:rgba(12,12,12,.72);display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{width:min(640px,100%);max-height:90vh;overflow-y:auto}.tabs{display:flex;gap:4px;margin-top:12px;border-bottom:1px solid var(--sand-border)}.tab{background:transparent;color:var(--sand-muted);border:none;border-radius:6px 6px 0 0;padding:8px 14px;font-weight:500}.tab.active{background:rgba(255,255,255,.55);color:var(--sand-text);font-weight:600}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:12px;border-top:1px solid var(--sand-border)}.country-picker{display:flex;flex-direction:column;gap:8px}.country-tags{display:flex;flex-wrap:wrap;gap:6px;min-height:28px}.country-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:6px;background:rgba(255,255,255,.45);border:1px solid var(--sand-border);font-size:12px;color:var(--sand-text)}.country-tag button{padding:0 4px;min-width:0;background:transparent;color:var(--sand-muted);font-weight:400;line-height:1}.country-input-wrap{position:relative}.country-suggest{position:absolute;z-index:20;left:0;right:0;top:100%;margin:4px 0 0;padding:0;list-style:none;background:var(--sand);border:1px solid var(--sand-border);border-radius:6px;max-height:220px;overflow-y:auto;box-shadow:0 8px 24px rgba(0,0,0,.35)}.country-suggest li button{width:100%;text-align:left;padding:8px 12px;background:transparent;color:var(--sand-text);border-radius:0;font-weight:400}.country-suggest li button:hover{background:rgba(44,74,62,.12)}.campaigns-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.campaigns-create-btn{background:var(--forest);color:var(--cream);font-weight:600;padding:8px 16px;border-radius:6px;text-decoration:none;white-space:nowrap}.campaigns-create-btn:hover{background:var(--forest-dark);color:var(--cream)}.campaigns-search input{min-width:200px}.resizable-table-wrap{overflow-x:auto}.resizable-table-wrap.bordered{border:1px solid var(--border);border-radius:8px}.campaigns-table,.resizable-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.card-sand .resizable-table,.ip-user-card .resizable-table{width:100%}.campaigns-table td,.campaigns-table th,.resizable-table td,.resizable-table th{border-right:1px solid rgba(242,235,221,.12);border-bottom:1px solid var(--border);overflow:hidden;text-overflow:ellipsis}.table.table-in-sand.resizable-table{border-collapse:collapse}.table.table-in-sand.resizable-table td,.table.table-in-sand.resizable-table th{border-right:none;border-bottom:none}.table.table-in-sand.resizable-table thead th{background:transparent;border-bottom:1px solid var(--sand-border);padding-right:14px}.table.table-in-sand.resizable-table tbody td{border-bottom:1px solid rgba(42,37,32,.12)}.table.table-in-sand.resizable-table tbody tr:last-child td{border-bottom:none}.table.table-in-sand.resizable-table .user-row-actions{width:auto;min-width:260px;max-width:none;overflow:visible;text-overflow:clip}.table.table-in-sand .col-resize{background:linear-gradient(90deg,transparent 2px,rgba(42,37,32,.22) 0,rgba(42,37,32,.22) 3px,transparent 0)}.table.table-in-sand .col-resize:active,.table.table-in-sand .col-resize:hover{background:linear-gradient(90deg,transparent 1px,rgba(42,37,32,.45) 0,rgba(42,37,32,.45) 4px,transparent 0)}.campaigns-table td:last-child,.campaigns-table th:last-child,.resizable-table td:last-child,.resizable-table th:last-child{border-right:none}.campaigns-table thead th,.resizable-table thead th{background:rgba(242,235,221,.04);border-bottom:2px solid rgba(242,235,221,.15)}.campaigns-table th,.resizable-table th{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;padding-right:14px}.campaigns-table-wrap{border:1px solid var(--border);border-radius:8px}.camp-col-sortable{cursor:pointer}.camp-col-sortable:hover{background:rgba(242,235,221,.06)}.camp-col-name{min-width:220px}.camp-name-cell{white-space:nowrap}.camp-name-cell a{font-weight:500}.camp-row-actions{display:inline-flex;align-items:center;gap:2px;margin-left:8px;vertical-align:middle}.camp-action-btn{background:transparent;border:none;color:var(--sand);padding:2px 4px;min-width:0;font-size:14px;line-height:1;cursor:pointer;border-radius:4px}.camp-action-btn:hover{background:rgba(242,235,221,.1);color:var(--cream)}.camp-status-dot{width:10px;height:10px;border-radius:50%;padding:0;min-width:0;border:none;cursor:pointer;display:block;margin:0 auto}.camp-status-dot:disabled{cursor:default}.camp-status-on{background:#3d9e5a;box-shadow:0 0 0 2px rgba(61,158,90,.25)}.camp-status-off{background:var(--danger);box-shadow:0 0 0 2px rgba(158,74,74,.25)}.camp-menu-wrap{position:relative;display:inline-block}.camp-menu{position:absolute;top:100%;right:0;z-index:30;min-width:160px;margin-top:4px;padding:4px 0;background:var(--black-elevated);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.45)}.camp-menu a,.camp-menu-btn{display:block;width:100%;padding:8px 14px;font-size:13px;color:var(--cream);text-decoration:none;background:transparent;border:none;text-align:left;cursor:pointer;font-family:inherit}.camp-menu a:hover,.camp-menu-btn:hover{background:rgba(242,235,221,.08)}.camp-menu-btn:disabled{opacity:.5;cursor:not-allowed}.col-resize{position:absolute;top:0;right:-4px;width:10px;height:100%;cursor:col-resize;z-index:3;touch-action:none;background:linear-gradient(90deg,transparent 2px,rgba(217,200,164,.35) 0,rgba(217,200,164,.35) 3px,transparent 0)}.col-resize:active,.col-resize:hover{background:linear-gradient(90deg,transparent 1px,rgba(242,235,221,.55) 0,rgba(242,235,221,.55) 4px,transparent 0)}.campaigns-summary-row td{border-top:2px solid rgba(242,235,221,.2);background:rgba(242,235,221,.04);font-size:13px}.back-nav-link{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--sand-border);border-radius:6px;background:var(--sand);color:var(--sand-text);font-size:13px;font-weight:500;text-decoration:none;line-height:1.3}.back-nav-link:hover{background:var(--cream);color:var(--sand-text);border-color:var(--cream)}.campaigns-bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid var(--sand-border);border-radius:8px;background:rgba(217,200,164,.12)}.campaigns-bulk-count{font-weight:600;margin-right:4px}.campaigns-bulk-msg{font-size:13px;margin-left:4px}.camp-col-check{text-align:center;vertical-align:middle}.camp-col-check input[type=checkbox]{width:auto;cursor:pointer}.camp-row-selected td{background:rgba(217,200,164,.08)}.flows-table .flow-detail-cell{min-width:280px;white-space:normal;vertical-align:top}.flow-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.flow-type-label,.flow-url{font-size:11px}.flow-url{margin-top:4px;word-break:break-all}.flow-filters-summary{margin-top:8px;font-size:11px;line-height:1.45}.flow-filters-label{color:var(--text-muted);margin-bottom:2px}.flow-filters-empty{font-size:11px}.flow-filter-yes{color:#6fbf8a}.flow-filter-no{color:#d48484}.flow-filter-join{color:var(--text-muted)}.campaign-settings-card{padding-top:0}.campaign-settings-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 -16px 16px;padding:0 16px 8px;border-bottom:1px solid var(--border)}.campaign-settings-tabs .tab{background:transparent;color:var(--text-muted);border:none;border-radius:6px 6px 0 0;padding:8px 12px;font-weight:500;min-width:0}.campaign-settings-tabs .tab.active{background:rgba(242,235,221,.08);color:var(--cream)}.campaign-settings-panel{min-height:200px}.params-table{font-size:12px}.params-table td.mono{word-break:break-all}.campaigns-bulk-group select{min-width:140px}.campaign-notes-modal{width:min(520px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}