:root {
  color-scheme: dark;
  --bg-app:#070a12;--bg-sidebar:#060a11;--bg-panel:#0e1322;--bg-raised:#12182a;--bg-control:#0a0f1b;
  --violet:#8b5cf6;--violet-light:#a78bfa;--teal:#2dd4bf;--cyan:#22d3ee;--success:#34d399;
  --warning:#fbbf24;--danger:#fb7185;--blue:#60a5fa;--text:#f4f7ff;--secondary:#94a3b8;--muted:#64748b;
  --border:rgba(148,163,184,.14);--border-strong:rgba(167,139,250,.42);--hover:rgba(148,163,184,.07);
  --radius:14px;--control-radius:10px;--shadow:0 14px 36px rgba(0,0,0,.24);
}
*{box-sizing:border-box}html{background:var(--bg-app);scrollbar-color:#25304b var(--bg-app)}body{margin:0;background:var(--bg-app);color:var(--text);font:14px/1.55 "IBM Plex Sans Thai","Noto Sans Thai",Inter,system-ui,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.hidden{display:none!important}
.boot-screen{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--secondary)}.boot-logo,.brand-mark{display:grid;place-items:center;background:linear-gradient(135deg,#7c3aed,#6366f1 52%,#22c9d6);color:#fff;font-weight:800;box-shadow:0 12px 34px rgba(124,58,237,.28)}.boot-logo{width:62px;height:62px;border-radius:19px;font-size:28px;animation:float 1.8s ease-in-out infinite}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(400px,.85fr);background:radial-gradient(circle at 18% 16%,rgba(124,58,237,.2),transparent 34%),radial-gradient(circle at 72% 88%,rgba(34,211,238,.1),transparent 35%),#070a12}.login-hero{padding:clamp(40px,6vw,92px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-hero:after{content:"";position:absolute;width:480px;height:480px;border:1px solid rgba(167,139,250,.12);border-radius:50%;right:-170px;top:18%;box-shadow:0 0 0 65px rgba(167,139,250,.025),0 0 0 130px rgba(34,211,238,.018)}.login-brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:17px;position:relative;z-index:1}.login-brand .brand-mark{width:42px;height:42px;border-radius:13px}.hero-copy{max-width:700px;position:relative;z-index:1}.hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(45,212,191,.24);border-radius:999px;color:#7ce9da;background:rgba(45,212,191,.07);font-size:12px}.hero-copy h1{font-size:clamp(38px,5vw,72px);line-height:1.08;letter-spacing:-.045em;margin:20px 0 18px}.gradient-text{background:linear-gradient(110deg,#c4b5fd 0%,#8b5cf6 38%,#22d3ee 85%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy p{max-width:590px;color:#a9b5c7;font-size:16px}.hero-features{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-feature{padding:10px 13px;border:1px solid var(--border);border-radius:11px;background:rgba(14,19,34,.68);color:#cbd5e1}.login-panel-wrap{display:grid;place-items:center;padding:32px;border-left:1px solid var(--border);background:rgba(6,10,17,.72);backdrop-filter:blur(8px)}.login-card{width:min(430px,100%);padding:32px;border:1px solid var(--border);border-radius:20px;background:rgba(14,19,34,.96);box-shadow:0 30px 90px rgba(0,0,0,.45)}.login-card h2{font-size:26px;margin:0 0 4px}.login-card>p{margin:0 0 24px;color:var(--secondary)}
.field{display:grid;gap:7px;margin-bottom:15px}.field label,.field-label{color:#c5cfdd;font-size:13px;font-weight:550}.control{width:100%;min-height:44px;border:1px solid var(--border);border-radius:var(--control-radius);background:var(--bg-control);color:var(--text);padding:10px 12px;outline:none;transition:.15s}.control:hover{border-color:rgba(148,163,184,.3)}.control:focus{border-color:var(--border-strong);box-shadow:0 0 0 3px rgba(167,139,250,.16)}textarea.control{min-height:110px;resize:vertical}.password-wrap{position:relative}.password-wrap .control{padding-right:58px}.password-toggle{position:absolute;right:5px;top:5px;height:34px;padding:0 9px;border:0;background:transparent;color:var(--secondary);cursor:pointer;border-radius:8px}.form-error{min-height:21px;color:var(--danger);font-size:13px;margin:-4px 0 7px}.login-foot{font-size:12px;color:var(--muted);margin-top:18px;text-align:center}.auth-switch{border:0;background:transparent;color:var(--violet-light);font-weight:700;cursor:pointer;padding:5px}.auth-switch:hover{text-decoration:underline}.auth-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--muted);font-size:11px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--border)}.auth-secondary{border-color:rgba(167,139,250,.34);background:rgba(139,92,246,.08);color:#ddd6fe}.auth-secondary:hover{background:rgba(139,92,246,.16);border-color:rgba(167,139,250,.55)}.register-card{width:min(470px,100%)}.install-card{max-width:580px}.install-kicker{margin-bottom:13px;color:#ffbd6b;border-color:rgba(255,189,107,.28);background:rgba(255,189,107,.08)}.install-steps{margin:22px 0;padding-left:22px;color:var(--text-2);line-height:1.7}.install-steps li+li{margin-top:9px}.install-steps strong{color:var(--text)}.diagnostic-box{display:flex;flex-direction:column;gap:6px;margin:18px 0;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:rgba(6,10,20,.52);font-size:12px}.diagnostic-box span{color:#ffbd6b;word-break:break-word}.diagnostic-code{margin:0 0 16px;color:var(--muted);font-size:11px}
.btn{min-height:44px;border:1px solid var(--border);border-radius:var(--control-radius);padding:10px 14px;background:var(--bg-raised);color:var(--text);font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .16s cubic-bezier(.2,.8,.2,1),border-color .12s,background .12s,opacity .12s}.btn:hover{border-color:rgba(167,139,250,.33);background:#171e32;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none}.btn-primary{border:0;background:linear-gradient(120deg,#7c3aed 0%,#6366f1 48%,#22c9d6 100%);box-shadow:0 10px 28px rgba(124,58,237,.25)}.btn-primary:hover{background:linear-gradient(120deg,#8b5cf6,#6366f1 48%,#22d3ee)}.btn-danger{border-color:rgba(251,113,133,.26);background:rgba(251,113,133,.09);color:#fecdd3}.btn-ghost{background:transparent}.btn-block{width:100%}.btn-sm{min-height:36px;padding:7px 10px;font-size:12px}.icon-btn{width:44px;height:44px;padding:0;border:1px solid var(--border);border-radius:11px;background:var(--bg-control);cursor:pointer;display:grid;place-items:center;font-size:17px}.icon-btn:hover{background:var(--bg-raised);border-color:rgba(167,139,250,.3)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:228px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:228px;padding:22px 14px 16px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:40}.brand{height:56px;display:flex;align-items:center;gap:10px;padding:0 8px;margin-bottom:14px}.brand-mark{width:38px;height:38px;border-radius:12px;flex:0 0 auto}.brand-name{font-weight:750;font-size:15px;line-height:1.2}.brand-sub{font-size:10px;color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-top:3px}.nav{display:grid;gap:4px}.nav-item{height:47px;border:0;border-radius:11px;background:transparent;color:var(--secondary);display:flex;align-items:center;gap:11px;padding:0 13px;cursor:pointer;text-align:left;font-weight:550;transition:.12s}.nav-item:hover{background:var(--hover);color:#cbd5e1}.nav-item.active{color:var(--text);background:linear-gradient(90deg,rgba(124,58,237,.26),rgba(99,102,241,.12));box-shadow:inset 0 0 0 1px rgba(167,139,250,.12)}.nav-icon{width:24px;text-align:center;font-size:16px;color:#8090a8}.nav-item.active .nav-icon{color:var(--violet-light)}.sidebar-foot{margin-top:auto}.usage{padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--bg-panel)}.usage-top{display:flex;justify-content:space-between;font-size:12px}.usage-top span:last-child{color:var(--teal)}.bar{height:6px;border-radius:999px;background:#20283a;overflow:hidden;margin-top:9px}.bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),var(--cyan));transition:width .5s ease-out}.user-mini{display:flex;align-items:center;gap:9px;margin-top:13px;padding:8px;border-radius:10px;cursor:pointer}.user-mini:hover{background:var(--hover)}.avatar{width:36px;height:36px;border-radius:11px;background:linear-gradient(145deg,#312e81,#0e7490);display:grid;place-items:center;font-weight:700}.user-mini-meta{min-width:0;flex:1}.user-mini-meta strong,.user-mini-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mini-meta strong{font-size:12px}.user-mini-meta span{font-size:10px;color:var(--muted)}
.main{grid-column:2;min-width:0}.topbar{position:sticky;top:0;height:64px;padding:0 24px;border-bottom:1px solid var(--border);background:rgba(7,10,18,.88);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:space-between;z-index:30}.topbar-title{display:flex;align-items:center;gap:11px}.topbar-title strong{font-size:16px}.live-badge,.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;white-space:nowrap}.live-badge{padding:5px 9px;color:#78e7d3;background:rgba(45,212,191,.07);border:1px solid rgba(45,212,191,.16);font-size:11px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(52,211,153,.09);animation:pulse 2.4s infinite}.top-actions{display:flex;align-items:center;gap:9px}.workspace-select{min-width:150px;max-width:180px}.channel-select{min-width:205px}.menu-toggle{display:none}.content{padding:16px 24px 30px;max-width:1600px;margin:auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:4px 0 16px}.page-head h1{font-size:26px;line-height:1.35;margin:0}.page-head p{color:var(--secondary);margin:3px 0 0}.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.hero-action{min-height:96px;padding:18px 20px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(100deg,rgba(124,58,237,.13),rgba(14,19,34,.96) 48%,rgba(34,211,238,.06));display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero-action:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:70px;background:radial-gradient(circle,rgba(139,92,246,.14),transparent 65%);pointer-events:none}.hero-action h2{font-size:22px;margin:0 0 3px}.hero-action p{color:var(--secondary);margin:0}.hero-action .btn{width:286px;min-height:56px;position:relative;z-index:1}
.grid{display:grid;gap:12px}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}.kpi-card,.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);box-shadow:var(--shadow)}.kpi-card{min-height:132px;padding:17px;display:flex;justify-content:space-between;gap:12px;transition:.16s}.kpi-card:hover{border-color:rgba(167,139,250,.28);transform:translateY(-1px)}button.kpi-card{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.kpi-label{color:var(--secondary);font-size:12px}.kpi-value{font-size:30px;line-height:1.2;font-weight:650;font-variant-numeric:tabular-nums;margin:7px 0 4px}.kpi-trend{font-size:12px;color:var(--success)}.kpi-trend.warn{color:var(--warning)}.kpi-icon{width:43px;height:43px;border-radius:13px;background:rgba(139,92,246,.1);color:var(--violet-light);display:grid;place-items:center;font-size:19px}.ring{width:57px;height:57px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--teal) calc(var(--score)*1%),#222a3d 0);position:relative}.ring:after{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--bg-panel)}.ring span{position:relative;z-index:1;font-size:12px;font-weight:700}.middle-grid,.bottom-grid{grid-template-columns:minmax(0,1.18fr) minmax(390px,1fr);margin-top:12px}.panel{padding:17px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-head h2{font-size:17px;margin:0}.panel-head p{margin:2px 0 0;color:var(--muted);font-size:12px}.legend{display:flex;gap:10px;flex-wrap:wrap;color:var(--secondary);font-size:10px}.legend span:before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--legend);margin-right:5px}.pipeline{display:grid;grid-template-columns:repeat(7,minmax(86px,1fr));gap:7px;overflow:auto;padding-bottom:3px}.day{min-height:205px;padding:10px 7px;border:1px solid var(--border);border-radius:11px;background:var(--bg-control);cursor:pointer;transition:.15s}.day:hover,.day.selected{border-color:var(--border-strong);background:rgba(139,92,246,.07)}.day-name{font-size:10px;color:var(--muted);text-transform:uppercase}.day-num{font-size:18px;font-weight:650;margin:2px 0 10px}.chip{display:block;width:100%;border:0;border-left:3px solid var(--chip);border-radius:8px;background:color-mix(in srgb,var(--chip) 10%,var(--bg-raised));color:#dbe4f1;text-align:left;padding:7px;margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;font-size:10px}.chip:hover{filter:brightness(1.18)}
.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.metric{padding:9px;border-radius:10px;background:var(--bg-control)}.metric span{display:block;color:var(--muted);font-size:10px}.metric strong{font-size:17px}.chart-wrap{height:158px;margin-top:10px;position:relative}.chart-wrap svg{width:100%;height:100%;overflow:visible}.gridline{stroke:rgba(148,163,184,.1);stroke-width:1}.chart-area{fill:url(#chartFill)}.chart-line{fill:none;stroke:var(--violet-light);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:var(--cyan);stroke:#0e1322;stroke-width:3}.chart-label{font-size:9px;fill:var(--muted)}
.table-list{display:grid}.list-row{min-height:58px;display:flex;align-items:center;gap:11px;border-top:1px solid var(--border);padding:8px 0;cursor:pointer}.list-row:first-child{border-top:0}.list-row:hover{background:linear-gradient(90deg,transparent,var(--hover),transparent)}.thumb{width:40px;height:40px;border-radius:10px;background:linear-gradient(145deg,#282251,#15485b);display:grid;place-items:center;color:#c4b5fd;flex:0 0 auto}.row-main{min-width:0;flex:1}.row-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:11px;color:var(--muted);margin-top:2px}.status-pill{padding:4px 8px;font-size:10px;border:1px solid var(--border);color:#cbd5e1}.status-pill.success{color:#7eeac7;border-color:rgba(52,211,153,.2);background:rgba(52,211,153,.07)}.status-pill.warning{color:#fbd678;border-color:rgba(251,191,36,.2);background:rgba(251,191,36,.07)}.status-pill.danger{color:#fda4af;border-color:rgba(251,113,133,.2);background:rgba(251,113,133,.07)}.status-pill.info{color:#c4b5fd;border-color:rgba(167,139,250,.2);background:rgba(139,92,246,.08)}.job-progress{width:92px}.job-progress .bar{margin:4px 0 0}.job-actions{display:flex;gap:5px}.empty{padding:30px 12px;text-align:center;color:var(--muted)}
.toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar .control{width:auto;min-width:180px}.data-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel)}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}.data-table th{font-size:11px;color:var(--muted);font-weight:600;background:var(--bg-control);position:sticky;top:0}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:var(--hover)}.data-table td{vertical-align:middle}.truncate{max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.channel-card{padding:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel)}.channel-card-head{display:flex;justify-content:space-between;gap:10px}.channel-avatar{width:50px;height:50px;border-radius:15px;background:linear-gradient(145deg,#3b2676,#0e7490);display:grid;place-items:center;font-size:20px;font-weight:750}.channel-card h3{margin:14px 0 2px}.channel-card p{margin:0;color:var(--secondary)}.channel-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0}.channel-stats div{padding:9px;background:var(--bg-control);border-radius:9px}.channel-stats span,.channel-stats strong{display:block}.channel-stats span{font-size:10px;color:var(--muted)}
.steps{display:flex;gap:8px;margin-bottom:18px}.step{height:5px;flex:1;border-radius:999px;background:#222a3c}.step.active{background:linear-gradient(90deg,var(--violet),var(--cyan))}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1/-1}.drop-zone{min-height:170px;border:1px dashed rgba(167,139,250,.4);border-radius:14px;background:rgba(139,92,246,.04);display:grid;place-content:center;text-align:center;padding:24px;cursor:pointer}.drop-zone:hover,.drop-zone.dragging{border-color:var(--cyan);background:rgba(34,211,238,.05)}.drop-zone strong{font-size:16px}.drop-zone span{display:block;color:var(--muted);font-size:12px;margin-top:5px}.file-selected{color:var(--teal)!important}.callout{padding:13px;border:1px solid rgba(251,191,36,.2);border-radius:10px;background:rgba(251,191,36,.055);color:#e9d69a}.settings-layout{display:grid;grid-template-columns:260px 1fr;gap:12px}.settings-nav,.settings-main{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-panel);padding:13px}.settings-tab{width:100%;border:0;border-radius:9px;background:transparent;color:var(--secondary);text-align:left;padding:11px;cursor:pointer}.settings-tab.active,.settings-tab:hover{background:var(--hover);color:var(--text)}.settings-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;border-radius:999px;background:rgba(251,191,36,.14);color:#fbd678;font-size:10px}.code{font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;background:#070b13;border:1px solid var(--border);padding:12px;border-radius:10px;color:#a5b4fc;overflow:auto}.skeleton{border-radius:8px;background:linear-gradient(90deg,#11182a 25%,#192139 50%,#11182a 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}
.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;background:rgba(2,4,9,.72);backdrop-filter:blur(3px);z-index:90;opacity:0;animation:fadeIn .16s forwards}.modal{width:min(650px,calc(100% - 30px));max-height:calc(100vh - 40px);overflow:auto;position:absolute;left:50%;top:50%;transform:translate(-50%,-48%);border:1px solid var(--border);border-radius:18px;background:var(--bg-panel);box-shadow:0 30px 100px rgba(0,0,0,.6);padding:22px;animation:modalIn .22s cubic-bezier(.16,1,.3,1) forwards}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin:0;font-size:20px}.modal-head p{margin:3px 0 0;color:var(--secondary)}.drawer{position:absolute;right:0;top:0;height:100%;width:min(640px,100%);background:var(--bg-panel);border-left:1px solid var(--border);box-shadow:-25px 0 80px rgba(0,0,0,.45);padding:22px;overflow:auto;transform:translateX(100%);animation:drawerIn .24s cubic-bezier(.16,1,.3,1) forwards}.drawer-section{margin-top:18px}.drawer-section h3{font-size:14px;color:#dbe4f1}.script-box{white-space:pre-wrap;padding:15px;background:var(--bg-control);border:1px solid var(--border);border-radius:12px;color:#cbd5e1;line-height:1.75}.toast-root{position:fixed;right:20px;bottom:20px;z-index:120;display:grid;gap:9px}.toast{width:min(360px,calc(100vw - 30px));padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#151c2d;box-shadow:0 16px 44px rgba(0,0,0,.42);animation:toastIn .2s cubic-bezier(.16,1,.3,1)}.toast.success{border-color:rgba(52,211,153,.28)}.toast.error{border-color:rgba(251,113,133,.35)}
@keyframes pulse{50%{opacity:.55;transform:scale(.9)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes float{50%{transform:translateY(-5px)}}@keyframes fadeIn{to{opacity:1}}@keyframes modalIn{to{transform:translate(-50%,-50%)}}@keyframes drawerIn{to{transform:translateX(0)}}@keyframes toastIn{from{opacity:0;transform:translateY(12px)}}
@media(max-width:1180px){.app-shell{grid-template-columns:72px minmax(0,1fr)}.sidebar{width:72px;padding-inline:9px}.brand{padding:0;justify-content:center}.brand-copy,.nav-label,.usage,.user-mini-meta{display:none}.nav-item{padding:0;justify-content:center}.main{grid-column:2}.middle-grid,.bottom-grid{grid-template-columns:1fr}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){.topbar-title .live-badge{display:none}.workspace-select{max-width:145px}.content{padding-inline:18px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-layout{grid-template-columns:210px 1fr}}
@media(max-width:860px){.login-shell{display:block;min-height:100svh}.login-hero{display:none}.login-panel-wrap{min-height:100svh;border:0;padding:20px;place-items:center}.login-card{width:min(470px,100%)}}
@media(max-width:760px){.login-shell{display:block;min-height:100svh}.login-hero{display:none}.login-panel-wrap{min-height:100svh;border:0;padding:20px;place-items:center}.login-card{width:min(470px,100%)}.app-shell{display:block}.sidebar{transform:translateX(-100%);width:min(280px,86vw);padding-inline:14px;transition:.2s;box-shadow:24px 0 60px rgba(0,0,0,.45)}.sidebar.open{transform:translateX(0)}.brand{justify-content:flex-start;padding:0 8px}.brand-copy,.nav-label,.usage,.user-mini-meta{display:block}.nav-item{justify-content:flex-start;padding:0 13px}.main{width:100%}.menu-toggle{display:grid}.topbar{padding:0 12px}.topbar-title strong,.live-badge,.workspace-select{display:none}.top-actions{gap:6px}.channel-select{min-width:140px;max-width:45vw}.content{padding:14px 12px 24px}.page-head{align-items:flex-start;flex-direction:column}.page-head>div:last-child{width:100%;display:flex;flex-wrap:wrap}.page-head>div:last-child .btn{flex:1;min-width:145px}.page-head h1{font-size:22px}.hero-action{display:block}.hero-action .btn{width:100%;margin-top:14px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-grid,.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.settings-layout{grid-template-columns:1fr}.settings-nav{display:flex;overflow:auto;scrollbar-width:thin}.settings-tab{white-space:nowrap;width:auto;flex:0 0 auto}.job-progress{display:none}.panel{padding:14px}.modal{padding:18px;max-height:calc(100svh - 20px)}.drawer{padding:18px}.data-table{min-width:680px}.pipeline{grid-template-columns:repeat(7,100px)}}
@media(max-width:560px){.login-panel-wrap{padding:12px}.login-card{padding:22px;border-radius:16px}.login-card h2{font-size:23px}.metric-row{grid-template-columns:1fr}.page-head>div:last-child{display:grid;grid-template-columns:1fr}.page-head>div:last-child .btn{width:100%}.kpi-grid{grid-template-columns:1fr}.channel-stats{grid-template-columns:1fr}.job-actions{flex-wrap:wrap}.job-actions .btn{flex:1}.toolbar .control{width:100%;min-width:0}.top-actions .icon-btn{display:none}.channel-select{min-width:135px;max-width:58vw}.hero-action h2{font-size:19px}.hero-action{padding:16px}.panel-head{align-items:flex-start;flex-wrap:wrap}.toast-root{left:10px;right:10px;bottom:10px}.toast{width:100%}}
@media(max-width:360px){.topbar{padding-inline:8px}.channel-select{min-width:118px;max-width:54vw}.content{padding-inline:8px}.login-card{padding:18px}.kpi-value{font-size:27px}.modal,.drawer{padding:14px}.btn{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:focus-visible{outline:0;box-shadow:0 0 0 3px rgba(167,139,250,.24)!important}
.workflow-card{padding:16px;margin:12px 0;border:1px solid var(--border);border-radius:16px;background:rgba(7,11,22,.55)}.workflow-card.active{border-color:rgba(34,211,238,.35)}.workflow-card.done{border-color:rgba(52,211,153,.3)}.workflow-head{display:flex;gap:11px;align-items:flex-start;margin-bottom:14px}.workflow-head>span{display:grid;place-items:center;min-width:30px;height:30px;border-radius:10px;background:rgba(34,211,238,.12);color:var(--cyan);font-weight:800}.workflow-head h3{margin:1px 0 3px}.workflow-head p{margin:0;color:var(--secondary);font-size:12px}.script-editor{min-height:220px;line-height:1.7}.scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.scene-card{padding:10px;border:1px solid var(--border);border-radius:13px;background:rgba(9,14,27,.7)}.scene-card p{font-size:11px;color:var(--secondary);line-height:1.5;min-height:34px}.scene-card input[type=file]{max-width:100%;font-size:10px;margin:8px 0}.scene-preview{aspect-ratio:9/16;max-height:250px;display:grid;place-items:center;border-radius:9px;overflow:hidden;background:#050810;margin-bottom:8px;color:var(--secondary)}.scene-preview img{width:100%;height:100%;object-fit:cover}.scene-preview span{display:grid;text-align:center}.scene-preview small{margin-top:5px}.video-preview{width:100%;max-height:520px;border-radius:14px;background:#000;margin:10px 0}.qa-summary{display:flex;justify-content:space-between;align-items:center;margin:10px 0}.callout.danger{border-color:rgba(251,113,133,.35);color:#fda4af;margin-bottom:12px}
.prompt-label{display:block;margin:9px 0 5px;color:var(--cyan);font-size:11px;font-weight:700}.prompt-box{box-sizing:border-box;width:100%;resize:vertical;border:1px solid var(--border);border-radius:9px;background:#070b16;color:var(--text);padding:9px;font:10px/1.5 inherit}.negative-prompt{display:block;margin-top:5px;color:var(--secondary);line-height:1.4}.hybrid-guide{margin-bottom:10px}.manual-fallback{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.manual-fallback summary{cursor:pointer;color:var(--secondary);font-size:12px;margin-bottom:10px}
.prompt-actions{margin-bottom:12px;flex-wrap:wrap}.preflight-panel{margin:10px 0 14px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg-control)}.preflight-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.preflight-head small,.worker-line small{display:block;margin-top:3px;color:var(--muted)}.preflight-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0}.preflight-checks>div{display:flex;gap:7px;padding:7px;border-radius:8px;background:rgba(5,8,16,.4)}.preflight-checks>div>span{font-weight:800}.preflight-checks .pass>span{color:var(--success)}.preflight-checks .warning>span{color:var(--warning)}.preflight-checks .fail>span{color:var(--danger)}.preflight-checks strong,.preflight-checks small{display:block}.preflight-checks strong{font-size:11px}.preflight-checks small{color:var(--muted);font-size:9px}.worker-line{font-size:11px;color:var(--secondary)}.bulk-image-list{display:grid;gap:8px;margin:12px 0;max-height:48vh;overflow:auto}.bulk-image-row{display:grid;grid-template-columns:58px minmax(120px,1fr) minmax(145px,190px) 34px;gap:9px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--bg-control)}.bulk-image-row.invalid{border-color:rgba(251,113,133,.38)}.bulk-image-row img{width:58px;height:76px;object-fit:cover;border-radius:7px;background:#050810}.bulk-image-row strong,.bulk-image-row small{display:block;overflow:hidden;text-overflow:ellipsis}.bulk-image-row strong{white-space:nowrap}.bulk-image-row small{color:var(--muted);font-size:10px}.bulk-image-row .control{min-width:0}.bulk-confirm-low{display:block;margin:10px 0;color:var(--secondary);font-size:11px}
@media(max-width:560px){.scene-grid{grid-template-columns:1fr}.workflow-card{padding:12px}.scene-preview{max-height:360px}}
.qa-details{margin:10px 0;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-control)}.qa-details summary{cursor:pointer;color:var(--secondary)}.qa-details>small{display:block;margin-top:8px;color:var(--muted);word-break:break-word}
@media(max-width:620px){.preflight-checks{grid-template-columns:1fr}.bulk-image-row{grid-template-columns:50px 1fr 34px}.bulk-image-row img{width:50px;height:66px}.bulk-image-row .control{grid-column:2/4}.prompt-actions .btn{width:100%}}
.metric-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
@media(max-width:560px){.metric-row{grid-template-columns:1fr}}
.analytics-range-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.analytics-range-control>select{width:auto;min-width:130px}.custom-range{display:flex;align-items:center;gap:7px}.custom-range.hidden{display:none}.custom-range .control{width:150px}.custom-range span{color:var(--muted);font-size:12px}.analytics-coverage{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-5px 0 12px;padding:9px 12px;border:1px solid rgba(34,211,238,.16);border-radius:10px;background:rgba(34,211,238,.045);color:var(--secondary);font-size:11px}.analytics-coverage strong{color:var(--text)}.provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.provider-card{padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--bg-control)}.provider-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.provider-card-head>div{display:flex;align-items:center;gap:10px}.provider-card h3{margin:0}.provider-logo{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;font-weight:800}.provider-logo.gemini{background:linear-gradient(140deg,rgba(59,130,246,.2),rgba(168,85,247,.2));color:#c4b5fd}.provider-logo.openai{background:rgba(52,211,153,.12);color:#6ee7b7}.provider-card dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.provider-card dl div{padding:9px;border-radius:9px;background:rgba(5,8,16,.45)}.provider-card dt{font-size:10px;color:var(--muted)}.provider-card dd{margin:3px 0 0;font-size:12px;word-break:break-word}.provider-switch{display:grid;grid-template-columns:1fr 1fr;margin-bottom:16px;padding:3px;border:1px solid var(--border);border-radius:11px;background:var(--bg-control)}.provider-switch button{min-height:39px;border:0;border-radius:8px;background:transparent;color:var(--secondary);cursor:pointer}.provider-switch button.active{background:linear-gradient(135deg,var(--violet),#0891b2);color:white}.field-hint{color:var(--muted);font-size:11px}
@media(max-width:760px){.analytics-range-control,.custom-range{width:100%}.analytics-range-control>select,.custom-range .control{width:100%}.custom-range{display:grid;grid-template-columns:1fr auto 1fr}.custom-range .btn{grid-column:1/-1}.provider-grid{grid-template-columns:1fr}}
.auto-production{border-color:rgba(34,211,238,.2);background:linear-gradient(145deg,rgba(14,19,34,.98),rgba(76,29,149,.08))}.auto-steps{display:flex;gap:7px;overflow:auto;padding:3px 0 10px}.auto-steps span{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:7px 9px;border:1px solid var(--border);border-radius:999px;color:var(--secondary);font-size:10px;background:var(--bg-control)}.auto-steps b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:rgba(139,92,246,.16);color:var(--violet-light)}.readiness-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.readiness-grid>div{padding:10px;border-radius:10px;background:var(--bg-control)}.readiness-grid span,.readiness-grid strong{display:block}.readiness-grid span{font-size:10px;color:var(--muted)}.readiness-grid strong{margin-top:4px;font-size:13px}.readiness-grid .ready{color:var(--success)}.readiness-grid .missing{color:var(--warning)}.auto-topic-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin:15px 0 9px}.auto-topic-head h3,.auto-runs h3{margin:0}.auto-topic-head p{margin:2px 0 0;color:var(--muted);font-size:11px}.auto-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:300px;overflow:auto;margin-bottom:10px}.auto-topic-list label{display:flex;gap:9px;align-items:flex-start;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--bg-control);cursor:pointer}.auto-topic-list label:hover{border-color:var(--border-strong)}.auto-topic-list input{margin-top:3px;accent-color:var(--violet)}.auto-topic-list span,.auto-topic-list small{display:block;min-width:0}.auto-topic-list strong{display:block;font-size:12px}.auto-topic-list small{margin-top:3px;color:var(--muted);font-size:10px}.auto-runs{margin-top:17px}.auto-runs h3{margin-bottom:8px}.auto-runs .list-row{width:100%;border-left:0;border-right:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
@media(max-width:960px){.readiness-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.readiness-grid,.auto-topic-list{grid-template-columns:1fr}.auto-steps{margin-inline:-4px}}
