:root{color-scheme:dark;--color-bg:#161826;--color-surface:#232532;--color-surface-2:#1c1e2c;--color-card-border:#3f424d;--color-divider:rgba(233,233,237,0.16);--color-text:#e9e9ed;--color-muted:#9397ab;--color-muted-2:#75798c;--color-accent:#9184d9;--color-accent-100:#e6e1ff;--color-accent-200:#cfc6ff;--color-accent-300:#b3a7f2;--color-accent-400:#a89bff;--color-accent-500:#9184d9;--color-accent-700:#6d5ce0;--color-accent-800:#3a3560;--color-accent-2-500:#6d5ce0;--color-neutral-100:#e9e9ed;--color-neutral-200:#c9cad6;--color-neutral-300:#a9abbd;--color-neutral-400:#8b8ea3;--color-neutral-600:#565a6e;--color-neutral-700:#3a3d4d;--color-neutral-800:#2b2e3c;--color-neutral-900:#1a1c28;--c-sent:#5fb0e8;--c-queued:#5fb0e8;--c-opened:#34d399;--c-clicked:#a89bff;--c-unsub:#f59e0b;--c-bounced:#f87171;--c-failed:#f87171;--c-pending:#8b8ea3;--c-suppressed:#6b7280;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--shadow-sm:0 1px 2px rgba(0,0,0,0.28),0 1px 0 rgba(255,255,255,0.02) inset;--shadow-md:0 8px 28px rgba(0,0,0,0.42);--font-body:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-heading:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--accent-grad:linear-gradient(140deg,#a89bff,#6d5ce0)}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--color-accent-300);text-decoration:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.01em;margin:0}h4{font-size:16px}h4,h6{font-weight:600}h6{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.text-muted,h6{color:var(--color-muted)}.text-muted-2{color:var(--color-muted-2)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--color-neutral-800);border-radius:8px}::-webkit-scrollbar-track{background:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--font-body);font-size:13px;font-weight:600;padding:9px 15px;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:filter .14s,background .14s,border-color .14s;white-space:nowrap;line-height:1}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent-grad);color:#fff;box-shadow:0 4px 14px rgba(120,100,230,.28)}.btn-primary:not(:disabled):hover{filter:brightness(1.07)}.btn-secondary{background:var(--color-neutral-800);color:var(--color-text);border-color:var(--color-card-border)}.btn-secondary:not(:disabled):hover{background:var(--color-neutral-700)}.btn-ghost{background:transparent;color:var(--color-muted)}.btn-ghost:not(:disabled):hover{color:var(--color-text);background:color-mix(in srgb,var(--color-text) 6%,transparent)}.btn-block,.input{width:100%}.input{font-family:var(--font-body);font-size:13.5px;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-card-border);border-radius:var(--radius-md);padding:9px 12px;outline:none;transition:border-color .14s}.input::placeholder{color:var(--color-muted-2)}.input:focus{border-color:var(--color-accent-500)}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}textarea.input{resize:vertical;line-height:1.5}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-weight:600}.hr{height:1px;background:var(--color-divider);border:0;margin:2px 0}.card{background:var(--color-surface);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tag{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;letter-spacing:.02em;text-transform:capitalize;padding:3px 9px;border-radius:20px;white-space:nowrap;line-height:1.3}.tag-outline{background:transparent;border:1px solid var(--color-card-border);color:var(--color-muted)}.tag-neutral{background:var(--color-neutral-800);color:var(--color-neutral-200)}.tag-accent{background:color-mix(in srgb,var(--color-accent) 20%,transparent);color:var(--color-accent-200)}.tag-accent-2{background:color-mix(in srgb,var(--c-opened) 18%,transparent);color:var(--c-opened)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-weight:600;background:var(--color-surface-2);position:-webkit-sticky;position:sticky;top:0;z-index:1}.table td,.table th{padding:11px 12px;border-bottom:1px solid var(--color-divider)}.table td{font-size:13px}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:color-mix(in srgb,var(--color-accent) 5%,transparent)}.seg{gap:2px;padding:3px;background:var(--color-surface-2);border:1px solid var(--color-card-border);border-radius:var(--radius-md)}.seg,.seg-opt{display:inline-flex}.seg-opt{font-size:12px;padding:5px 12px;border-radius:7px;cursor:pointer;color:var(--color-muted);-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center}.seg-opt input{display:none}.seg-opt.on{background:color-mix(in srgb,var(--color-accent) 18%,transparent);color:var(--color-accent-200)}.spin{width:16px;height:16px;border:2px solid var(--color-neutral-700);border-top-color:var(--color-accent-400);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}@keyframes barGrow{0%{width:0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.empty-state{padding:40px 24px;text-align:center;color:var(--color-muted);font-size:13px}.modal-backdrop{position:fixed;inset:0;background:rgba(8,9,16,.66);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto}:root{--shell-sidebar:236px;--shell-bottom-nav:64px;--touch-min:44px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px)}.app-shell{display:flex;height:100dvh;max-height:100dvh;overflow:hidden;background:var(--color-bg);color:var(--color-text)}.app-sidebar{display:none;flex-direction:column;width:var(--shell-sidebar);flex:none;background:linear-gradient(180deg,#191b2b,#141520);border-right:1px solid var(--color-divider);padding:16px 12px;padding-top:calc(16px + var(--safe-top));min-height:0;z-index:40}.app-sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(8,9,16,.55);z-index:45}.app-main{display:flex;flex-direction:column;flex:1 1;min-width:0;min-height:0}.app-header{display:flex;align-items:center;gap:10px;padding:10px 14px;padding-top:calc(10px + var(--safe-top));border-bottom:1px solid var(--color-divider);background:color-mix(in srgb,var(--color-bg) 82%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex:none;z-index:10}.app-header-titles{min-width:0;flex:1 1}.app-header-titles h1{font-family:var(--font-heading);font-weight:600;font-size:17px;line-height:1.15;margin:0}.app-header-titles p{margin:2px 0 0;font-size:12px;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header-command{display:none;flex:1 1;max-width:520px;position:relative}.app-header-meta{display:none;align-items:center;gap:12px;flex:none}.app-header-actions{display:flex;align-items:center;gap:8px;flex:none}.app-mobile-ask{padding:10px 14px 0}.app-content{flex:1 1;overflow-y:auto;min-height:0;padding:14px;padding-bottom:calc(14px + var(--shell-bottom-nav) + var(--safe-bottom));-webkit-overflow-scrolling:touch}.app-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);grid-gap:0;gap:0;height:calc(var(--shell-bottom-nav) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:color-mix(in srgb,var(--color-surface-2) 94%,transparent);border-top:1px solid var(--color-divider);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--shell-bottom-nav);border:0;background:transparent;color:var(--color-muted);font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.01em;cursor:pointer;position:relative;padding:6px 4px;-webkit-tap-highlight-color:transparent}.app-bottom-nav button.on{color:var(--color-accent-200)}.app-bottom-nav button .nav-badge{position:absolute;top:6px;right:calc(50% - 18px);font-size:9px;font-weight:700;min-width:16px;height:16px;padding:0 4px;border-radius:20px;background:var(--color-accent-800);color:var(--color-accent-100);display:grid;place-items:center}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--touch-min);min-height:var(--touch-min);padding:0;border:1px solid var(--color-card-border);border-radius:10px;background:var(--color-neutral-800);color:var(--color-text);cursor:pointer;flex:none}.icon-btn:hover{background:var(--color-neutral-700)}.icon-btn.ghost{border-color:transparent;background:transparent;color:var(--color-muted)}.icon-btn.primary{border:0;background:var(--accent-grad);color:#fff;box-shadow:0 4px 14px rgba(120,100,230,.28)}.desktop-only{display:none!important}.grid-kpi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.grid-stack-sm{align-items:start}.grid-stack-sm,.stack-cols-2{display:grid;grid-template-columns:1fr;grid-gap:var(--space-3);gap:var(--space-3)}.composer-grid{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0;max-height:none;overflow:visible}.composer-grid>:first-child{border-right:none;border-bottom:1px solid var(--color-divider)}.contact-table{display:none}.contact-card,.contact-cards{display:flex;flex-direction:column}.contact-card{padding:14px 16px;border-bottom:1px solid var(--color-divider);gap:6px}.contact-card:last-child{border-bottom:none}.contact-card.on{background:color-mix(in srgb,var(--color-accent) 10%,transparent)}.stat-strip{display:flex;flex-wrap:wrap;align-items:stretch;gap:1px;background:var(--color-card-border);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);overflow:hidden}.stat-seg{flex:1 1 auto;min-width:108px;padding:10px 14px;background:var(--color-surface);border:0;cursor:pointer;text-align:left;font-family:var(--font-body);color:var(--color-text);display:flex;flex-direction:column;gap:3px;transition:background .14s}.stat-seg:hover{background:var(--color-neutral-800)}.stat-seg.on{background:color-mix(in srgb,var(--color-accent) 16%,var(--color-surface))}.stat-seg-v{font-family:var(--font-heading);font-weight:600;font-size:17px;letter-spacing:-.02em;line-height:1.1}.stat-seg-l{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted)}.stat-seg.on .stat-seg-l{color:var(--color-accent-200)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;line-height:1;padding:5px 6px 5px 10px;border-radius:20px;background:color-mix(in srgb,var(--color-accent) 18%,transparent);color:var(--color-accent-100);white-space:nowrap;max-width:260px}.chip>span{overflow:hidden;text-overflow:ellipsis}.chip button{border:0;background:transparent;color:inherit;cursor:pointer;padding:0 2px;opacity:.65;font-size:13px;line-height:1;flex:none}.chip button:hover{opacity:1}.tbl-scroll{overflow:auto;max-height:min(58vh,620px)}.tbl-scroll .table th{background:var(--color-surface-2)}@media (max-width:899px){.tbl-scroll{max-height:none;overflow:visible}}.row-check{width:15px;height:15px;accent-color:var(--color-accent-500);cursor:pointer;vertical-align:middle}.table tbody tr.on td{background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.table tbody tr.clickable{cursor:pointer}.table td.cell-check,.table th.cell-check{width:34px;padding-right:0}.bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--color-divider);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface))}.bulk-bar .btn{padding:7px 11px;font-size:12px}.list-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border-radius:var(--radius-sm);background:transparent;border:0;cursor:pointer;text-align:left;font-family:var(--font-body);font-size:13px;color:var(--color-text);transition:background .14s}.list-row:hover{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.list-row.on{background:color-mix(in srgb,var(--color-accent) 20%,transparent);color:var(--color-accent-100)}.list-row-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row-n{font-size:11px;color:var(--color-muted);flex:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.list-row.on .list-row-n{color:var(--color-accent-200)}.drawer-backdrop{position:fixed;inset:0;background:rgba(8,9,16,.5);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;display:flex;justify-content:flex-end}.drawer-panel{width:min(520px,100%);height:100%;background:var(--color-surface);border-left:1px solid var(--color-card-border);box-shadow:var(--shadow-md);display:flex;flex-direction:column;animation:slideInRight .18s ease}.drawer-body{flex:1 1;overflow-y:auto;flex-direction:column;gap:var(--space-4)}.drawer-body,.drawer-head{padding:var(--space-4);display:flex}.drawer-head{border-bottom:1px solid var(--color-divider);align-items:flex-start;gap:10px}.drawer-foot{padding:12px var(--space-4) calc(12px + var(--safe-bottom));border-top:1px solid var(--color-divider);display:flex;gap:8px;flex-wrap:wrap}@keyframes slideInRight{0%{transform:translateX(16px);opacity:0}to{transform:none;opacity:1}}.kv{display:grid;grid-template-columns:104px minmax(0,1fr);grid-gap:6px 12px;gap:6px 12px;font-size:12.5px;align-items:baseline}.kv dt{color:var(--color-muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.kv dd{margin:0;word-break:break-word}.import-row{display:flex;flex-direction:column;align-items:stretch;gap:12px}.import-row .btn{width:100%}.campaigns-toolbar{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;width:100%}.campaigns-filters{display:flex;flex:1 1 auto}.campaigns-filters .seg-opt{flex:1 1;justify-content:center}.campaigns-toolbar>.btn{flex:1 1 auto}@media (min-width:640px){.grid-kpi{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.stack-cols-2{grid-template-columns:1fr 1fr}.import-row{flex-direction:row;align-items:center}.campaigns-toolbar,.import-row .btn{width:auto}.campaigns-filters,.campaigns-filters .seg-opt,.campaigns-toolbar>.btn{flex:none}}@media (min-width:900px){.app-sidebar{display:flex}.app-bottom-nav{display:none}.app-content{padding:24px}.app-header{gap:16px;padding:12px 24px}.app-header-titles h1{font-size:18px}.app-header-command{display:block;margin-left:auto}.app-header-meta{display:flex}.app-header-actions .mobile-new-label{display:inline}.mobile-only{display:none!important}.desktop-only{display:revert!important}.app-header-meta.desktop-only,.desktop-only.flex{display:flex!important}button.desktop-only.btn{display:inline-flex!important}.grid-kpi{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.grid-stack-sm{grid-template-columns:minmax(0,1fr) 280px}.composer-grid{grid-template-columns:1fr 1fr;max-height:76vh;overflow:hidden}.composer-grid>:first-child{border-bottom:none;border-right:1px solid var(--color-divider)}.contact-table{display:block}.contact-cards{display:none}}@media (max-width:899px){.app-sidebar.open{display:flex;position:fixed;inset:0 auto 0 0;width:min(300px,86vw);box-shadow:var(--shadow-md);z-index:50;animation:slideInLeft .2s ease}.app-sidebar-backdrop.open{display:block}.modal-backdrop{padding:12px 12px calc(12px + var(--safe-bottom));align-items:stretch}.modal-backdrop>.card{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 24px - var(--safe-bottom));overflow:auto;margin:auto 0}.btn{min-height:40px;padding:10px 14px}.input{font-size:16px;min-height:44px}.seg-opt{padding:8px 12px;min-height:36px;display:inline-flex;align-items:center}}@keyframes slideInLeft{0%{transform:translateX(-12px);opacity:0}to{transform:none;opacity:1}}