:root{--sidebar: #1e1e2d;--sidebar-active: #5c3a22;--bg: #f4f5f7;--panel: #ffffff;--line: #eceef2;--text: #1f2933;--muted: #6b7280;--accent: #f37321;--accent-soft: #fde8d8;--error: #c2410c;--header: #ffffff}*{box-sizing:border-box}html,body,#root{margin:0;max-width:100%;height:100%;overflow-x:hidden}body{font-family:Segoe UI,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.app{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar);color:#e5e7eb;padding:24px 16px;display:flex;flex-direction:column;min-width:0}.brand-title{color:var(--accent);font-weight:700;font-size:1.15rem}.brand-sub{color:#9ca3af;font-size:13px;margin-top:4px}.nav-label{margin:28px 8px 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#9ca3af}.side-nav{display:flex;flex-direction:column;gap:6px}.tab{background:transparent;color:#d1d5db;border:0;border-radius:8px;padding:10px 12px;font:inherit;text-align:left;cursor:pointer}.tab.is-active{background:var(--sidebar-active);color:#fff}.shell{display:flex;flex-direction:column;min-width:0;background:var(--bg)}.topbar{background:var(--header);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;border-bottom:1px solid var(--line)}.top-search{flex:1;max-width:420px;border:0;background:#f3f4f6;border-radius:999px;padding:10px 16px;font:inherit}.topbar-user{display:flex;align-items:center;gap:10px;text-align:right}.user-name{font-weight:700;font-size:14px}.user-role{color:var(--muted);font-size:12px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:700}.content{padding:24px;min-width:0}.page-head{margin-bottom:20px}.campaigns-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.btn-primary,.outbound-actions button[type=submit]{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer}.btn-primary:hover,.outbound-actions button[type=submit]:hover{filter:brightness(.95)}.btn-ghost{background:#fff;color:var(--text);border:1px solid #e5e7eb;border-radius:8px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer}.btn-ghost:hover{background:#f3f4f6;border-color:#d1d5db}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}.row-actions{display:flex;justify-content:flex-end;vertical-align:middle}.row-menu{position:relative;display:flex;justify-content:flex-end}.kebab-btn{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:20px;line-height:1;cursor:pointer}.kebab-btn:hover,.kebab-btn.is-open{background:#f3f4f6;color:var(--text)}.kebab-menu{position:fixed;z-index:40;min-width:148px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px #0f172a24}.kebab-item{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:6px;padding:8px 10px;font:inherit;cursor:pointer;color:var(--text)}.kebab-item:hover{background:#f3f4f6}.kebab-item--danger{color:var(--error)}.kebab-item:disabled{opacity:.45;cursor:not-allowed}.role-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize;background:#f3f4f6;color:var(--muted)}.role-pill--admin{background:var(--accent-soft);color:var(--accent)}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#0f172a80;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow:auto}.modal-dialog{width:min(760px,100%);margin:auto;background:var(--panel);border-radius:12px;box-shadow:0 20px 50px #0f172a40;display:flex;flex-direction:column;max-height:calc(100vh - 48px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0 0 4px}.modal-body{overflow:auto;padding:20px 24px 24px;margin-top:0}.modal-dialog--wide{width:min(920px,100%)}.modal-dialog--wide .modal-head{padding:28px 32px 20px}.modal-dialog--wide .modal-body{padding:8px 32px 32px}.dialog-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.dialog-tab{background:transparent;border:0;border-radius:8px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer}.dialog-tab.is-active{background:var(--accent-soft);color:var(--accent)}.recording-pane{display:flex;flex-direction:column;gap:12px}.modal-body.detail .table-wrap{max-height:360px}.modal-body .messages{max-height:min(52vh,480px)}.modal-body tbody tr{cursor:default}.modal-body tbody tr:hover,.modal-body tbody tr.selected{background:transparent}.file-import{display:flex;flex-direction:column;gap:8px}.file-import-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sample-schema{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px}.sample-table{table-layout:auto;margin-top:6px;font-size:13px}.sample-table tbody tr,.sample-table tbody tr:hover{cursor:default;background:transparent}.file-picker{display:inline-flex;align-items:center;justify-content:center;width:fit-content;background:var(--accent-soft);color:var(--accent);border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer}.outbound-form .file-picker input{display:none}.phone-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.phone-preview p{margin:0}.campaign-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:12px 0}.campaign-filters input,.campaign-filters select,.outbound-form input,.outbound-form select,.outbound-form textarea,.login-field input{width:100%;max-width:100%;background:#f9fafb;color:var(--text);border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;font:inherit}.status-pill{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;background:#f3f4f6;color:#4b5563;text-transform:capitalize}.status-pill.active{background:var(--accent-soft);color:var(--accent)}.status-pill.ended,.status-pill.cancelled{background:#f3f4f6;color:#6b7280}.status-pill.paused,.status-pill.scheduled{background:var(--accent-soft);color:#b45309}h1,h2{margin:0 0 8px;font-weight:700}h1{font-size:clamp(1.35rem,3vw,1.85rem);color:#111827}h2{font-size:15px;color:#374151}.muted{color:var(--muted);margin:0;font-size:14px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.card{background:var(--panel);border-radius:8px;padding:14px 16px;min-width:0;box-shadow:0 1px 3px #1018280f}.card .label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.card .value{font-size:24px;margin-top:6px;font-weight:700}.layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;width:100%;max-width:100%}.panel{background:var(--panel);border-radius:8px;padding:16px;min-width:0;max-width:100%;overflow:hidden;box-shadow:0 1px 3px #1018280f}.outbound{margin-bottom:16px}.outbound-form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:12px}.outbound-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);min-width:0}.outbound-form textarea{resize:vertical;min-height:72px}.day-fieldset{border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;margin:0;min-width:0}.day-fieldset legend{font-size:13px;color:var(--muted);padding:0 4px}.day-picks{display:flex;flex-wrap:wrap;gap:8px 14px}.day-pick{flex-direction:row!important;align-items:center;gap:6px!important;color:var(--text)!important;font-size:13px;cursor:pointer}.day-pick input{width:auto}.outbound-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.outbound-actions button:disabled{opacity:.6;cursor:not-allowed}.outbound-status-ok{color:#15803d}.outbound-status-err{color:var(--error)}#outbound-status{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-width:0}.detail{overflow:auto}.table-wrap{overflow:auto;margin-top:12px;max-width:100%;max-height:min(55vh,520px);-webkit-overflow-scrolling:touch}table{width:100%;max-width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{white-space:nowrap;background:#f9fafb;color:var(--muted);font-size:11px;letter-spacing:.04em;text-transform:uppercase}td{overflow-wrap:anywhere;word-break:break-word}.user-cell,.id-cell{max-width:9rem}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:#fff7f0}.hidden{display:none}.empty,.error{padding:12px 14px;border-radius:8px;margin-bottom:16px;overflow-wrap:anywhere}.empty{background:#fff;border:1px solid var(--line)}.error{background:#fff1f0;color:var(--error)}.detail dl{display:grid;grid-template-columns:minmax(72px,110px) minmax(0,1fr);gap:6px 12px;font-size:13px}.detail dt{color:var(--muted)}.detail dl.agent-vars{grid-template-columns:minmax(120px,200px) minmax(0,1fr);gap:10px 16px}.agent-var-value{white-space:pre-wrap}.messages{display:flex;flex-direction:column;gap:8px;margin-top:12px;max-height:min(40vh,360px);overflow-y:auto}.msg{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:13px;overflow-wrap:anywhere;word-break:break-word}.msg .who{color:var(--accent);font-size:12px;margin-bottom:4px}pre{background:#f9fafb;border-radius:8px;padding:10px;overflow:auto;font-size:12px;max-height:280px;max-width:100%;white-space:pre-wrap;word-break:break-word}audio{display:block;width:100%;max-width:100%;margin-top:8px}@media(min-width:800px){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.outbound-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.span-2{grid-column:1 / -1}.campaign-filters{grid-template-columns:minmax(0,1.6fr) minmax(140px,.7fr) minmax(140px,.7fr)}}@media(max-width:800px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}.nav-label{display:none}.side-nav{flex-direction:row;width:100%}.content{padding:16px}}@media(max-width:640px){.card .value{font-size:20px}.table-wrap{max-height:45vh}}.login-page{min-height:100vh;display:grid;place-items:center;background:var(--sidebar);padding:24px}.login-card{width:min(400px,100%);background:var(--panel);border-radius:12px;padding:28px 24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 50px #00000040}.login-card .brand-sub{margin-bottom:8px}.login-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}.login-card .btn-primary{margin-top:4px;width:100%}.login-loading{padding:48px;text-align:center}
