@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:var(--color-text-primary);background:var(--color-background);font-synthesis:none;text-rendering:optimizelegibility;--color-background:#0d0d0d;--color-sidebar:#080808;--color-surface:#171717;--color-surface-elevated:#202020;--color-surface-hover:#292929;--color-primary:#fc0;--color-primary-hover:#e8b900;--color-primary-glow:#ffcc0012;--color-primary-active:#cca300;--color-on-primary:#080808;--color-text-primary:#f5f5f0;--color-text-secondary:#aaa79f;--color-text-muted:#817f79;--color-border:#343434;--color-border-strong:#55524d;--color-success:#36b37e;--color-success-surface:#102d22;--color-warning:#f0a326;--color-warning-surface:#352710;--color-danger:#e45c5c;--color-danger-surface:#351919;--color-info:#70a8e8;--color-info-surface:#152538;--color-overlay:#000000c7;--color-shadow:#0000008c;--focus-ring:0 0 0 3px #ffcc004d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--transition-fast:.16s ease;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-width:320px;min-height:100%}body{background:var(--color-background);min-width:320px;min-height:100vh;color:var(--color-text-primary);margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;box-shadow:var(--focus-ring)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:var(--space-2);letter-spacing:-.035em;font-size:clamp(2rem,3vw,2.5rem);line-height:1.12}h2{margin-bottom:var(--space-2);letter-spacing:-.02em;font-size:1.25rem;line-height:1.3}h3{margin-bottom:var(--space-2);font-size:1rem;line-height:1.4}p{margin-bottom:var(--space-4);color:var(--color-text-secondary);line-height:1.6}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-3);left:var(--space-3);z-index:100;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-primary);transition:transform var(--transition-fast);font-weight:800;text-decoration:none;position:fixed;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--color-primary);letter-spacing:.16em;font-size:.75rem;font-weight:800;line-height:1.4;display:inline-block}.brand{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;display:flex}.brand-compact{gap:var(--space-3);text-align:left;flex-direction:row}.brand-logo{object-fit:contain;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-primary);width:112px;height:112px;display:block}.brand-compact .brand-logo{width:64px;height:64px}.brand-copy{gap:var(--space-1);display:grid}.brand-copy span{color:var(--color-primary);letter-spacing:.14em;font-size:.625rem;font-weight:800}.brand-copy strong{color:var(--color-text-primary);font-size:1.125rem;line-height:1.2}.login{min-height:100vh;padding:var(--space-6);background:radial-gradient(circle at 50% 15%, var(--color-primary-glow), transparent 32rem), var(--color-background);place-items:center;display:grid}.login-panel{width:min(440px,100%);padding:var(--space-10);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 24px 72px var(--color-shadow)}.login-panel .brand{padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}.login-heading{margin-top:var(--space-8)}.login-heading h1{margin-top:var(--space-2);font-size:1.875rem}.login-heading p{margin-bottom:0}.login-form{gap:var(--space-5);margin-top:var(--space-6);display:grid}.login-form .ui-button{width:100%}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{height:100vh;padding:var(--space-6);border-right:1px solid var(--color-border);background:var(--color-sidebar);flex-direction:column;display:flex;position:sticky;top:0}.sidebar nav{gap:var(--space-2);margin-top:var(--space-10);display:grid}.sidebar nav a{align-items:center;gap:var(--space-3);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:color var(--transition-fast), background var(--transition-fast);font-weight:650;text-decoration:none;display:flex}.sidebar nav a svg{flex:none;width:20px;height:20px}.sidebar nav a:hover{color:var(--color-text-primary);background:var(--color-surface)}.sidebar nav a.active{color:var(--color-on-primary);background:var(--color-primary)}.account{gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-border);margin-top:auto;display:grid}.account .ui-alert{font-size:.75rem}.account-details{align-items:center;gap:var(--space-3);min-width:0;display:flex}.account-details>div{gap:2px;min-width:0;display:grid}.account-details strong,.account-details span{text-overflow:ellipsis;overflow:hidden}.account-details strong{font-size:.875rem}.account-details>div span{color:var(--color-text-secondary);font-size:.75rem}.account-avatar{border:1px solid var(--color-border-strong);background:var(--color-surface-elevated);width:40px;height:40px;color:var(--color-primary);border-radius:50%;flex:0 0 40px;place-items:center;font-weight:800;display:grid}.account>.ui-button{width:100%}.content{width:100%;max-width:1440px;padding:var(--space-12) clamp(24px, 4vw, 64px)}.content:focus{box-shadow:none;outline:none}.page-section{gap:var(--space-6);display:grid}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-6);min-height:68px;display:flex}.page-header h1{margin-top:var(--space-2)}.page-header p{margin-bottom:0}.ui-button{justify-content:center;align-items:center;gap:var(--space-2);width:fit-content;min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-md);transition:color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;font-weight:800;line-height:1.2;display:inline-flex}.ui-button svg{flex:none;width:18px;height:18px}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:active:not(:disabled){transform:translateY(0)}.ui-button:disabled{opacity:.55}.button-primary{background:var(--color-primary);color:var(--color-on-primary)}.button-primary:hover:not(:disabled){background:var(--color-primary-hover)}.button-primary:active:not(:disabled){background:var(--color-primary-active)}.button-secondary{border-color:var(--color-border);background:var(--color-surface-elevated);color:var(--color-text-primary)}.button-secondary:hover:not(:disabled),.button-ghost:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-hover)}.button-danger{border-color:var(--color-danger);color:var(--color-danger);background:0 0}.button-danger:hover:not(:disabled){background:var(--color-danger-surface);color:var(--color-text-primary)}.button-ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.button-compact{padding-inline:var(--space-4);font-size:.875rem}.button-icon{width:44px;min-width:44px;padding:0}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.field{gap:var(--space-2);min-width:0;display:grid}.field-label-row{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.field-label-row label{color:var(--color-text-primary);font-size:.875rem;font-weight:650}.field-label-row span,.field-helper{color:var(--color-text-secondary);font-size:.75rem}.field-error{color:var(--color-danger);font-size:.75rem}.field input,.field select,.field textarea{width:100%;min-height:44px;padding:10px var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);outline:none}.field textarea{resize:vertical;min-height:120px;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:var(--color-text-muted)}.field input:hover:not(:disabled),.field select:hover:not(:disabled),.field textarea:hover:not(:disabled){border-color:var(--color-text-secondary)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--color-danger)}.field input:disabled,.field select:disabled,.field textarea:disabled{opacity:.55;cursor:not-allowed}.ui-alert{align-items:flex-start;gap:var(--space-3);min-height:48px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid;line-height:1.5;display:flex}.alert-icon{flex:0 0 20px;width:20px;height:20px;margin-top:1px}.alert-icon svg{width:100%;height:100%}.alert-success{border-color:var(--color-success);background:var(--color-success-surface);color:var(--color-text-primary)}.alert-error{border-color:var(--color-danger);background:var(--color-danger-surface);color:var(--color-text-primary)}.alert-warning{border-color:var(--color-warning);background:var(--color-warning-surface);color:var(--color-text-primary)}.alert-info{border-color:var(--color-info);background:var(--color-info-surface);color:var(--color-text-primary)}.status-badge{align-items:center;gap:var(--space-2);min-height:28px;padding:var(--space-1) 10px;white-space:nowrap;border:1px solid #0000;border-radius:999px;font-size:.75rem;font-weight:800;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;width:7px;height:7px}.status-success{border-color:var(--color-success);background:var(--color-success-surface);color:var(--color-success)}.status-warning{border-color:var(--color-warning);background:var(--color-warning-surface);color:var(--color-warning)}.status-neutral{border-color:var(--color-border-strong);background:var(--color-surface-elevated);color:var(--color-text-secondary)}.status-danger{border-color:var(--color-danger);background:var(--color-danger-surface);color:var(--color-danger)}.status-info{border-color:var(--color-info);background:var(--color-info-surface);color:var(--color-info)}.empty-state,.loading-state{align-content:center;place-items:center;gap:var(--space-3);min-height:220px;padding:var(--space-10);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);text-align:center;display:grid}.empty-state-icon{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);width:48px;height:48px;color:var(--color-primary);place-items:center;display:grid}.empty-state-icon svg{width:26px;height:26px}.empty-state h2,.empty-state p{margin:0}.empty-state p{max-width:620px}.empty-state-action{margin-top:var(--space-2)}.loading-state{min-height:160px;color:var(--color-text-secondary)}.loading-full-page{background:var(--color-background);border:0;border-radius:0;min-height:100vh}.connection-count{min-height:36px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;font-size:.8125rem;display:inline-flex}.connection-form{align-items:end;gap:var(--space-5);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:minmax(220px,1.15fr) minmax(180px,1fr) minmax(210px,1fr) auto;display:grid}.connection-form-copy h2{margin-bottom:var(--space-2)}.connection-form-copy p{margin-bottom:0;font-size:.8125rem}.connections-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(360px,1fr));display:grid}.connection-card{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.connection-card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.connection-card-header h2{margin-bottom:var(--space-1)}.connection-card-header p{margin-bottom:0;font-size:.875rem}.connection-card dl{gap:var(--space-3);margin:var(--space-6) 0;grid-template-columns:1fr 1fr;display:grid}.connection-card dl div{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background)}.connection-card dt{margin-bottom:var(--space-1);color:var(--color-text-secondary);font-size:.75rem}.connection-card dd{color:var(--color-text-primary);font-variant-numeric:tabular-nums;margin:0;font-size:.8125rem}.connection-actions,.connection-secondary-actions{align-items:center;gap:var(--space-2);display:flex}.connection-actions{flex-wrap:wrap;justify-content:space-between}.connection-secondary-actions{margin-left:auto}.action-menu{position:relative}.action-menu .menu-chevron{width:14px;height:14px;margin-left:-2px}.action-menu-popover{right:0;bottom:calc(100% + var(--space-2));z-index:10;min-width:210px;padding:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-elevated);box-shadow:0 16px 40px var(--color-shadow);position:absolute}.action-menu-popover button{align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-primary);text-align:left;transition:background var(--transition-fast);background:0 0;border:0;display:flex}.action-menu-popover button:hover:not(:disabled),.action-menu-popover button:focus-visible{background:var(--color-surface-hover)}.action-menu-popover svg{width:18px;height:18px;color:var(--color-text-secondary)}.modal-backdrop{z-index:50;padding:var(--space-5);background:var(--color-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;display:grid;position:fixed;inset:0}.modal-card{width:min(520px,100%);max-height:calc(100vh - 40px);padding:var(--space-6);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:0 24px 80px var(--color-shadow);overflow:auto}.modal-wide{width:min(760px,100%)}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.modal-header h2{margin-top:var(--space-2);margin-bottom:0;font-size:1.5rem}.modal-description{margin:var(--space-4) 0 0}.modal-content{margin-top:var(--space-5)}.modal-content:empty{display:none}.modal-actions{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--color-border);display:flex}.dialog-form,.schedule-form{gap:var(--space-5);display:grid}.rate-limit-form-grid{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.rate-limit-form-grid .field:nth-child(3){grid-column:1/-1}.qr-frame{min-height:280px;padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-text-primary);color:var(--color-background);text-align:center;place-items:center;display:grid}.qr-frame .loading-state{min-height:180px;color:var(--color-background);background:0 0;border:0}.qr-frame img{width:min(280px,100%);height:auto;display:block}.qr-frame small{color:var(--color-surface-elevated);font-variant-numeric:tabular-nums}.table-scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.ui-table{border-collapse:collapse;background:var(--color-surface);width:100%}.ui-table th,.ui-table td{height:50px;padding:0 var(--space-4);border-bottom:1px solid var(--color-border)}.ui-table th{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:750}.ui-table tbody tr:last-child td{border-bottom:0}.ui-table tbody tr:hover{background:var(--color-surface-elevated)}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.campaign-name,.campaign-connection,.campaign-results{gap:2px;min-width:0;display:grid}.campaign-name{max-width:280px}.campaign-name strong,.campaign-connection strong{color:var(--color-text-primary)}.campaign-name span,.campaign-connection span,.campaign-results span,.table-muted{color:var(--color-text-secondary);font-size:.75rem}.campaign-results strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.campaign-results .campaign-results-failed{color:var(--color-danger)}.campaign-results .campaign-results-waiting{color:var(--color-warning)}.campaign-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.campaign-actions{gap:var(--space-2);white-space:nowrap;grid-template-columns:repeat(2,minmax(140px,1fr));width:288px;margin-left:auto;display:grid}.campaign-actions .ui-button{width:100%}.campaign-actions .campaign-action-wide{grid-column:1/-1}.campaign-actions>.ui-button:last-child:nth-child(odd):not(.campaign-action-wide){grid-column:2}.campaign-form{gap:var(--space-6);margin-top:var(--space-6);display:grid}.campaign-form-grid,.ai-settings{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.message-field{position:relative}.message-field textarea{padding-bottom:var(--space-8)}.field-counter{right:var(--space-3);bottom:var(--space-3);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:.75rem;position:absolute}.campaign-image-settings{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);display:grid}.campaign-image-heading h3,.campaign-image-heading p,.campaign-image-preview,.review-campaign-image{margin:0}.campaign-image-heading h3{color:var(--color-text-primary);font-size:1rem}.campaign-image-heading h3 span{color:var(--color-text-secondary);font-size:.75rem;font-weight:500}.campaign-image-heading p,.campaign-image-input small{color:var(--color-text-secondary);font-size:.8125rem;line-height:1.5}.campaign-image-heading p{margin-top:var(--space-1);max-width:70ch}.campaign-image-preview{gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:grid;overflow:hidden}.campaign-image-preview img,.review-campaign-image img{aspect-ratio:16/9;object-fit:contain;background:var(--color-surface-elevated);width:100%;height:auto;display:block}.campaign-image-preview figcaption,.review-campaign-image figcaption{justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-4) var(--space-4);display:flex}.campaign-image-preview figcaption>span,.review-campaign-image figcaption{min-width:0}.campaign-image-preview figcaption>span{gap:var(--space-1);display:grid}.campaign-image-preview figcaption strong,.review-campaign-image figcaption strong{overflow-wrap:anywhere}.campaign-image-preview figcaption small,.review-campaign-image figcaption span{color:var(--color-text-secondary);font-size:.75rem;line-height:1.5}.campaign-image-input{gap:var(--space-2);display:grid}.campaign-image-input>label{color:var(--color-text-primary);font-size:.875rem;font-weight:750}.campaign-image-input input[type=file]{width:100%;min-height:44px;padding:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.campaign-image-input input[type=file]::file-selector-button{min-height:36px;margin-right:var(--space-3);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text-primary);font:inherit;cursor:pointer;font-weight:750}.campaign-image-input input[type=file]:disabled{cursor:not-allowed;opacity:.65}.campaign-image-input input[type=file]:disabled::file-selector-button{cursor:not-allowed;opacity:.65}.campaign-image-removal{justify-items:start;gap:var(--space-3);display:grid}.ai-settings{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);align-items:start}.sequence-settings{min-width:0;padding:var(--space-4) 0 0;border:0;border-top:1px solid var(--color-border);grid-column:1/-1;margin:0}.sequence-settings legend{color:var(--color-text-primary);padding:0;font-size:.875rem;font-weight:800}.sequence-settings>p{margin:var(--space-1) 0 var(--space-4);color:var(--color-text-secondary);font-size:.8125rem;line-height:1.5}.sequence-settings-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.character-limit-settings{gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:grid}.toggle-control-compact{max-width:72ch}.character-limit-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.toggle-control{align-items:flex-start;gap:var(--space-3);cursor:pointer;min-height:44px;display:flex}.toggle-control input{opacity:0;width:1px;height:1px;position:absolute}.toggle-track{border:1px solid var(--color-border-strong);background:var(--color-surface-elevated);width:48px;height:28px;transition:background var(--transition-fast), border-color var(--transition-fast);border-radius:999px;flex:0 0 48px;align-items:center;padding:3px;display:flex}.toggle-track span{background:var(--color-text-secondary);width:20px;height:20px;transition:transform var(--transition-fast), background var(--transition-fast);border-radius:50%}.toggle-control input:checked+.toggle-track{border-color:var(--color-primary);background:var(--color-primary)}.toggle-control input:checked+.toggle-track span{background:var(--color-on-primary);transform:translate(20px)}.toggle-control input:focus-visible+.toggle-track{outline:2px solid var(--color-primary);outline-offset:3px;box-shadow:var(--focus-ring)}.toggle-control input:disabled+.toggle-track,.toggle-control input:disabled~span{opacity:.55;cursor:not-allowed}.toggle-control>span:last-child{gap:var(--space-1);display:grid}.toggle-control strong{font-size:.875rem}.toggle-control small{color:var(--color-text-secondary);line-height:1.45}.alert-copy{gap:var(--space-1);display:grid}.alert-copy a{width:fit-content;margin-top:var(--space-1);color:inherit;font-weight:800}.ui-alert strong,.ui-alert span{display:block}.error-summary:focus{outline:none}.step-indicator{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.step-indicator li{align-items:center;gap:var(--space-2);min-width:0;color:var(--color-text-muted);font-size:.8125rem;display:flex}.step-number{border:1px solid var(--color-border-strong);font-variant-numeric:tabular-nums;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.step-complete,.step-current{color:var(--color-text-primary)!important}.step-complete .step-number,.step-current .step-number{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);font-weight:800}.recipient-import-flow,.import-preview,.import-issues{gap:var(--space-5);display:grid}.recipient-import-flow{margin-top:var(--space-6)}.recipient-import-flow input[type=file]{padding:5px}.recipient-import-flow input[type=file]::file-selector-button{min-height:34px;margin-right:var(--space-3);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-elevated);color:var(--color-text-primary);cursor:pointer;font:inherit;font-size:.875rem;font-weight:750}.recipient-import-flow input[type=file]::file-selector-button:hover{background:var(--color-surface-hover)}.import-preview{padding-top:var(--space-5);border-top:1px solid var(--color-border)}.import-preview-header h3,.import-preview-header p,.import-issues h3,.import-issues p{margin:0}.import-preview-header p{color:var(--color-text-secondary);font-size:.8125rem}.import-summary{gap:var(--space-3);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.import-summary>div{gap:var(--space-1);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);display:grid}.import-summary dt{color:var(--color-text-secondary);text-transform:uppercase;font-size:.75rem;font-weight:750}.import-summary dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem;font-weight:800}.summary-valid dd{color:var(--color-success)}.summary-invalid dd{color:var(--color-danger)}.summary-duplicate dd{color:var(--color-warning)}.import-issues{gap:var(--space-3)}.import-issues .ui-table{min-width:680px}.import-issue-value{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;max-width:160px;display:inline-block}.campaign-review-flow,.review-load-error,.review-validation-summary,.message-review,.ai-personalization-panel,.test-message-panel{gap:var(--space-4);display:grid}.campaign-review-flow{margin-top:var(--space-6);gap:var(--space-5)}.review-load-error{margin-top:var(--space-6);justify-items:start}.review-validation-summary ul,.review-advisory-summary ul{margin:var(--space-2) 0 0;padding-left:var(--space-5);color:var(--color-text-secondary);line-height:1.6}.review-recovery-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.review-overview{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.review-overview>div{align-content:start;gap:var(--space-2);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);display:grid}.review-overview dt{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:750}.review-overview dd{min-width:0;color:var(--color-text-primary);overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:800}.review-overview dd>small{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:.75rem;font-weight:500;line-height:1.5;display:block}.message-review,.ai-personalization-panel,.test-message-panel{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-background)}.message-review>header{justify-content:space-between;align-items:start;gap:var(--space-4);display:flex}.message-review h3,.ai-personalization-panel h3,.ai-personalization-panel h4,.test-message-panel h3,.test-message-panel p,.ai-preview-note,.confirmation-note{margin:0}.ai-panel-header,.ai-generation-action,.ai-section-heading,.ai-sample-card>header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.ai-panel-header p,.ai-generation-action p,.ai-failures p,.ai-message-comparison p{margin:0}.ai-message-sequence{justify-items:end;gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.ai-message-sequence li{max-width:92%;padding:var(--space-3);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);background:var(--color-success-surface);color:var(--color-text-primary);overflow-wrap:anywhere;white-space:pre-wrap;border:1px solid #36b37e61;font-size:.8125rem;line-height:1.6}.ai-panel-header p,.ai-generation-action p,.ai-failures>p{max-width:68ch;color:var(--color-text-secondary);font-size:.8125rem}.ai-generation-summary{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;display:grid}.ai-generation-summary>div{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:grid}.ai-generation-summary dt,.ai-message-comparison>div>span,.ai-section-heading>span{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.6875rem;font-weight:750}.ai-generation-summary dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.125rem;font-weight:800}.ai-generation-action{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);align-items:center}.ai-generation-action>div{gap:var(--space-1);display:grid}.ai-samples,.ai-failures,.ai-failure-list,.ai-sample-card{gap:var(--space-3);display:grid}.ai-length-warning{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-warning);border-radius:var(--radius-sm);background:var(--color-warning-surface);color:var(--color-text-primary);font-size:.75rem;line-height:1.5;display:grid}.ai-length-warnings legend,.ai-length-warnings .ai-failure-item small:last-child{color:var(--color-warning)}.ai-samples,.ai-failures{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.ai-section-heading h4,.ai-failures legend{color:var(--color-text-primary);margin:0;font-size:.875rem;font-weight:800}.ai-sample-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.ai-sample-card>header>span{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:.75rem}.ai-message-comparison{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ai-message-comparison>div{align-content:start;gap:var(--space-2);min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);display:grid}.ai-message-comparison>div:last-child{background:var(--color-success-surface);border-color:#36b37e61}.ai-message-comparison p{color:var(--color-text-primary);overflow-wrap:anywhere;white-space:pre-wrap;font-size:.8125rem;line-height:1.6}.ai-failures{border-bottom:0;border-left:0;border-right:0;min-width:0;margin:0;padding-bottom:0;padding-left:0;padding-right:0}.ai-failure-list{max-height:320px;padding-right:var(--space-1);overflow-y:auto}.ai-failure-item{align-items:flex-start;gap:var(--space-3);min-height:48px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;display:flex}.ai-failure-item:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.ai-failure-item input{width:18px;height:18px;accent-color:var(--color-primary);margin:2px 0 0}.ai-failure-item>span{gap:var(--space-1);min-width:0;display:grid}.ai-failure-item small{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:.75rem;line-height:1.5}.message-review>header>span{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem}.message-preview-bubble{max-width:78%;padding:var(--space-4);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);background:var(--color-success-surface);color:var(--color-text-primary);overflow-wrap:anywhere;white-space:pre-wrap;border:1px solid #36b37e61;justify-self:end;line-height:1.6}.review-campaign-image{border:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);background:var(--color-surface);justify-self:end;width:min(78%,520px);overflow:hidden}.review-campaign-image figcaption{padding-top:var(--space-3);flex-direction:column;align-items:start}.ai-preview-note,.confirmation-note{color:var(--color-text-secondary);font-size:.8125rem;line-height:1.6}.test-message-copy p{max-width:68ch;color:var(--color-text-secondary);font-size:.875rem}.test-message-form{align-items:end;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.future-action{justify-items:center;gap:var(--space-1);display:grid}.future-action>span{color:var(--color-text-muted);font-size:.6875rem}.progress-meter{border:1px solid var(--color-border);background:var(--color-background);border-radius:999px;width:100%;height:8px;position:relative;overflow:hidden}.progress-meter>span{border-radius:inherit;background:var(--color-primary);height:100%;transition:width var(--transition-fast);display:block}.dashboard-context{align-items:center;gap:var(--space-3) var(--space-5);min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);flex-wrap:wrap;font-size:.8125rem;display:flex}.dashboard-context span{white-space:nowrap}.dashboard-context strong{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.dashboard-context time{color:var(--color-text-muted);margin-left:auto}.metric-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric-card{align-content:space-between;gap:var(--space-2);min-width:0;min-height:144px;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.metric-card>span{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:750}.metric-card strong{font-variant-numeric:tabular-nums;font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.1}.metric-card p{color:var(--color-text-muted);margin:0;font-size:.75rem;line-height:1.45}.metric-card-success{border-top-color:var(--color-success)}.metric-card-warning{border-top-color:var(--color-warning)}.metric-card-danger{border-top-color:var(--color-danger)}.rate-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.rate-card{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);display:grid}.rate-card header,.rate-card header>div,.recent-campaigns,.dashboard-campaign-name,.dashboard-connection,.dashboard-progress,.dashboard-results{display:grid}.rate-card header{gap:var(--space-2)}.rate-card header>div{align-items:baseline;gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto}.rate-card header span{color:var(--color-text-primary);font-weight:750}.rate-card header strong{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:1.5rem}.rate-card p{color:var(--color-text-muted);margin:0;font-size:.75rem}.recent-campaigns{gap:var(--space-4)}.recent-campaigns>header{justify-content:space-between;align-items:end;gap:var(--space-4);display:flex}.recent-campaigns h2{margin:var(--space-1) 0 0}.recent-campaigns>header>a{min-height:44px;color:var(--color-primary);align-items:center;font-weight:750;display:inline-flex}.recent-campaigns .ui-table{min-width:980px}.dashboard-campaign-name,.dashboard-connection,.dashboard-progress,.dashboard-results{gap:var(--space-1)}.dashboard-campaign-name{justify-items:start}.dashboard-connection span,.dashboard-progress span,.dashboard-results span{color:var(--color-text-secondary);font-size:.75rem}.dashboard-progress{gap:var(--space-2);min-width:150px}.dashboard-progress>div{justify-content:space-between;gap:var(--space-3);display:flex}.dashboard-result-failure{color:var(--color-danger)!important}.campaign-detail-metrics{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-background);display:grid}.campaign-detail-metrics>header{justify-content:space-between;align-items:end;gap:var(--space-4);display:flex}.campaign-detail-metrics h3,.campaign-detail-metrics p{margin:0}.campaign-detail-metrics>header>strong{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:1.5rem}.campaign-detail-metrics>p{color:var(--color-text-secondary);font-size:.8125rem}.campaign-status-counts{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.campaign-status-counts>div{gap:var(--space-1);min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);display:grid}.campaign-status-counts dt{color:var(--color-text-secondary);font-size:.6875rem;line-height:1.35}.campaign-status-counts dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.125rem;font-weight:800}.campaign-status-counts .count-success dd{color:var(--color-success)}.campaign-status-counts .count-warning dd{color:var(--color-warning)}.campaign-status-counts .count-danger dd{color:var(--color-danger)}@media (width<=1080px){.connection-form{grid-template-columns:1fr 1fr}.connection-form-copy{grid-column:1/-1}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-status-counts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.app-shell{grid-template-columns:1fr}.sidebar{gap:var(--space-4);width:100%;height:auto;padding:var(--space-4) var(--space-5);border-right:0;border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;display:grid;position:static}.sidebar nav{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.account{border-top:0;align-self:center;align-items:center;margin-top:0;padding-top:0;display:flex}.account-details>div,.account>.ui-button span{display:none}.account>.ui-button{width:auto}.content{padding:var(--space-8) var(--space-5)}.page-header{min-height:0}.connection-form{grid-template-columns:1fr}.connection-form-copy{grid-column:auto}.connection-form>.ui-button{width:100%}.connections-grid{grid-template-columns:minmax(0,1fr)}.connection-actions{align-items:stretch}.connection-primary-action,.connection-primary-action .ui-button{width:100%}.connection-secondary-actions{width:100%;margin-left:0}.connection-secondary-actions .action-menu{flex:1}.connection-secondary-actions .action-menu>.ui-button{width:100%}.modal-actions{display:grid}.modal-actions .ui-button{width:100%}.step-indicator{row-gap:var(--space-4);grid-template-columns:1fr 1fr}.campaign-form-grid,.ai-settings,.review-overview,.ai-message-comparison,.test-message-form,.rate-limit-form-grid{grid-template-columns:1fr}.sequence-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-generation-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.rate-grid{grid-template-columns:1fr}.dashboard-context time{width:100%;margin-left:0}.campaign-status-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.rate-limit-form-grid .field:nth-child(3){grid-column:auto}.campaign-actions{justify-content:flex-start;margin-left:0}.review-recovery-actions,.review-recovery-actions .ui-button,.future-action,.future-action .ui-button{width:100%}.message-preview-bubble{max-width:100%}.review-campaign-image{width:100%}.campaign-image-preview figcaption{flex-direction:column;align-items:stretch}.campaign-image-preview figcaption .ui-button,.campaign-image-removal .ui-button{width:100%}.ai-panel-header,.ai-generation-action{flex-direction:column;align-items:stretch}.ai-panel-header .ui-button,.ai-generation-action .ui-button{width:100%}}@media (width<=480px){.metric-grid{grid-template-columns:1fr}.recent-campaigns>header{flex-direction:column;align-items:start}.ai-generation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sequence-settings-grid,.character-limit-grid{grid-template-columns:1fr}.login{padding:var(--space-4)}.login-panel{padding:var(--space-6)}.brand-compact .brand-logo{width:52px;height:52px}.brand-compact .brand-copy span{display:none}.sidebar,.content{padding-inline:var(--space-4)}.page-header,.connection-card-header{display:grid}.connection-card dl{grid-template-columns:1fr}.connection-secondary-actions{grid-template-columns:1fr 1fr;display:grid}.connection-secondary-actions .ui-button{width:100%}.modal-backdrop{padding:var(--space-3)}.modal-card{max-height:calc(100vh - 24px);padding:var(--space-5)}.import-summary{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
