:root{--brand-50:#fefce8;--brand-100:#fef9c3;--brand-200:#fef08a;--brand-300:#fde047;--brand-400:#facc15;--brand-500:#eab308;--brand-600:#ca8a04;--brand-700:#a16207;--brand-800:#854d0e;--brand-900:#713f12;--brand:var(--brand-400);--brand-text:var(--brand-700);--surface-50:#fafaf8;--surface-100:#f4f3ef;--surface-200:#e8e6df;--surface-300:#d6d3ca;--surface-400:#a3a099;--surface-500:#726f6a;--surface-600:#57544f;--surface-700:#403e3a;--surface-800:#292826;--surface-900:#1a1917;--surface-950:#0d0c0b;--paper:var(--surface-50);--surface:#fff;--muted:var(--surface-100);--border:var(--surface-200);--border-strong:var(--surface-300);--ink:var(--surface-900);--ink-soft:var(--surface-500);--ink-faint:var(--surface-400);--ring:var(--brand-400);--status-queue:var(--surface-400);--status-pending:#3b82f6;--status-generating:#f97316;--status-draft:var(--surface-500);--status-scheduled:#8b5cf6;--status-published:#22c55e;--status-failed:#ef4444;--status-trash:var(--surface-400);--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--radius-control:.5rem;--radius-card:1rem;--radius-pill:9999px;--radius:var(--radius-card);--radius-sm:var(--radius-control);--shadow-card:0 1px 2px #29251e0a,0 1px 3px #29251e0d;--shadow-raised:0 2px 6px #29251e0f,0 10px 24px #29251e17;--shadow-overlay:0 6px 16px #29251e1a,0 20px 48px #29251e2e;--gradient-brand:linear-gradient(135deg,#fde047 0%,#facc15 48%,#f0a91c 100%);--gradient-brand-hover:linear-gradient(135deg,#facc15 0%,#f5b81a 48%,#e59808 100%);--rail-collapsed:64px;--rail-expanded:224px;--topbar-height:56px;--ease-spring:cubic-bezier(.16,1,.3,1);--font-inter:system-ui,sans-serif;--font-jakarta:var(--font-inter);--font-mono:ui-monospace,monospace;--topbar-bg:#fafaf8bf;--backdrop:#0d0c0b66;--veil:#ffffff80;--paper-veil:#fafaf8b3;--shimmer:#ffffffa6;--amber-chip-bg:#fef3c7;--amber-chip-text:#a16207;--knob:#fff}html[data-theme=dark]{--surface-50:#141311;--surface-100:#1d1b18;--surface-200:#2b2823;--surface-300:#3b372f;--surface-400:#6f6b62;--surface-500:#98948a;--surface-600:#b4afa5;--surface-700:#cdc8be;--surface-800:#e3ded4;--surface-900:#f3efe7;--paper:#141311;--surface:#1c1a17;--muted:var(--surface-100);--border:var(--surface-200);--border-strong:var(--surface-300);--ink:var(--surface-900);--ink-soft:var(--surface-500);--ink-faint:var(--surface-400);--brand-text:var(--brand-400);--shadow-card:0 1px 2px #0006,0 1px 3px #0000004d;--shadow-raised:0 2px 6px #00000073,0 10px 24px #0006;--shadow-overlay:0 6px 16px #00000080,0 24px 56px #0000008c;--topbar-bg:#141311bf;--backdrop:#0009;--veil:#ffffff0a;--paper-veil:#141311b3;--shimmer:#ffffff12;--amber-chip-bg:#facc1524;--amber-chip-text:var(--brand-400);--knob:#f3efe7}html[data-theme=dark] ::selection{background:var(--brand-800);color:var(--surface-900)}*{box-sizing:border-box;border-color:var(--border);margin:0;padding:0}html,body{height:100%;font-family:var(--font-inter),system-ui,sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-jakarta),var(--font-inter),system-ui,sans-serif;letter-spacing:-.02em;color:var(--ink);font-weight:700}a{color:inherit;text-decoration:none}::selection{background:var(--brand-200);color:var(--surface-900)}.focus-ring:focus-visible,.btn:focus-visible,.tab:focus-visible,.list-row:focus-visible,.icon-btn:focus-visible{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--brand);outline:none}.app-layout{background:var(--paper);height:100vh;display:flex;overflow:hidden}.sidebar{z-index:50;width:var(--rail-collapsed);background:var(--paper);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:12px 10px;transition:width .18s ease-out;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar:hover,.sidebar:focus-within{width:var(--rail-expanded);box-shadow:var(--shadow-raised)}.rail-pinned .sidebar{width:var(--rail-expanded);box-shadow:none}.rail-pinned .app-main-col{margin-left:var(--rail-expanded)}.rail-pinned .logo-word,.rail-pinned .nav-label,.rail-pinned .rail-btn .nav-label{opacity:1!important}.sidebar-logo{height:var(--topbar-height);align-items:center;margin-bottom:8px;padding:0 6px;display:flex;overflow:hidden}.sidebar-logo img{flex-shrink:0}.sidebar-logo .logo-mark{width:34px;height:34px;margin-left:4px}.sidebar-logo .logo-word{opacity:0;width:auto;max-width:none;height:22px;transition:opacity .16s var(--ease-spring);margin-left:10px}.sidebar:hover .logo-word,.sidebar:focus-within .logo-word{opacity:1}.sidebar-divider{background:var(--border);width:32px;height:1px;margin:4px 6px 8px}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.sidebar-nav a{border-radius:var(--radius-control);height:44px;color:var(--surface-500);font-family:var(--font-jakarta),var(--font-inter),sans-serif;white-space:nowrap;align-items:center;gap:12px;padding:0 10px;font-size:14px;font-weight:500;transition:background .16s,color .16s,transform .12s;display:flex;position:relative}.sidebar-nav a:hover{background:var(--surface-100);color:var(--surface-900)}.sidebar-nav a:active{transform:scale(.98)}.sidebar-nav a .nav-icon{flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.sidebar-nav a .nav-icon svg{width:20px;height:20px}.sidebar-nav a .nav-label{opacity:0;transition:opacity .14s ease-out}.sidebar:hover .nav-label,.sidebar:focus-within .nav-label{opacity:1}.sidebar-nav a.active{background:var(--surface-900);color:var(--surface-50);box-shadow:var(--shadow-card)}.sidebar-nav a.active:before{content:"";border-radius:var(--radius-pill);background:var(--brand);width:3px;height:20px;position:absolute;top:50%;left:-10px;transform:translateY(-50%)}.sidebar-footer{margin-top:auto}.app-main-col{min-width:0;margin-left:var(--rail-collapsed);flex-direction:column;flex:1;height:100vh;transition:margin-left .18s ease-out;display:flex;overflow:hidden}.topbar{z-index:30;height:var(--topbar-height);border-bottom:1px solid var(--border);background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);flex-shrink:0;align-items:center;gap:12px;padding:0 20px;display:flex;position:sticky;top:0}.topbar-eyebrow{font-family:var(--font-mono),monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--surface-500);font-size:11px}.main-content{background:var(--paper);flex:1;padding:24px;overflow-y:auto}@media (min-width:640px){.main-content{padding:24px}}@media (min-width:1024px){.main-content{padding:32px}}.rail-btn{border-radius:var(--radius-control);width:100%;height:44px;color:var(--surface-500);font-family:var(--font-jakarta),var(--font-inter),sans-serif;white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;padding:0 10px;font-size:14px;font-weight:500;transition:background .16s,color .16s;display:flex}.rail-btn:hover{color:var(--error);background:#ef444414}.rail-btn .nav-icon{flex-shrink:0;place-items:center;width:22px;height:22px;display:grid}.rail-btn .nav-icon svg{width:20px;height:20px}.rail-btn .nav-label{opacity:0;transition:opacity .14s ease-out}.sidebar:hover .rail-btn .nav-label,.sidebar:focus-within .rail-btn .nav-label{opacity:1}.page-header{margin-bottom:28px}.page-header h1{color:var(--ink);font-size:26px;font-weight:800}.page-header p{color:var(--surface-500);margin-top:6px;font-size:14px}.section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.section-header-title{align-items:center;gap:10px;display:flex}.section-header-title h2{font-family:var(--font-jakarta),var(--font-inter),sans-serif;color:var(--ink);font-size:16px;font-weight:600}.icon-tile{border-radius:var(--radius-control);width:28px;height:28px;color:var(--brand-text);background:#facc1526;flex-shrink:0;place-items:center;display:grid}.icon-tile svg{width:16px;height:16px}.btn{border-radius:var(--radius-control);height:40px;font-family:var(--font-jakarta),var(--font-inter),sans-serif;white-space:nowrap;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:600;line-height:1;transition:background .16s,box-shadow .16s,color .16s,border-color .16s,transform .12s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{pointer-events:none;opacity:.5}.btn-primary{background:var(--gradient-brand);color:var(--surface-950);box-shadow:var(--shadow-card)}.btn-primary:hover{background:var(--gradient-brand-hover);box-shadow:var(--shadow-raised)}.btn-secondary{background:var(--surface-100);color:var(--surface-900)}.btn-secondary:hover{background:var(--surface-200)}.btn-outline{background:var(--surface);color:var(--surface-900);border-color:var(--surface-300)}.btn-outline:hover{background:var(--surface-100);border-color:var(--surface-400)}.btn-ghost{color:var(--surface-700);background:0 0}.btn-ghost:hover{background:var(--surface-100);color:var(--surface-900)}.btn-danger{background:var(--error);color:#fff;box-shadow:var(--shadow-card)}.btn-danger:hover{background:#dc2626}.btn-success{background:var(--success);color:#fff;box-shadow:var(--shadow-card)}.btn-success:hover{background:#16a34a}.btn-sm{height:32px;padding:0 12px;font-size:12px}.btn-lg{height:48px;padding:0 24px;font-size:15px}.btn-icon,.icon-btn{border-radius:var(--radius-control);width:40px;height:40px;color:var(--surface-700);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;transition:background .16s,color .16s;display:inline-grid}.icon-btn:hover{background:var(--surface-100);color:var(--surface-900)}.btn-icon.btn-sm,.icon-btn.btn-sm{width:32px;height:32px}.btn .spinner{border-width:2px;width:16px;height:16px}.form-group{margin-bottom:18px}.form-group label,.form-label{color:var(--surface-700);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-hint{color:var(--surface-500);margin-top:6px;font-size:12px}.form-input,input[type=text].form-input,input[type=password].form-input,input[type=email].form-input,input[type=number].form-input,input[type=time].form-input,input[type=datetime-local].form-input,textarea.form-input,select.form-input{background:var(--surface);border:1px solid var(--surface-300);border-radius:var(--radius-control);width:100%;height:40px;color:var(--surface-900);font-family:var(--font-inter),system-ui,sans-serif;box-shadow:var(--shadow-card);padding:0 12px;font-size:14px;transition:border-color .16s,box-shadow .16s}.form-input:hover{border-color:var(--surface-400)}.form-input::placeholder{color:var(--surface-500)}.form-input:focus,.form-input:focus-visible{border-color:var(--brand);box-shadow:0 0 0 2px var(--paper),0 0 0 4px #facc1599;outline:none}.form-input:disabled{cursor:not-allowed;opacity:.5}textarea.form-input{resize:vertical;height:auto;min-height:120px;padding:10px 12px;line-height:1.55}select.form-input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23726f6a' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.checkbox{appearance:none;border:1px solid var(--surface-300);background:var(--surface);cursor:pointer;border-radius:5px;flex-shrink:0;place-items:center;width:18px;height:18px;transition:background .14s,border-color .14s;display:inline-grid}.checkbox:hover{border-color:var(--surface-400)}.checkbox:checked{background:var(--brand);border-color:var(--brand)}.checkbox:checked:after{content:"";background:var(--surface-950);clip-path:polygon(14% 44%,0 65%,40% 100%,100% 16%,82% 0,37% 68%);width:10px;height:10px}.checkbox:focus-visible{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--brand);outline:none}.toggle-switch{cursor:pointer;flex-shrink:0;width:42px;height:24px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background:var(--surface-300);border-radius:var(--radius-pill);transition:background .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:var(--knob);width:18px;height:18px;box-shadow:var(--shadow-card);transition:transform .2s var(--ease-spring);border-radius:50%;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:var(--brand)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.toggle-switch input:focus-visible+.toggle-slider{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--brand)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px}.card-interactive{transition:border-color .18s,box-shadow .18s,transform .18s}.card-interactive:hover{border-color:var(--surface-300);box-shadow:var(--shadow-raised);transform:translateY(-2px)}.card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-title{font-family:var(--font-jakarta),var(--font-inter),sans-serif;color:var(--ink);font-size:16px;font-weight:600}.card-subtitle{color:var(--surface-500);margin-top:2px;font-size:12px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:18px 20px}.stat-card .stat-icon{border-radius:var(--radius-control);width:32px;height:32px;color:var(--brand-text);background:#facc1526;place-items:center;margin-bottom:12px;display:grid}.stat-card .stat-icon svg{width:18px;height:18px}.stat-card .stat-value{font-family:var(--font-jakarta),var(--font-inter),sans-serif;color:var(--ink);font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1.1}.stat-card .stat-label{color:var(--surface-500);margin-top:4px;font-size:12px}.table-container{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.table-container.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--surface-500);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:var(--surface-50);padding:12px 16px;font-size:11px;font-weight:600}td{color:var(--surface-700);border-bottom:1px solid var(--border);padding:14px 16px;font-size:14px}tbody tr:last-child td{border-bottom:none}tbody tr{transition:background .14s}tbody tr:hover td{background:var(--surface-50)}td .title-text{color:var(--surface-900);font-weight:500}.list-row{text-align:left;width:100%;color:var(--surface-700);cursor:pointer;border-radius:var(--radius-control);background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;transition:background .14s,color .14s;display:flex}.list-row:hover{background:var(--surface-100);color:var(--surface-900)}.list-row.danger{color:var(--error)}.list-row.danger:hover{background:#ef44441a}.badge{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--surface-700);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge.badge-plain{background:var(--surface-100);border-color:#0000}.badge-dot,.status-dot{background:var(--surface-400);border-radius:50%;flex-shrink:0;width:7px;height:7px}.badge-queue .status-dot,.status-dot.queue{background:var(--status-queue)}.badge-pending .status-dot,.status-dot.pending{background:var(--status-pending)}.badge-generating .status-dot,.status-dot.generating{background:var(--status-generating)}.badge-draft .status-dot,.status-dot.draft{background:var(--status-draft)}.badge-scheduled .status-dot,.status-dot.scheduled{background:var(--status-scheduled)}.badge-published .status-dot,.status-dot.published{background:var(--status-published)}.badge-failed .status-dot,.status-dot.failed{background:var(--status-failed)}.badge-trash .status-dot,.status-dot.trash{background:var(--status-trash)}.badge-pending,.badge-generating,.badge-draft,.badge-scheduled,.badge-published,.badge-failed,.badge-queue,.badge-trash{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--surface-700);text-transform:none;letter-spacing:0;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge-pending:before,.badge-generating:before,.badge-draft:before,.badge-scheduled:before,.badge-published:before,.badge-failed:before,.badge-queue:before,.badge-trash:before{content:"";border-radius:50%;flex-shrink:0;width:7px;height:7px}.badge-queue:before{background:var(--status-queue)}.badge-pending:before{background:var(--status-pending)}.badge-generating:before{background:var(--status-generating)}.badge-draft:before{background:var(--status-draft)}.badge-scheduled:before{background:var(--status-scheduled)}.badge-published:before{background:var(--status-published)}.badge-failed:before{background:var(--status-failed)}.badge-trash:before{background:var(--status-trash)}.count-chip{border-radius:var(--radius-pill);background:var(--surface-100);color:var(--surface-600);align-items:center;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.pill-warning{border-radius:var(--radius-pill);background:var(--amber-chip-bg);color:var(--amber-chip-text);align-items:center;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.tab{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--surface-500);font-family:var(--font-inter),system-ui,sans-serif;cursor:pointer;align-items:center;gap:8px;padding:6px 14px;font-size:14px;font-weight:500;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.tab:hover{background:var(--surface-50);color:var(--surface-900)}.tab.active{border-color:var(--surface-300);background:var(--surface-100);color:var(--surface-900)}.tab .tab-dot{background:var(--brand);border-radius:50%;width:6px;height:6px}.modal-overlay{z-index:50;background:var(--backdrop);-webkit-backdrop-filter:blur(2px);justify-content:center;align-items:center;padding:16px;animation:.16s sl-fade;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);width:100%;max-width:560px;max-height:88vh;box-shadow:var(--shadow-overlay);animation:sl-dialog-in .2s var(--ease-spring);overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 24px;display:flex}.modal-header h2{font-family:var(--font-jakarta),var(--font-inter),sans-serif;letter-spacing:-.02em;color:var(--ink);font-size:18px;font-weight:700}.modal-header p{color:var(--surface-500);margin-top:4px;font-size:14px}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.modal-close{border-radius:var(--radius-control);width:32px;height:32px;color:var(--surface-500);cursor:pointer;opacity:.7;background:0 0;border:none;place-items:center;transition:opacity .14s,background .14s;display:grid}.modal-close:hover{opacity:1;background:var(--surface-100)}.menu-pop{background:var(--surface);border:1px solid var(--border);min-width:176px;box-shadow:var(--shadow-overlay);animation:sl-menu-pop .14s var(--ease-spring);transform-origin:top;border-radius:12px;padding:4px;overflow:hidden}.menu-label{text-transform:uppercase;letter-spacing:.06em;color:var(--surface-400);padding:6px 12px;font-size:11px;font-weight:600}.tooltip{border-radius:var(--radius-control);background:var(--surface-900);max-width:15rem;color:var(--surface-50);box-shadow:var(--shadow-overlay);padding:6px 10px;font-size:12px;font-weight:500;line-height:1.35}.toast-container{z-index:60;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);min-width:280px;max-width:380px;box-shadow:var(--shadow-overlay);color:var(--surface-800);animation:sl-toast-in .22s var(--ease-spring);align-items:center;gap:10px;padding:12px 16px;font-size:14px;display:flex}.toast:before{content:"";background:var(--surface-400);border-radius:50%;flex-shrink:0;width:8px;height:8px}.toast.success:before{background:var(--success)}.toast.error:before{background:var(--error)}.toast.warning:before{background:var(--warning)}.toast.info:before{background:var(--info)}.empty-state{text-align:center;border:1px dashed var(--surface-300);border-radius:var(--radius-card);background:var(--veil);flex-direction:column;justify-content:center;align-items:center;padding:56px 32px;display:flex}.empty-state-icon{width:48px;height:48px;color:var(--brand-text);box-shadow:var(--shadow-card);background:#facc1526;border-radius:50%;place-items:center;margin-bottom:20px;display:grid}.empty-state-icon svg{width:22px;height:22px}.empty-state h3{font-family:var(--font-jakarta),var(--font-inter),sans-serif;color:var(--surface-800);font-size:16px;font-weight:600}.empty-state p{max-width:24rem;color:var(--surface-600);margin-top:6px;font-size:14px}.empty-state .empty-state-action{margin-top:20px}.upload-area{border:1px dashed var(--surface-300);border-radius:var(--radius-card);background:var(--veil);text-align:center;cursor:pointer;padding:40px;transition:border-color .18s,background .18s}.upload-area:hover,.upload-area.drag-over{border-color:var(--brand);background:#facc150f}.upload-area .upload-icon{width:48px;height:48px;color:var(--brand-text);background:#facc1526;border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.upload-area .upload-text{color:var(--surface-900);font-size:15px;font-weight:600}.upload-area .upload-hint{color:var(--surface-500);margin-top:6px;font-size:13px}.spinner{border:2px solid var(--surface-200);border-top-color:var(--brand-500);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite sl-spin;display:inline-block}.spinner-lg{border-width:3px;width:32px;height:32px}.loading-overlay{z-index:10;background:var(--paper-veil);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--radius-card);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.skeleton{background:var(--surface-100);border-radius:var(--radius-control);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,transparent,var(--shimmer),transparent);animation:1.4s ease-in-out infinite sl-shimmer;position:absolute;inset:0;transform:translate(-100%)}.pagination{align-items:center;gap:6px;display:flex}.pagination button,.page-btn{border:1px solid var(--surface-300);background:var(--surface);border-radius:var(--radius-control);min-width:34px;height:34px;color:var(--surface-700);cursor:pointer;padding:0 8px;font-size:13px;font-weight:500;transition:background .14s,border-color .14s}.pagination button:hover,.page-btn:hover{background:var(--surface-100);border-color:var(--surface-400)}.pagination button.active,.page-btn.active{background:var(--surface-900);color:#fff;border-color:var(--surface-900)}.pagination button:disabled,.page-btn:disabled{opacity:.5;cursor:not-allowed}.platform-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.platform-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px;transition:border-color .18s,box-shadow .18s}.platform-card.enabled{border-color:var(--surface-300)}.platform-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.platform-name{align-items:center;gap:10px;display:flex}.platform-name .platform-icon{font-size:22px}.platform-name h3{color:var(--ink);font-size:15px;font-weight:600}.platform-status{color:var(--surface-500);align-items:center;gap:6px;font-size:12px;display:flex}.platform-status.connected{color:var(--success)}.template-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.template-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden}.template-card:hover{border-color:var(--surface-300);box-shadow:var(--shadow-raised);transform:translateY(-2px)}.template-card.selected{border-color:var(--brand);box-shadow:0 0 0 2px #facc1566}.template-card .template-preview{aspect-ratio:1200/630;background:var(--surface-100);width:100%;position:relative}.template-card .template-info{padding:16px}.template-card .template-info h3{color:var(--ink);font-size:14px;font-weight:600}.template-card .template-info p{color:var(--surface-500);margin-top:4px;font-size:12px}.grid-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.items-center{align-items:center}.gap-sm{gap:8px}.gap-md{gap:16px}.mt-md{margin-top:16px}.mb-md{margin-bottom:16px}.text-muted{color:var(--surface-500)}.text-ink{color:var(--ink)}.mono{font-family:var(--font-mono),monospace}.tabular{font-variant-numeric:tabular-nums}.hover-lift{transition:transform .18s,box-shadow .18s,border-color .18s}.hover-lift:hover{transform:translateY(-2px)}.press-scale{transition:transform .12s}.press-scale:active{transform:scale(.98)}.fade-up{animation:.26s both sl-fade-up}.page-fade{animation:.15s both sl-page-fade}.stagger>*{animation:.26s both sl-fade-up}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:30ms}.stagger>:nth-child(3){animation-delay:60ms}.stagger>:nth-child(4){animation-delay:90ms}.stagger>:nth-child(5){animation-delay:.12s}.stagger>:nth-child(6){animation-delay:.15s}.stagger>:nth-child(7){animation-delay:.18s}.stagger>:nth-child(8){animation-delay:.21s}.animate-pulse{animation:2s ease-in-out infinite sl-pulse}@keyframes sl-spin{to{transform:rotate(360deg)}}@keyframes sl-fade{0%{opacity:0}to{opacity:1}}@keyframes sl-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sl-page-fade{0%{opacity:0}to{opacity:1}}@keyframes sl-dialog-in{0%{opacity:0;transform:scale(.95)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes sl-menu-pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sl-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sl-shimmer{to{transform:translate(100%)}}@keyframes sl-pulse{0%,to{opacity:1}50%{opacity:.5}}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--surface-300)transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--surface-400)}@media (max-width:720px){.grid-2,.grid-3{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.main-content{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.sidebar,.hover-lift,.press-scale,.btn,.card-interactive{transition:none!important}.hover-lift:hover,.card-interactive:hover{transform:none!important}}.theme-dark-only{display:none!important}html[data-theme=dark] .theme-dark-only{display:inline-block!important}html[data-theme=dark] .theme-light-only{display:none!important}.theme-toggle{margin-left:auto}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.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:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_c15e96cb-module__0bjUvq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_c15e96cb-module__0bjUvq__variable{--font-inter:"Inter","Inter Fallback"}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.8624a701.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.8e66b869.woff2)format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.f6ed4c33.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.1bbdebe6.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.8624a701.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.8e66b869.woff2)format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.f6ed4c33.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.1bbdebe6.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.8624a701.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.8e66b869.woff2)format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.f6ed4c33.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.1bbdebe6.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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.8624a701.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e629b5bc06499d58-s.8e66b869.woff2)format("woff2");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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1a099d89ee94ee96-s.f6ed4c33.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:Plus Jakarta Sans;font-style:normal;font-weight:800;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.1bbdebe6.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:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_ae9f63ae-module__MwMxEq__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_ae9f63ae-module__MwMxEq__variable{--font-jakarta:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.f2220059.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.f6f1950f.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.bd5f4d11.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.51c18f09.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.23358719.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:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.15008bfb.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 Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_dc177b0e-module__78ed6G__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_dc177b0e-module__78ed6G__variable{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}
