@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");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;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");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}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");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{--navy-950:#050b16;--navy-900:#0a1526;--navy-800:#101f38;--navy-700:#1a2c4a;--navy-600:#29406b;--blue-700:#1b5fe0;--blue-600:#2b6ffb;--blue-500:#4c8dff;--blue-400:#7dabff;--blue-100:#e8f0ff;--blue-50:#f3f7ff;--slate-900:#0f172a;--slate-700:#334155;--slate-600:#4b5768;--slate-500:#667085;--slate-400:#94a0b3;--slate-300:#c3cbd9;--slate-200:#e3e8f0;--slate-100:#eef1f6;--slate-50:#f6f8fb;--white:#fff;--success-600:#16a34a;--success-bg:#e9f9ef;--success-border:#bbefcb;--warning-600:#b45309;--warning-bg:#fff6e5;--warning-border:#f6dfa8;--danger-600:#dc2626;--danger-bg:#fdecec;--danger-border:#f6c9c9;--info-600:var(--blue-600);--info-bg:var(--blue-50);--info-border:var(--blue-100);--bg:var(--slate-50);--surface:var(--white);--border:var(--slate-200);--text:var(--slate-900);--muted:var(--slate-600);--faint:var(--slate-500);--primary:var(--blue-600);--primary-strong:var(--blue-700);--danger:var(--danger-600);--surface-2:var(--slate-50);--surface-3:var(--slate-100);--border-subtle:var(--slate-100);--border-strong:var(--slate-300);--focus-ring:var(--blue-100);--accent-soft:var(--blue-50);--accent-soft-border:var(--blue-100);--accent-text:var(--blue-700);--t-fast:.12s ease;--t-med:.16s ease;--shadow-sm:0 1px 2px #0f172a0a;--shadow:0 1px 2px #0f172a0f;--shadow-lg:0 8px 24px #0f172a1a;--radius:12px;--radius-sm:8px;--font-display:"Inter", "Segoe UI", system-ui, sans-serif;--font-body:"Inter", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;font:14px/1.55 var(--font-body);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text)}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;color:var(--text);margin:0}h1,h2,h3{font-family:var(--font-display);color:var(--text);margin:0;font-weight:600}p{margin:0}a{color:inherit}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:10px 12px;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring);outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}tbody tr[tabindex]:focus-visible{outline-offset:-2px}.btn-primary,.btn-secondary,.btn-danger{border-radius:var(--radius-sm);min-height:38px;transition:background var(--t-fast), border-color var(--t-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:.9rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--blue-600);color:var(--white)}.btn-primary:hover{background:var(--blue-700)}.btn-secondary{border-color:var(--border);color:var(--slate-700);background:var(--surface)}.btn-secondary:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn-danger{border-color:var(--danger-border);color:var(--danger-600);background:var(--surface)}.btn-danger:hover{background:var(--danger-bg)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{border-radius:var(--radius-sm);min-height:34px;color:var(--primary-strong);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:.9rem;font-weight:600;display:inline-flex}.btn-ghost:hover{background:var(--accent-soft)}.btn-sm{border-radius:6px;min-height:30px;padding:5px 10px;font-size:.82rem}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--navy-900);border-right:1px solid var(--navy-700);flex-direction:column;flex-shrink:0;width:232px;padding:18px 0 14px;display:flex}.sidebar-brand{align-items:center;gap:10px;padding:4px 20px 22px;display:flex}.sidebar-brand img{flex-shrink:0;width:30px;height:30px}.sidebar-brand strong{font-family:var(--font-display);color:var(--white);font-size:1rem;font-weight:600;line-height:1.1}.sidebar-brand span{color:var(--slate-400);margin-top:2px;font-size:.72rem;display:block}.sidebar nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.nav-section-label{letter-spacing:.04em;color:var(--slate-500);padding:16px 20px 6px;font-size:.72rem;font-weight:600}.nav-section:first-child .nav-section-label{padding-top:4px}.nav-link{color:var(--slate-300);transition:background var(--t-fast), color var(--t-fast);border-radius:8px;align-items:center;gap:10px;margin:1px 10px;padding:8px 14px;font-size:.89rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-link:hover{color:var(--white);background:#ffffff0d}.nav-link.active{color:var(--white);background:#ffffff14;font-weight:600}.nav-link.active:before{content:"";background:var(--blue-500);border-radius:999px;width:3px;position:absolute;top:6px;bottom:6px;left:-6px}.app-main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:flex-end;align-items:center;gap:14px;padding:14px 28px;display:flex}.user-chip{align-items:center;gap:10px;display:flex}.user-avatar{background:var(--navy-700);width:34px;height:34px;color:var(--white);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:600;display:flex}.user-chip .user-name{color:var(--text);font-size:.88rem;font-weight:600;line-height:1.2}.user-chip .user-meta{color:var(--faint);font-size:.74rem;line-height:1.2}.content{flex:1;padding:28px}.page-header{margin-bottom:24px}.page-header h1{font-size:1.5rem;line-height:1.25}.page-header p{color:var(--muted);margin:6px 0 0;font-size:.9rem}.tabs{background:var(--surface-3);border:1px solid var(--border);border-radius:12px;gap:4px;width:fit-content;margin-bottom:22px;padding:4px;display:flex}.tab-button{color:var(--muted);transition:background var(--t-fast), color var(--t-fast);background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:.86rem;font-weight:600}.tab-button:hover{color:var(--text)}.tab-button.active{color:var(--text);background:var(--surface);box-shadow:var(--shadow-sm)}.page-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.eyebrow{color:var(--muted);font-size:.78rem;font-weight:600}.card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:20px}.placeholder-card{border:1px solid var(--border);border-radius:var(--radius);text-align:center;color:var(--muted);background:var(--surface);padding:32px 24px;font-size:.9rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:20px;display:flex}.stat-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.1}.stat-label{color:var(--muted);font-size:13px}.stat-delta{align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.stat-delta.up{color:var(--success-600)}.stat-delta.down{color:var(--danger-600)}.stat-delta.flat{color:var(--faint)}.table-card{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);overflow:hidden}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.89rem}thead th{text-align:left;color:var(--slate-500);letter-spacing:.07em;text-transform:uppercase;background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:13px 20px;font-size:.74rem;font-weight:600}tbody td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:13px 20px}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background var(--t-fast)}tbody tr:hover{background:var(--surface-2)}.table-empty{text-align:center;color:var(--muted);padding:48px 20px}.table-actions{flex-wrap:wrap;gap:8px;display:flex}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:.76rem;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px}.badge-success{color:var(--success-600);background:var(--success-bg);border-color:var(--success-border)}.badge-info{color:var(--accent-text);background:var(--info-bg);border-color:var(--info-border)}.badge-warning{color:var(--warning-600);background:var(--warning-bg);border-color:var(--warning-border)}.badge-danger{color:var(--danger-600);background:var(--danger-bg);border-color:var(--danger-border)}.badge-muted{color:var(--muted);background:var(--surface-3);border-color:var(--border)}.chip{background:var(--accent-soft);color:var(--accent-text);border:1px solid var(--accent-soft-border);border-radius:999px;align-items:center;padding:3px 10px;font-size:.76rem;display:inline-flex}.form-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-field label{color:var(--slate-700);font-size:.82rem;font-weight:600}.form-field .hint{color:var(--faint);font-size:.78rem;font-weight:400}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.checkbox-group{flex-wrap:wrap;gap:10px;display:flex}.checkbox-pill{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.84rem;display:flex}.checkbox-pill input{width:auto}.modal-overlay{z-index:200;background:#0a101c73;justify-content:center;align-items:flex-start;padding:60px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(520px,100%);box-shadow:var(--shadow-lg);padding:28px;animation:.14s ease-out modal-in}@keyframes modal-in{0%{opacity:0;transform:scale(.98)}}@media (prefers-reduced-motion:reduce){.modal{animation:none}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-close{color:var(--muted);background:0 0;border:none;border-radius:6px;padding:4px;font-size:1.3rem;line-height:1}.modal-close:hover{background:var(--surface-3)}.modal-footer{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.form-error{color:var(--danger-600);margin:0 0 12px;font-size:.85rem}.login-screen{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.login-brand{background:radial-gradient(circle at 20% 15%, var(--navy-800), var(--navy-950) 65%);color:var(--white);flex-direction:column;justify-content:space-between;padding:56px;display:flex;position:relative;overflow:hidden}.login-brand-top{z-index:2;align-items:center;gap:12px;display:flex;position:relative}.login-brand-top img{width:34px;height:34px}.login-brand-top span{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.login-flow{width:100%;height:100%;position:absolute;inset:0}.login-flow-dot{offset-rotate:0deg;animation:7s linear infinite flow-move}.login-flow-dot:nth-child(2){animation-delay:-2.3s}.login-flow-dot:nth-child(3){animation-delay:-4.6s}@keyframes flow-move{0%{offset-distance:0%;opacity:0}8%{opacity:1}92%{opacity:1}to{offset-distance:100%;opacity:0}}.login-brand-copy{z-index:2;max-width:420px;position:relative}.login-brand-copy h1{color:var(--white);font-size:2rem;line-height:1.2}.login-brand-copy p{color:var(--slate-300);margin-top:14px;font-size:.98rem;line-height:1.6}.login-brand-foot{z-index:2;color:var(--slate-400);gap:28px;font-size:.8rem;display:flex;position:relative}.login-brand-foot strong{color:var(--white);font-family:var(--font-display);font-size:1.3rem;display:block}.login-form-side{background:var(--surface);justify-content:center;align-items:center;min-width:0;padding:40px 24px;display:flex}.login-card{flex-direction:column;gap:4px;width:380px;min-width:0;max-width:100%;display:flex}.login-card .eyebrow{margin-bottom:10px}.login-card h1{font-size:1.5rem}.login-card>p{color:var(--muted);margin:6px 0 22px;font-size:.9rem}.login-card button{margin-top:8px}.login-error{color:var(--danger-600);background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-sm);margin:0;padding:10px 12px;font-size:.85rem}@media (width<=860px){.login-screen{grid-template-columns:1fr}.login-brand{min-height:220px;padding:32px 28px}.login-brand-copy h1{font-size:1.5rem}.login-brand-foot{display:none}}@media (prefers-reduced-motion:reduce){.login-flow-dot{opacity:0;animation:none}}.chat-layout{grid-template-columns:300px 1fr;gap:16px;height:calc(100vh - 160px);display:grid}.chat-list{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:6px;overflow-y:auto}.chat-list-item{cursor:pointer;transition:background var(--t-fast);border-radius:8px;grid-template-rows:auto auto;grid-template-columns:36px 1fr auto;gap:2px 10px;margin-bottom:1px;padding:10px 12px;display:grid}.chat-list-item:hover{background:var(--surface-2)}.chat-list-item.active{background:var(--accent-soft)}.chat-list-item .avatar{grid-row:1/3;align-self:center}.chat-list-item strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.chat-list-item.unread strong{font-weight:700}.chat-list-item .preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:.8rem;overflow:hidden}.chat-list-item .time{color:var(--faint);white-space:nowrap;grid-column:3;font-size:.72rem}.chat-list-item .unread-count{background:var(--blue-600);min-width:18px;height:18px;color:var(--white);border-radius:999px;grid-column:3;justify-content:center;justify-self:end;align-items:center;padding:0 5px;font-size:.7rem;font-weight:600;display:inline-flex}.chat-thread{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.chat-day{background:var(--surface-3);color:var(--muted);border-radius:999px;align-self:center;margin:6px 0;padding:3px 10px;font-size:.72rem;font-weight:600}.chat-thread-header{border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.chat-thread-header select{width:auto;min-width:180px}.chat-messages{background:var(--surface-2);flex-direction:column;flex:1;gap:10px;padding:20px;display:flex;overflow-y:auto}.bubble{border-radius:14px;max-width:60%;padding:9px 13px;font-size:.9rem;line-height:1.4}.bubble-out{background:var(--blue-600);color:var(--white);border-bottom-right-radius:4px;align-self:flex-end}.bubble-in{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.bubble-media{border-radius:10px;max-width:100%;max-height:320px;display:block}.bubble-caption{margin-top:6px}.bubble-time{opacity:.7;text-align:right;margin-top:4px;font-size:.7rem}.chat-composer{border-top:1px solid var(--border);background:var(--surface);gap:10px;padding:16px 20px;display:flex}.chat-empty{justify-content:center;align-items:center;height:100%;display:flex}.chat-empty .empty-state{justify-content:center;width:100%;height:100%}.key-reveal{font-family:var(--font-mono);background:var(--slate-900);color:var(--blue-100);border:1px solid var(--navy-700);word-break:break-all;border-radius:10px;padding:12px;font-size:.85rem}.upload-drop{border:1px dashed var(--border-strong);border-radius:var(--radius);text-align:center;color:var(--muted);background:var(--surface-2);margin-bottom:20px;padding:28px}.avatar{--size:36px;width:var(--size);height:var(--size);font-size:calc(var(--size) * .4);color:var(--white);background:var(--navy-700);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar.is-group{border-radius:8px}.avatar.sm{--size:28px}.avatar.lg{--size:48px}.avatar.xl{--size:56px}.avatar .online-dot{background:var(--success-600);border:2px solid var(--surface);border-radius:999px;width:10px;height:10px;position:absolute;bottom:0;right:0}.empty-state{text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:48px 24px;display:flex}.empty-state .empty-icon{background:var(--surface-3);width:40px;height:40px;color:var(--faint);border-radius:10px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.empty-state h3{color:var(--text);font-size:1rem}.empty-state p{max-width:380px;font-size:.88rem}.empty-state .empty-action{margin-top:12px}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.skeleton{background:var(--surface-3);border-radius:6px;animation:1.4s ease-in-out infinite skeleton-pulse}.skeleton-row{height:14px;margin:10px 0}.skeleton-table td{padding:14px 20px}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.toast-stack{z-index:300;flex-direction:column;gap:10px;max-width:min(360px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--slate-400);box-shadow:var(--shadow-lg);color:var(--text);align-items:flex-start;gap:10px;padding:12px 14px;font-size:.88rem;animation:.16s ease-out toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translate(12px)}}.toast.success{border-left-color:var(--success-600)}.toast.error{border-left-color:var(--danger-600)}.toast.warning{border-left-color:var(--warning-600)}.toast.info{border-left-color:var(--blue-600)}.toast button{color:var(--faint);background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:1rem;line-height:1}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.drawer-overlay{z-index:210;background:#0a101c59;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--surface);border-left:1px solid var(--border);width:min(380px,100%);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.18s ease-out drawer-in;display:flex}@keyframes drawer-in{0%{opacity:0;transform:translate(16px)}}.drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.drawer-body{flex-direction:column;gap:16px;padding:20px;display:flex;overflow-y:auto}.drawer-field{flex-direction:column;gap:2px;display:flex}.drawer-field .k{color:var(--faint);font-size:.74rem;font-weight:600}.drawer-field .v{color:var(--text);font-size:.9rem}@media (prefers-reduced-motion:reduce){.drawer{animation:none}}.channel-list{flex-direction:column;gap:10px;display:flex}.channel-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:14px;padding:16px 18px;display:flex}.channel-card.is-off{border-color:var(--danger-border);background:var(--danger-bg)}.channel-card .channel-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.channel-card .channel-name{color:var(--text);font-weight:600}.channel-card .channel-meta{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:.82rem;display:flex}.channel-card .channel-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.status-dot{align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:inline-flex}.status-dot:before{content:"";background:currentColor;border-radius:999px;width:7px;height:7px}.status-dot.ok{color:var(--success-600)}.status-dot.warn{color:var(--warning-600)}.status-dot.off{color:var(--danger-600)}.activity-list{flex-direction:column;display:flex}.activity-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:10px;padding:10px 0;font-size:.88rem;display:flex}.activity-row:last-child{border-bottom:none}.activity-row .activity-when{color:var(--faint);white-space:nowrap;margin-left:auto;font-size:.76rem}.dashboard-top{grid-template-columns:minmax(240px,1fr) 2fr;align-items:stretch;gap:16px;display:grid}.dashboard-secondary{grid-template-columns:repeat(3,1fr)}.kpi-primary{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:4px;padding:20px;display:flex}.kpi-primary .kpi-value{font-variant-numeric:tabular-nums;font-size:40px;font-weight:600;line-height:1.05}.kpi-primary .kpi-label{color:var(--muted);font-size:.9rem}.template-picker{flex-direction:column;gap:8px;display:flex}.template-option{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast);grid-template-columns:18px 1fr;gap:2px 10px;padding:10px 12px;display:grid}.template-option:hover{border-color:var(--border-strong)}.template-option.selected{border-color:var(--primary);background:var(--accent-soft)}.template-option input{width:auto;margin-top:2px}.template-option .template-label{font-size:.9rem;font-weight:600}.template-option .template-desc{color:var(--muted);grid-column:2;font-size:.8rem}.flow-map{margin-bottom:16px}.flow-map-list{counter-reset:fm;margin:0;padding:0;list-style:none}.flow-map-node{counter-increment:fm;border-bottom:1px solid var(--border-subtle);padding:6px 0}.flow-map-node:last-child{border-bottom:none}.flow-map-head{text-align:left;width:100%;font:inherit;transition:background var(--t-fast);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:4px 6px;display:flex}.flow-map-head:before{content:counter(fm);background:var(--surface-3);width:18px;height:18px;color:var(--muted);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;display:inline-flex}.flow-map-head:hover{background:var(--surface-2)}.flow-map-type{font-size:.86rem;font-weight:600}.flow-map-id{color:var(--faint);font-size:.76rem}.flow-map-short{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.flow-map-conns{color:var(--muted);margin:2px 0 2px 30px;padding:0;font-size:.78rem;list-style:none}.flow-map-conns em{color:var(--text);font-style:normal;font-weight:500}.flow-map-node.has-issue .flow-map-type{color:var(--warning-600)}.flow-node.has-issue{border-left:3px solid var(--warning-600)}.flow-node-issues{color:var(--warning-600);margin:0 0 12px;padding-left:18px;font-size:.84rem}.card.has-issue{border-left:3px solid var(--danger-600)}@keyframes flow-node-flash{0%{background:var(--accent-soft)}}.flow-node-flash{animation:.9s ease-out flow-node-flash}@media (prefers-reduced-motion:reduce){.flow-node-flash{animation:none}}@media (width<=960px){.app-shell{flex-direction:column}.sidebar{flex-direction:row;width:100%;padding:12px 0;overflow-x:auto}.sidebar-brand{padding:0 14px}.sidebar nav{flex-direction:row;overflow-y:visible}.nav-section{align-items:center;display:flex}.nav-section-label{display:none}.nav-link{white-space:nowrap}.nav-link.active:before{display:none}.chat-layout{grid-template-columns:1fr;height:auto}.content{padding:20px 16px}.dashboard-top{grid-template-columns:1fr}.dashboard-secondary{grid-template-columns:repeat(2,1fr)}.channel-card{flex-wrap:wrap}.channel-card .channel-actions{justify-content:flex-start;width:100%}.page-toolbar{flex-direction:column;align-items:stretch}.drawer{width:100%}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--slate-50:#1b2331;--slate-100:#212a3a;--slate-200:#2b3444;--slate-300:#3b4658;--slate-400:#56617a;--slate-500:#8b96a8;--slate-600:#aab4c4;--slate-700:#c9d2de;--bg:#0d1117;--surface:#161b22;--border:#2b3444;--text:#e6edf3;--muted:#aab4c4;--faint:#8b96a8;--primary:var(--blue-500);--primary-strong:var(--blue-400);--danger:#f87171;--surface-2:#1b2331;--surface-3:#232d3f;--border-subtle:#232d3f;--border-strong:#3b4658;--focus-ring:#4c8dff59;--accent-soft:#4c8dff24;--accent-soft-border:#4c8dff52;--accent-text:var(--blue-400);--success-600:#4ade80;--success-bg:#16a34a29;--success-border:#16a34a66;--warning-600:#fbbf24;--warning-bg:#b453092e;--warning-border:#b4530970;--danger-600:#f87171;--danger-bg:#dc262629;--danger-border:#dc26266b;--info-bg:#4c8dff24;--info-border:#4c8dff52;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 3px #0006;--shadow-lg:0 12px 32px #0000008c}.theme-toggle{flex-shrink:0;width:34px;min-height:34px;padding:0}.theme-toggle svg{width:16px;height:16px}.campaign-report-header{flex-wrap:wrap;align-items:baseline;gap:24px;margin-bottom:4px;display:flex}.campaign-report-header strong{font-family:var(--font-display);color:var(--text);font-size:22px}.report-bars{flex-direction:column;gap:10px;margin:16px 0;display:flex}.report-bar-row{grid-template-columns:90px 1fr 90px;align-items:center;gap:10px;display:grid}.report-bar-label{color:var(--muted);font-size:13px}.report-bar-track{background:var(--surface-3);border-radius:999px;height:10px;overflow:hidden}.report-bar-fill{height:100%;transition:width var(--t-med);border-radius:999px}.report-bar-ok{background:var(--success-600)}.report-bar-read{background:var(--primary)}.report-bar-fail{background:var(--danger-600)}.report-bar-pending{background:var(--slate-400)}.report-bar-row.delivery-row{grid-template-columns:130px 1fr 130px}.campaign-items-table{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:55vh;overflow:auto}.campaign-items-table td{vertical-align:top;font-size:13px}.item-status{white-space:nowrap;background:var(--surface-3);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.item-status-delivered{background:color-mix(in srgb, var(--success-600) 15%, transparent);color:var(--success-600)}.item-status-read{background:color-mix(in srgb, var(--primary) 15%, transparent);color:var(--primary)}.item-status-failed{background:color-mix(in srgb, var(--danger-600) 15%, transparent);color:var(--danger-600)}.report-bar-value{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:13px}@media print{.modal-overlay{background:0 0;position:static}.modal-close,.modal-footer{display:none!important}}.media-preview{margin-top:10px}.media-preview img,.media-preview video{border-radius:var(--radius-sm);border:1px solid var(--border);object-fit:contain;background:var(--surface-muted,transparent);width:auto;max-width:min(100%,280px);height:auto;max-height:280px;display:block}
