:root{color-scheme:light;font-family:Lato,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202522;background:#f4f7f3;--green-50: #eef9ef;--green-100: #dff5e1;--green-300: #9fe2a5;--green-500: #59805d;--green-700: #334d36;--ink: #202522;--muted: #69736b;--line: #dfe7df;--panel: #ffffff;--panel-soft: #f9fbf8;--danger: #b42318;--danger-soft: #fff0ed;--warning: #9a6700;--warning-soft: #fff7df;--blue: #1d4ed8;--blue-soft: #eff6ff;--shadow: 0 18px 45px rgba(33, 51, 37, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}button,input,select,textarea{font:inherit}button{border:0}button:disabled{cursor:not-allowed;opacity:.6}img{max-width:100%}table{width:100%;border-collapse:collapse}th,td{padding:14px 16px;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}td{border-top:1px solid var(--line);color:#343b35}td strong,td span{display:block}td span{margin-top:4px;color:var(--muted);font-size:13px}td small{display:inline-block;margin-top:6px;color:var(--muted);font-size:12px}tr{transition:background-color .18s ease}tbody tr{cursor:pointer}tbody tr:hover{background:var(--panel-soft)}.splash{min-height:100vh;display:grid;place-items:center;color:var(--green-700)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(115deg,#9fe2a54d,#fff3),#f5f8f3}.login-panel{width:min(100%,430px);padding:34px;background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.login-brand,.brand{display:flex;align-items:center;gap:14px}.login-brand{margin-bottom:28px}.login-brand img,.brand img{width:52px;height:52px;object-fit:contain}.login-brand span,.brand span{color:var(--muted);font-size:13px}.login-brand strong,.brand strong{display:block;color:var(--ink);font-size:20px}.login-form,.form-section{display:grid;gap:18px}label{display:grid;gap:8px;color:#303831;font-size:13px;font-weight:800}.field-help{color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}input,select,textarea{width:100%;min-height:44px;padding:11px 12px;color:var(--ink);background:#fff;border:1px solid #d7e0d7;border-radius:8px;outline:none}fieldset{margin:0;padding:0;border:0}textarea{min-height:152px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--green-500);box-shadow:0 0 0 3px #59805d24}.field-error,.notice,.upload-guidance{display:flex;align-items:center;gap:10px;min-height:42px;padding:10px 12px;border-radius:8px;font-size:14px;line-height:1.35}.field-error{color:var(--danger);background:var(--danger-soft)}.field-error.neutral{color:var(--ink);background:var(--blue-soft)}.upload-guidance{min-height:auto;margin-top:-6px;color:var(--muted);background:var(--panel-soft);border:1px solid var(--line)}.upload-guidance svg{flex:0 0 auto}.notice.error{margin-bottom:18px;color:var(--danger);background:var(--danger-soft);border:1px solid #ffd3cd}.app-shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 18px;background:#fff;border-right:1px solid var(--line)}.brand{padding:6px 6px 24px}.brand-text{min-width:0}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:34px;margin-left:auto;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer}.sidebar-toggle:hover{color:var(--green-700);background:var(--green-50)}.sidebar-collapsed .sidebar{align-items:center;padding-inline:10px}.sidebar-collapsed .brand{display:grid;justify-items:center;gap:10px;padding-inline:0}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-label{display:none}.sidebar-collapsed .sidebar-toggle{margin-left:0}.sidebar-collapsed .nav-list,.sidebar-collapsed .logout-button{width:100%}.sidebar-collapsed .nav-list button,.sidebar-collapsed .logout-button{justify-content:center;padding:0}.nav-list{display:grid;gap:6px}.nav-list button,.logout-button{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 12px;color:#3a433c;background:transparent;border-radius:8px;cursor:pointer;text-align:left}.nav-list button.active,.nav-list button:hover,.logout-button:hover{color:var(--green-700);background:var(--green-50)}.logout-button{margin-top:auto;width:100%}.content{min-width:0;padding:28px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.topbar h1{margin:0;font-size:30px;line-height:1.1}.topbar p{margin:6px 0 0;color:var(--muted)}.primary-button,.secondary-button,.danger-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:0 15px;border-radius:8px;font-weight:800;cursor:pointer;white-space:nowrap}.primary-button{color:#101410;background:var(--green-300)}.primary-button:hover{background:#8bd893}.secondary-button{color:var(--green-700);background:#fff;border:1px solid var(--line)}.secondary-button:hover{background:var(--green-50)}.danger-button{color:var(--danger);background:var(--danger-soft)}.icon-button{width:42px;padding:0;color:var(--muted);background:#fff;border:1px solid var(--line)}.icon-button:hover{color:var(--green-700);background:var(--green-50)}.full{width:100%}.split-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;align-items:start}.main-column,.wizard,.instances-page{min-width:0}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.metric{display:flex;align-items:center;gap:12px;min-width:0;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.metric svg{flex:0 0 auto;color:var(--green-500)}.metric span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.metric strong{display:block;margin-top:3px;color:var(--ink);font-size:24px;line-height:1}.metric.compact{padding:12px}.metric.compact strong{font-size:20px}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.toolbar-title{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-weight:800}.search-field{width:min(100%,390px);display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff;border:1px solid var(--line);border-radius:8px}.search-field input{min-height:40px;padding:0;border:0;box-shadow:none}.table-wrap,.details-panel,.side-section,.form-section,.review-item,.review-preview{background:var(--panel);border:1px solid var(--line);border-radius:8px}.table-wrap{overflow:auto}.empty-state{display:grid;place-items:center;gap:8px;min-height:180px;color:var(--muted);text-align:center}.empty-state.compact{min-height:120px}.details-panel{position:sticky;top:28px;max-height:calc(100vh - 56px);overflow:auto;padding:18px}.muted-panel{min-height:260px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted)}.details-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.details-head h2{margin:10px 0 0;font-size:22px;line-height:1.15;overflow-wrap:anywhere}.details-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.details-stats .metric.compact{min-height:62px;display:flex;align-items:center;gap:10px;padding:10px 12px}.details-stats .metric.compact span{font-size:11px;white-space:nowrap}.details-stats .metric.compact strong{font-size:20px}.definition-list{display:grid;gap:12px;margin:18px 0}.definition-list div{display:flex;justify-content:space-between;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--line)}.definition-list dt{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.definition-list dd{margin:0;max-width:62%;text-align:right;overflow-wrap:anywhere}.action-row,.test-send,.final-actions,.inline-fields{display:flex;gap:10px}.delay-field{display:grid;gap:12px}.delay-field legend{margin-bottom:8px;color:#303831;font-size:13px;font-weight:800}.delay-field>span{color:var(--muted);font-size:12px;font-weight:700}.time-group{display:grid;gap:8px}.time-group>strong{color:#303831;font-size:13px}.time-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.random-delay-grid{display:grid;gap:14px}.action-row,.test-send{margin-bottom:12px}.test-send input{min-width:0}.contacts-list{margin-top:18px}.contacts-list h3,.side-section h2{margin:0 0 12px;font-size:16px}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.contact-row strong,.contact-row span{display:block}.contact-row strong{overflow-wrap:anywhere}.contact-row div>span{max-width:210px;margin-top:3px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.contact-status,.status-pill,.connection{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.status-pill.draft,.status-pill.scheduled,.contact-status.pending,.contact-status.queued{color:var(--blue);background:var(--blue-soft)}.status-pill.running,.connection.open,.contact-status.sent{color:var(--green-700);background:var(--green-100)}.status-pill.paused,.contact-status.skipped{color:var(--warning);background:var(--warning-soft)}.status-pill.completed{color:#14532d;background:#dcfce7}.status-pill.failed,.contact-status.failed{color:var(--danger);background:var(--danger-soft)}.connection{margin-left:auto;color:var(--muted);background:#f0f2ef}.progress{width:100%;height:7px;overflow:hidden;background:#e8eee7;border-radius:999px}.progress.large{height:10px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--green-500),var(--green-300));border-radius:inherit}.wizard{display:grid;gap:18px}.stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;margin:0;list-style:none}.stepper li{display:flex;align-items:center;gap:9px;min-width:0;min-height:42px;padding:0 12px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:8px;font-weight:800}.stepper span{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;color:var(--muted);background:#eef2ed;border-radius:50%}.stepper li.active{color:var(--green-700);border-color:#c8dfcb;background:var(--green-50)}.stepper li.active span{color:#102013;background:var(--green-300)}.step-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:18px;align-items:start}.form-section,.side-section{padding:18px}.upload-area{min-height:168px;display:grid;place-items:center;align-content:center;gap:9px;padding:20px;color:var(--green-700);background:var(--green-50);border:1px dashed #bcd9bf;border-radius:8px;cursor:pointer;text-align:center}.upload-area.compact{min-height:126px}.upload-area span{color:var(--muted);font-weight:500}.upload-area input{display:none}.mapping-box{display:grid;gap:12px;padding:14px;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px}.mapping-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.mapping-head h2{margin:0;font-size:16px}.mapping-head span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.mapping-list{display:grid;gap:8px}.mapping-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px);gap:10px;align-items:center;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px}.mapping-row strong,.mapping-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mapping-row span{margin-top:3px;color:var(--muted);font-size:12px}.mapping-row select{min-height:38px}.mapping-status,.mapped-field{display:flex;align-items:center;gap:8px;min-height:40px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:800}.mapping-status.success{color:var(--green-700);background:var(--green-50)}.mapping-status.warning{color:var(--warning);background:var(--warning-soft)}.details-warning{margin-top:12px}.invalid-phone-box,.warning-card{color:var(--warning);background:var(--warning-soft);border:1px solid #f3df99}.invalid-phone-box{display:grid;gap:8px;padding:12px;border-radius:8px;font-size:13px}.invalid-phone-box ul,.warning-card ul{display:grid;gap:5px;margin:0;padding-left:18px}.mapped-field{justify-content:space-between;background:var(--green-50);border:1px solid #c8dfcb}.mapped-field span{color:var(--muted);font-size:12px;text-transform:uppercase}.mapped-field strong{overflow-wrap:anywhere}.mini-table{overflow:auto;border:1px solid var(--line);border-radius:8px}.mini-table th,.mini-table td{max-width:160px;padding:10px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.type-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.type-card{min-height:76px;display:grid;place-items:center;gap:8px;padding:10px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-weight:800}.type-card.active{color:var(--green-700);background:var(--green-50);border-color:#bcd9bf}.chip-list{display:flex;flex-wrap:wrap;gap:8px}.chip-list button{min-height:34px;padding:0 10px;color:var(--green-700);background:var(--green-50);border-radius:999px;cursor:pointer;font-weight:800}.inline-fields>label{flex:1}.toggle-row{display:flex;grid-template-columns:none;align-items:center;gap:10px;min-height:38px}.toggle-row input{width:18px;min-height:18px}.side-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.side-heading h2{margin:0}.side-block{display:grid;gap:12px}.side-block>h2{margin-bottom:0}.side-block+.side-block{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.preview-selector{width:min(190px,100%);gap:4px;font-size:12px}.preview-selector select{min-height:34px;padding:0 8px}.message-preview{display:grid;gap:10px;padding:14px;background:#eef7ee;border:1px solid #d5e8d6;border-radius:8px}.preview-media{display:inline-flex;align-items:center;gap:8px;min-width:0;color:var(--green-700);font-size:13px;font-weight:800;overflow-wrap:anywhere}.preview-bubble{justify-self:end;max-width:100%;min-width:min(220px,100%);padding:11px 13px;color:#18201a;background:#dcf8c6;border:1px solid #c7e8b1;border-radius:8px 8px 2px;font-size:14px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.schedule-list{display:grid;gap:10px}.schedule-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px}.schedule-item strong,.schedule-item span,.schedule-item small{display:block;overflow-wrap:anywhere}.schedule-item span{margin-top:4px;color:var(--ink);font-size:13px;font-weight:800}.schedule-item small{margin-top:3px;color:var(--muted);font-size:12px}.instance-grid{display:grid;gap:10px}.instance-grid.expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.instance-card{display:flex;align-items:center;gap:12px;min-width:0;padding:13px;background:var(--panel);border:1px solid var(--line);border-radius:8px}.instance-card img,.instance-card>svg{flex:0 0 auto;width:34px;height:34px;object-fit:cover;border-radius:50%}.instance-card>svg{padding:6px;color:var(--green-500);background:var(--green-50)}.instance-card div{min-width:0}.instance-card strong,.instance-card span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instance-card strong{color:var(--ink)}.instance-card div span{margin-top:2px;color:var(--muted);font-size:12px}.review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.review-item{min-height:96px;padding:16px}.review-preview{grid-column:1 / -1;min-width:0;padding:18px}.review-item span,.review-item strong{display:block}.review-item span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.review-item strong{margin-top:10px;overflow-wrap:anywhere;font-size:18px;line-height:1.2}.wizard-actions{display:flex;justify-content:space-between;gap:12px}.final-actions{margin-left:auto}@media(max-width:1400px),(max-height:760px){th,td{padding:10px 12px}.app-shell{grid-template-columns:220px minmax(0,1fr)}.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding:16px 12px}.brand{padding:4px 6px 18px}.brand img{width:44px;height:44px}.nav-list button,.logout-button,.primary-button,.secondary-button,.danger-button,.icon-button{min-height:38px}.content{padding:18px}.topbar{margin-bottom:14px}.topbar h1{font-size:26px}.split-layout{grid-template-columns:minmax(0,1fr) minmax(320px,360px);gap:14px}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin-bottom:12px}.metric{display:grid;align-content:center;gap:5px;padding:10px 12px}.metric svg{width:18px;height:18px}.metric span{font-size:11px}.metric strong{font-size:20px}.metric.compact{padding:10px}.details-stats .metric.compact{display:flex;padding:10px 12px}.details-panel{top:18px;max-height:calc(100vh - 36px);padding:14px}.details-head{margin-bottom:12px}.details-head h2{font-size:19px}.details-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.definition-list{gap:9px;margin:14px 0}.contacts-list{margin-top:14px}.contact-row{padding:8px 0}.wizard{gap:14px}.step-grid{grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:14px}.stepper{gap:8px}.stepper li{min-height:38px;padding:0 10px}.form-section,.side-section{padding:14px}.login-form,.form-section{gap:14px}textarea{min-height:118px}.upload-area{min-height:126px;padding:16px}.upload-area.compact{min-height:102px}.type-card{min-height:62px}.review-grid{gap:10px}.review-item{min-height:78px;padding:12px}.review-preview{padding:14px}.review-item strong{font-size:16px}.instance-grid.expanded{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media(max-width:1180px){.split-layout,.step-grid{grid-template-columns:1fr}.details-panel{position:static;max-height:none}.review-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:static;align-items:stretch;height:auto;border-right:0;border-bottom:1px solid var(--line)}.sidebar-collapsed .brand{display:flex;justify-items:initial;padding:4px 6px 18px}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-label{display:block}.sidebar-collapsed .nav-list button,.sidebar-collapsed .logout-button{justify-content:flex-start;padding:0 12px}.nav-list{grid-template-columns:repeat(4,minmax(0,1fr))}.logout-button{margin-top:12px}.content{padding:20px}.topbar,.toolbar,.wizard-actions,.action-row,.test-send,.final-actions{flex-wrap:wrap}.topbar .primary-button{width:100%}.stepper,.type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.instance-grid.expanded,.review-grid{grid-template-columns:1fr}.table-wrap{max-width:calc(100vw - 40px)}}@media(max-width:560px){.login-panel{padding:24px}.metric-grid,.details-stats,.nav-list{grid-template-columns:1fr}.topbar h1{font-size:25px}.inline-fields{flex-direction:column}.time-fields,.mapping-row{grid-template-columns:1fr}.primary-button,.secondary-button,.danger-button{width:100%}.schedule-item{grid-template-columns:1fr}}
