:root{font-family:Segoe UI,sans-serif;color:#172033;background:linear-gradient(180deg,#f4f1e8,#e7edf6);line-height:1.5;font-weight:400;--app-text: #172033;--app-bg: linear-gradient(180deg, #f4f1e8 0%, #e7edf6 100%);--sidebar-bg: #172033;--sidebar-text: #f8f5ee;--sidebar-muted: rgba(248, 245, 238, .76);--nav-button-bg: rgba(255, 255, 255, .1);--nav-button-active: #e17c41;--panel-bg: rgba(255, 255, 255, .88);--panel-border: rgba(23, 32, 51, .08);--panel-shadow: 0 14px 40px rgba(23, 32, 51, .08);--topbar-surface: #f4f1e8;--topbar-button-bg: rgba(255, 255, 255, .88);--topbar-button-text: #172033;--topbar-dropdown-bg: rgba(255, 255, 255, .96);--muted-text: #556176;--eyebrow: #9a5a2f;--error-text: #9f1d1d;--input-bg: #fff;--input-border: #cfd6e1;--secondary-bg: #f8f5ee;--secondary-text: #172033;--table-border: #e1e7f0;--stat-bg: #f8f5ee;--inner-card-bg: #f8f5ee;--approve-bg: #d9f0df;--approve-text: #1d5f2d;--reject-bg: #f6d9d9;--reject-text: #8f2626;--toast-error-bg: rgba(255, 235, 235, .96);--toast-error-border: rgba(197, 55, 55, .24);--toast-error-accent: #b42318;--toast-warn-bg: rgba(255, 245, 225, .96);--toast-warn-border: rgba(217, 119, 6, .24);--toast-warn-accent: #b45309;--toast-info-bg: rgba(232, 242, 255, .96);--toast-info-border: rgba(37, 99, 235, .22);--toast-info-accent: #1d4ed8;--toast-debug-bg: rgba(238, 240, 245, .96);--toast-debug-border: rgba(100, 116, 139, .22);--toast-debug-accent: #475569}:root[data-theme=dark]{color:#e5edf8;background:linear-gradient(180deg,#0f1623,#1b2332);--app-text: #e5edf8;--app-bg: linear-gradient(180deg, #0f1623 0%, #1b2332 100%);--sidebar-bg: #0b111b;--sidebar-text: #f5f7fb;--sidebar-muted: rgba(245, 247, 251, .72);--nav-button-bg: rgba(255, 255, 255, .08);--nav-button-active: #e17c41;--panel-bg: rgba(20, 29, 43, .9);--panel-border: rgba(180, 194, 214, .12);--panel-shadow: 0 18px 44px rgba(0, 0, 0, .28);--topbar-surface: #121a29;--topbar-button-bg: rgba(20, 29, 43, .94);--topbar-button-text: #e5edf8;--topbar-dropdown-bg: rgba(20, 29, 43, .98);--muted-text: #9eb0ca;--eyebrow: #d79b69;--error-text: #ff9a9a;--input-bg: #111927;--input-border: rgba(180, 194, 214, .18);--secondary-bg: #202b3e;--secondary-text: #f5f7fb;--table-border: rgba(180, 194, 214, .12);--stat-bg: #182234;--inner-card-bg: #182234;--approve-bg: #143823;--approve-text: #ffffff;--reject-bg: #411b1f;--reject-text: #ffffff;--toast-error-bg: rgba(79, 23, 23, .94);--toast-error-border: rgba(248, 113, 113, .2);--toast-error-accent: #fda4af;--toast-warn-bg: rgba(74, 42, 8, .94);--toast-warn-border: rgba(251, 191, 36, .2);--toast-warn-accent: #fbbf24;--toast-info-bg: rgba(18, 39, 77, .94);--toast-info-border: rgba(96, 165, 250, .2);--toast-info-accent: #93c5fd;--toast-debug-bg: rgba(36, 44, 60, .94);--toast-debug-border: rgba(148, 163, 184, .2);--toast-debug-accent: #cbd5e1}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--app-text);background:var(--app-bg)}button,textarea,input,select{font:inherit}#root{min-height:100vh}.app-shell{display:grid;grid-template-columns:280px 1fr;align-items:start;min-height:100vh}.sidebar{display:flex;flex-direction:column;justify-content:flex-start;position:sticky;top:0;align-self:start;height:100vh;overflow:hidden;padding:32px 24px;background:var(--sidebar-bg);color:var(--sidebar-text)}.sidebar-brand{display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center;position:sticky;top:0;z-index:2;background:var(--sidebar-bg);padding-bottom:20px}.sidebar-logo{display:block;width:100%;max-width:190px;height:auto}.sidebar h1{margin:0;font-size:1.65rem;line-height:1.1}.content{min-height:100vh;padding:0 32px 32px}.nav-list{display:flex;flex-direction:column;flex:1;min-height:0;gap:14px;margin:32px 0 0;overflow-y:auto;padding-bottom:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:20;margin:0 -32px 20px;min-height:72px;padding:16px 32px 18px;background:var(--topbar-surface);border-bottom:1px solid var(--panel-border);box-shadow:0 10px 24px #17203314}.topbar-spacer{flex:1}.topbar-user-menu{position:relative}.topbar-user-button{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--panel-border);border-radius:999px;padding:12px 16px;background:var(--topbar-button-bg);color:var(--topbar-button-text);cursor:pointer;box-shadow:0 12px 24px #1720330f}.topbar-user-chevron{transition:transform .18s ease}.topbar-user-chevron.open{transform:rotate(180deg)}.topbar-user-dropdown{position:absolute;top:calc(100% + 10px);right:0;z-index:10;width:min(320px,80vw);padding:16px;border:1px solid var(--panel-border);border-radius:18px;background:var(--topbar-dropdown-bg);box-shadow:0 18px 40px #17203324}.topbar-timezone-label{display:block;margin-bottom:8px;color:var(--muted-text);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}.topbar-user-dropdown select{width:100%}.topbar-logout-button{width:100%;margin-top:14px}.nav-group{display:flex;flex-direction:column;gap:8px}.nav-group-toggle{display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;color:var(--sidebar-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;padding:0 4px;cursor:pointer}.nav-group-items{display:flex;flex-direction:column;gap:10px}.nav-subgroup{display:flex;flex-direction:column;gap:8px;margin-top:2px}.nav-subgroup-toggle{display:flex;align-items:center;justify-content:space-between;margin-left:12px;padding:0 4px;border:0;background:transparent;color:var(--sidebar-muted);font-size:.76rem;font-weight:600;cursor:pointer}.nav-subgroup-items{display:flex;flex-direction:column;gap:10px}.nav-subgroup-items .nav-button{margin-left:20px}.nav-group-chevron{transition:transform .18s ease}.nav-group-chevron.collapsed{transform:rotate(-90deg)}.nav-button,.primary-button,.secondary-button,.danger-button{border:0;border-radius:14px;padding:12px 16px;cursor:pointer}.nav-button{background:var(--nav-button-bg);color:inherit;text-align:left;margin-left:8px}.nav-button.active{background:var(--nav-button-active);color:#fff}.primary-button{background:var(--sidebar-bg);color:#fff}.secondary-button{background:var(--secondary-bg);color:var(--secondary-text)}.secondary-button.is-active{box-shadow:inset 0 0 0 1px #fff4adbf;color:#fff4ad}.danger-button{background:#b43b3b;color:#fff}.panel,.login-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:24px;padding:24px;box-shadow:var(--panel-shadow)}.panel-header{margin-bottom:24px}.panel-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.panel-header-row-secondary{align-items:center;margin-top:8px}.panel-header-row-secondary .helper-text{margin:0}.panel-header-row-secondary .inline-actions{gap:8px}.dobble-library-page>.panel-header,.dobble-library-page>.prompt-settings-card,.dobble-library-page .table-toolbar,.dobble-library-page .filter-panel-body{position:static;top:auto}.dobble-library-page .filter-card{display:flex;align-items:center;justify-content:space-between;gap:20px}.dobble-library-page .filter-card h4{margin:0;white-space:nowrap}.dobble-library-page .filter-chip-group{flex-wrap:nowrap;justify-content:flex-end}.dobble-library-page .filter-card select{width:min(100%,360px)}.dobble-library-page .table-wrap{max-height:min(62vh,calc(100vh - 460px));overflow:auto}.dobble-library-page .table-wrap thead th{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--panel-bg) 98%,transparent);box-shadow:inset 0 -1px 0 var(--table-border)}.dobble-deck-types-page .table-wrap{max-height:min(62vh,calc(100vh - 460px));overflow:auto}.dobble-deck-types-page .table-wrap thead th{position:sticky;top:0;z-index:2;background:color-mix(in srgb,var(--panel-bg) 98%,transparent);box-shadow:inset 0 -1px 0 var(--table-border)}.timeline-card-header-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;margin-left:auto;flex-shrink:0;align-self:flex-end}.timeline-card-help-list{display:grid;gap:1px;font-size:.88rem;line-height:1.28}.timeline-card-intro{max-width:none;white-space:nowrap;font-size:.9rem;line-height:1.2;margin-bottom:2px}.timeline-card-help-steps{margin:1px 0 2px 18px;padding:0}.timeline-card-help-steps li{margin:0}.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--eyebrow)}.helper-text,.error-text{max-width:60ch}.helper-text{color:var(--muted-text)}.error-text{color:var(--error-text)}.table-detail-stack{display:grid;gap:.18rem;color:var(--muted-text);font-size:.92rem}.field{display:flex;flex-direction:column;gap:8px;margin:20px 0}.field span{color:var(--app-text)}.required-mark{color:var(--error-text)}textarea{width:100%;padding:12px;border:1px solid var(--input-border);border-radius:16px;resize:vertical;background:var(--input-bg);color:var(--app-text)}input,select{width:100%;padding:12px;border:1px solid var(--input-border);border-radius:16px;background:var(--input-bg);color:var(--app-text)}.admin-user-form{display:grid;gap:16px}.admin-user-form-grid{display:grid;grid-template-columns:1fr;gap:16px}.inline-actions{display:flex;flex-wrap:wrap;gap:12px}.panel-actions{display:flex;justify-content:flex-end;margin-bottom:20px}.table-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px}.table-toolbar-actions-button{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 18px;border:1px solid var(--input-border);border-radius:10px;background:color-mix(in srgb,var(--secondary-bg) 92%,transparent);color:var(--secondary-text);cursor:pointer}.table-toolbar-searchbar{display:grid;grid-template-columns:1fr auto auto;flex:1 1 540px;overflow:hidden;border:1px solid var(--table-border);border-radius:10px;background:var(--input-bg)}.table-toolbar-searchbar input{width:100%;border:0;border-radius:0;min-height:52px}.table-toolbar-searchbar input:focus{outline:none}.table-toolbar-search-button,.table-toolbar-clear-button{border:0;border-left:1px solid var(--table-border);background:color-mix(in srgb,var(--secondary-bg) 90%,transparent);color:var(--app-text);cursor:pointer}.table-toolbar-search-button{min-width:120px;padding:0 20px}.table-toolbar-clear-button{min-width:56px;font-size:1.6rem;line-height:1}.table-toolbar-filter{display:grid;gap:6px;min-width:160px}.table-toolbar-filter span{color:var(--muted-text);font-size:.85rem}.filter-panel{margin-bottom:20px;border:1px solid var(--table-border);border-radius:0 0 20px 20px;background:color-mix(in srgb,var(--panel-bg) 96%,transparent);overflow:hidden}.filter-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--table-border)}.filter-panel-header h3{margin:0}.filter-panel-toggle{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--input-border);border-radius:12px;padding:10px 14px;background:var(--secondary-bg);color:var(--secondary-text);cursor:pointer}.filter-panel-chevron{transition:transform .18s ease}.filter-panel-chevron.open{transform:rotate(180deg)}.filter-panel-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:20px}.filter-card{padding:20px;border:1px solid var(--table-border);border-radius:18px;background:color-mix(in srgb,var(--inner-card-bg) 92%,transparent)}.filter-card h4{margin:0 0 16px;font-size:.95rem}.filter-chip-group{display:flex;flex-wrap:wrap;gap:12px}.filter-chip{border:1px solid var(--input-border);border-radius:999px;padding:10px 18px;background:transparent;color:var(--app-text);cursor:pointer}.filter-chip.active{background:color-mix(in srgb,var(--secondary-bg) 90%,transparent);border-color:color-mix(in srgb,var(--nav-button-active) 40%,var(--input-border))}.timeline-admin-summary{margin-top:-6px}.timeline-admin-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;padding:20px}.timeline-admin-summary-card{display:grid;gap:6px;padding:18px;border:1px solid var(--table-border);border-radius:18px;background:color-mix(in srgb,var(--inner-card-bg) 92%,transparent)}.timeline-admin-summary-card span,.timeline-admin-summary-card small{color:var(--muted-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-toast{position:fixed;top:24px;right:24px;z-index:140;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:min(420px,100%);padding:14px 16px;border:1px solid var(--panel-border);border-radius:18px;background:#f8f5eee6;box-shadow:0 18px 40px #17203329;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}:root[data-theme=dark] .admin-toast{background:#141d2beb}.admin-toast-copy{display:grid;gap:4px}.admin-toast-copy strong{color:var(--app-text)}.admin-toast-copy span{color:var(--muted-text)}.admin-toast-close{border:0;background:transparent;color:var(--muted-text);font-size:1.4rem;line-height:1;cursor:pointer}.admin-toast-error{background:var(--toast-error-bg);border-color:var(--toast-error-border)}.admin-toast-error .admin-toast-copy strong,.admin-toast-error .admin-toast-close{color:var(--toast-error-accent)}.admin-toast-warn{background:var(--toast-warn-bg);border-color:var(--toast-warn-border)}.admin-toast-warn .admin-toast-copy strong,.admin-toast-warn .admin-toast-close{color:var(--toast-warn-accent)}.admin-toast-info{background:var(--toast-info-bg);border-color:var(--toast-info-border)}.admin-toast-info .admin-toast-copy strong,.admin-toast-info .admin-toast-close{color:var(--toast-info-accent)}.admin-toast-debug{background:var(--toast-debug-bg);border-color:var(--toast-debug-border)}.admin-toast-debug .admin-toast-copy strong,.admin-toast-debug .admin-toast-close{color:var(--toast-debug-accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:24px;background:#0f16238f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{width:min(920px,100%);max-height:min(90vh,920px);overflow:auto;padding:24px;border:1px solid var(--panel-border);border-radius:24px;background:var(--panel-bg);box-shadow:var(--panel-shadow)}.modal-card-compact{width:min(480px,100%)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.modal-header h3{margin:0}.modal-card .inline-actions,.modal-actions-right{justify-content:flex-end}.login-shell{display:grid;place-items:center;min-height:100vh;padding:24px}.login-card{width:min(680px,100%);text-align:center}.login-logo{display:block;width:100%;max-width:220px;height:auto;margin:0 auto 16px}.table-wrap{overflow-x:auto}.table-row-selectable{cursor:pointer}.table-row-selectable:hover td{background:#e17c4114}.table-row-selected td{background:#e17c4124}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid var(--table-border);text-align:left}.empty-state{padding:24px;border:1px dashed var(--input-border);border-radius:16px;color:var(--muted-text)}.action-row{display:flex;gap:8px}.dobble-workflow-grid{display:grid;gap:20px}.dobble-admin-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.85fr);gap:20px;align-items:start}.dobble-admin-detail-stack{display:grid;gap:20px}.dobble-admin-meta{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.dobble-admin-meta-item{padding:12px 14px;border:1px solid var(--table-border);border-radius:14px;background:var(--panel-bg)}.dobble-admin-meta-item strong{display:block;margin-bottom:4px}.dobble-admin-items-section{display:grid;gap:12px}.dobble-admin-inline-actions{display:flex;flex-wrap:wrap;gap:8px}.dobble-workflow-inline-form{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dobble-workflow-checkbox{display:flex;flex-direction:row;align-items:center;gap:8px}.dobble-workflow-checkbox input{width:auto}.dobble-workflow-list{display:grid;gap:12px}.dobble-workflow-list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--table-border);border-radius:14px;background:var(--panel-bg)}.pricing-settings-table{display:flex;flex-direction:column;gap:10px}.pricing-settings-head,.pricing-tier-row{display:grid;grid-template-columns:minmax(88px,120px) minmax(110px,1fr) minmax(110px,1fr) auto;gap:12px;align-items:center}.pricing-settings-head{color:var(--muted-text);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.prompt-settings-list{display:grid;gap:20px}.prompt-settings-card{padding:20px;border-radius:18px;background:var(--inner-card-bg);border:1px solid var(--table-border);color:var(--app-text)}.prompt-settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.prompt-settings-header h3{margin:0;text-transform:capitalize;color:var(--app-text)}.small-button{border:0;border-radius:10px;padding:8px 10px;cursor:pointer}.small-button.approve{background:var(--approve-bg);color:var(--approve-text)}.small-button.reject{background:var(--reject-bg);color:var(--reject-text)}.table-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 10px;border-radius:999px;font-size:.82rem;font-weight:700}.table-status-ready{background:#1468372e;color:#d4ffe0}.table-status-warn{background:#ac7a2438;color:#ffdba8}.table-status-muted{background:#8492ad2e;color:#d1dae8}.timeline-actions-menu-divider{height:1px;margin:6px 0;background:var(--table-border)}.download-link{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--eyebrow);text-decoration:underline;cursor:pointer}.download-link:hover{opacity:.86}.download-link:focus-visible{outline:2px solid var(--nav-button-active);outline-offset:4px;border-radius:6px}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px}.dashboard-stat-card{padding:18px;border-radius:18px;background:var(--stat-bg);border:1px solid var(--table-border)}.dashboard-stat-card-error .dashboard-stat-label,.dashboard-stat-card-error .dashboard-stat-value{color:var(--error-text)}.dashboard-stat-label{margin:0 0 8px;color:var(--muted-text);font-size:.9rem}.dashboard-stat-value{margin:0;font-size:2rem;font-weight:700;color:var(--app-text)}.dashboard-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboard-section h3{margin-top:0}.dashboard-list{display:flex;flex-direction:column;gap:10px}.dashboard-list-item{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:14px;background:var(--stat-bg);border:1px solid var(--table-border)}.timeline-options-list{display:flex;flex-direction:column;gap:16px}.timeline-option-card{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:16px;background:var(--stat-bg);border:1px solid var(--table-border)}.timeline-option-grid{display:grid;grid-template-columns:1.2fr 1.4fr .8fr auto;gap:12px;align-items:end}.timeline-option-active{display:inline-flex;gap:8px;align-items:center}.timeline-option-card textarea,.timeline-option-card input,.table-wrap textarea,.table-wrap input{width:100%}.timeline-option-active-cell{justify-content:center}.timeline-in-use-button{background:color-mix(in srgb,#7c5cff 18%,transparent);color:#d8cbff;border:1px solid color-mix(in srgb,#8d73ff 55%,var(--input-border))}.timeline-in-use-button:disabled{opacity:1;cursor:default}.timeline-option-modal{width:min(560px,calc(100vw - 32px));padding:20px}.timeline-option-modal-header-row{align-items:flex-start}.timeline-option-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%}.timeline-option-modal-toggle{display:inline-flex;align-items:center;gap:0;padding:4px;border:1px solid var(--table-border);border-radius:16px;background:color-mix(in srgb,var(--stat-bg) 82%,transparent);white-space:nowrap}.timeline-option-modal .admin-user-form,.timeline-option-modal .admin-user-form-grid{gap:12px}.timeline-option-modal .field{margin:12px 0}.timeline-metric-config-field{display:flex;flex-direction:column;gap:12px}.timeline-metric-mode-toggle{display:inline-flex;gap:8px;flex-wrap:wrap}.timeline-metric-mode-button{border:1px solid var(--table-border);border-radius:999px;padding:10px 14px;background:color-mix(in srgb,var(--surface-strong) 68%,transparent);color:var(--text-secondary);font:inherit;cursor:pointer}.timeline-metric-mode-button.active{background:color-mix(in srgb,#7c5cff 18%,transparent);border-color:color-mix(in srgb,#8d73ff 55%,var(--table-border));color:#ddd2ff}.timeline-metric-config-helper{margin:-4px 0 0}.timeline-metric-list{display:flex;flex-direction:column;gap:10px}.timeline-metric-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end}.timeline-metric-row .field{margin:0}.timeline-metric-row-remove,.timeline-metric-add-button{white-space:nowrap}.timeline-metric-capacity-field{max-width:220px}.timeline-metric-summary{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:1px solid var(--table-border);border-radius:16px;background:color-mix(in srgb,var(--surface-strong) 72%,transparent)}.timeline-metric-summary-lines{display:flex;flex-direction:column;gap:4px;color:var(--text-secondary)}.timeline-option-modal .timeline-option-checkbox-field{flex-direction:row;align-items:center;justify-content:space-between}.timeline-option-modal .timeline-option-checkbox-field span{margin:0}.timeline-shell-section{display:flex;flex-direction:column;gap:10px;margin-top:6px}.timeline-template-intro{display:flex;flex-direction:column;gap:4px}.timeline-template-generate-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;margin-top:4px}.timeline-shell-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.timeline-shell-upload-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.timeline-shell-preview{width:124px;height:176px;object-fit:contain;border-radius:10px;border:1px solid var(--table-border);background:color-mix(in srgb,var(--surface-2) 90%,transparent);padding:6px}.timeline-shell-preview-empty{display:grid;place-items:center;color:var(--muted-text);font-size:.84rem}.timeline-shell-preview-large{width:100%;max-width:320px;height:420px;justify-self:flex-start}.timeline-shell-preview-button{display:inline-flex;padding:0;border:0;background:transparent;cursor:zoom-in}.timeline-template-lightbox{width:min(900px,calc(100vw - 32px))}.timeline-template-lightbox-body{display:grid;place-items:center;padding:8px 0 4px}.timeline-template-lightbox-body img{display:block;max-width:100%;max-height:calc(100vh - 220px);object-fit:contain;border-radius:16px;border:1px solid var(--table-border);background:color-mix(in srgb,var(--surface-2) 92%,transparent)}.timeline-shell-upload-row input[type=file]{max-width:220px;font-size:.82rem}.timeline-preview-cell{display:grid;justify-items:center;gap:6px;min-width:124px}.timeline-preview-status{color:var(--muted-text);font-size:.82rem;text-align:center}.timeline-preview-status.is-ready{color:var(--secondary-text)}.timeline-option-actions{display:grid;justify-items:stretch;gap:8px}.timeline-option-actions .secondary-button,.timeline-option-actions .danger-button{min-width:96px;padding:8px 12px;border-radius:12px}.timeline-token-editor{font-family:SFMono-Regular,Consolas,Menlo,monospace;font-size:.88rem;line-height:1.45;min-height:220px}.timeline-template-section{margin-top:6px}.timeline-template-section-header{display:grid;gap:2px}.timeline-template-section-header h4,.timeline-layout-card-header h4{margin:0}.timeline-layout-sections{display:grid;gap:14px}.timeline-theme-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-bottom:16px}.timeline-theme-editor-card{padding:14px;border:1px solid var(--table-border);border-radius:18px;background:color-mix(in srgb,var(--surface-2) 90%,transparent);display:grid;align-content:start;grid-template-rows:auto 1fr;gap:12px}.timeline-theme-editor-workspace{display:grid;grid-template-columns:minmax(0,1fr) 228px;gap:6px;align-items:start}.timeline-theme-editor-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-height:40px}.timeline-theme-editor-card-header h4{margin:0}.timeline-theme-editor-card-action{display:flex;justify-content:flex-end;min-width:0}.timeline-shell-upload-row-inline{flex-wrap:nowrap;gap:8px}.timeline-theme-editor-stage-wrap{display:flex;justify-content:center;min-width:0}.timeline-theme-editor-stage{border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--table-border) 88%,transparent)}.timeline-theme-editor-layers{display:grid;gap:6px;width:100%;align-self:start;padding:7px;border:1px solid var(--table-border);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 84%,transparent)}.timeline-theme-editor-layers h5{margin:0}.timeline-theme-editor-properties{display:grid;align-content:start;gap:6px;min-height:244px;padding:8px;border:1px solid color-mix(in srgb,var(--table-border) 90%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel-bg) 68%,transparent)}.timeline-theme-editor-properties .helper-text{align-self:center;margin:0}.timeline-theme-editor-properties-header{display:flex;align-items:center}.timeline-theme-editor-properties-header h5{margin:0}.timeline-theme-editor-properties-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.timeline-theme-editor-property-field{display:grid;grid-template-columns:14px minmax(0,1fr);align-items:center;gap:6px;margin:0}.timeline-theme-editor-property-field span{font-size:.9rem;font-weight:700;color:var(--muted-text)}.timeline-theme-editor-property-field input{width:100%;min-height:36px;padding:6px 10px;border:1px solid var(--input-border);border-radius:12px;background:color-mix(in srgb,var(--input-bg) 92%,transparent);color:var(--text-color);font-size:.92rem;font-weight:600}.timeline-theme-editor-align-grid{display:grid;gap:8px}.timeline-theme-editor-align-row{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:8px}.timeline-theme-editor-align-row>span{font-size:.8rem;font-weight:700;color:var(--muted-text);white-space:nowrap}.timeline-theme-editor-align-select{width:100%;min-height:36px;padding:0 12px;border:1px solid var(--input-border);border-radius:10px;background:color-mix(in srgb,var(--secondary-bg) 92%,transparent);color:var(--text-color);font-size:.82rem;font-weight:700}.timeline-theme-editor-layer-list{display:grid;gap:5px;max-height:360px;overflow:auto;padding-right:2px}.timeline-theme-editor-layer-item{display:grid;gap:5px;padding:7px;border:1px solid color-mix(in srgb,var(--table-border) 90%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel-bg) 65%,transparent)}.timeline-theme-editor-layer-item.is-dragging{opacity:.65}.timeline-theme-editor-layer-item.is-selected{border-color:color-mix(in srgb,#fff4ad 68%,var(--table-border));box-shadow:inset 0 0 0 1px #fff4ad42;background:color-mix(in srgb,var(--panel-bg) 58%,#1a253e 42%)}.timeline-theme-editor-layer-item.is-selected .timeline-theme-editor-layer-chip{color:#fff}.timeline-theme-editor-layer-row{display:flex;align-items:center;gap:5px}.timeline-theme-editor-layer-handle{border:1px dashed color-mix(in srgb,var(--table-border) 90%,transparent);border-radius:8px;padding:4px 6px;background:color-mix(in srgb,var(--secondary-bg) 70%,transparent);color:var(--muted-text);cursor:grab;line-height:1}.timeline-theme-editor-layer-handle:active{cursor:grabbing}.timeline-theme-editor-layer-chip{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600}.timeline-theme-editor-layer-chip:before{content:"";width:9px;height:9px;border-radius:999px;background:var(--layer-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--layer-color) 22%,transparent)}.timeline-theme-editor-layer-actions{display:grid;grid-template-columns:repeat(3,34px);gap:4px}.timeline-theme-editor-layer-button{border:1px solid var(--input-border);border-radius:8px;min-height:30px;padding:5px;background:color-mix(in srgb,var(--secondary-bg) 92%,transparent);color:var(--secondary-text);cursor:pointer;font-size:.95rem}.timeline-theme-editor-layer-button:disabled{opacity:.45;cursor:not-allowed}.timeline-theme-editor-layer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.timeline-theme-editor-layer-field{display:grid;gap:3px;margin:0}.timeline-theme-editor-layer-field span{font-size:.68rem;font-weight:600;color:var(--muted-text)}.timeline-theme-editor-layer-field input{width:100%;min-height:28px;padding:4px 8px;border:1px solid var(--input-border);border-radius:8px;background:color-mix(in srgb,var(--input-bg) 92%,transparent);color:var(--text-color);font-size:.8rem}.timeline-template-upload-grid{margin-bottom:16px}.timeline-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--input-border);border-radius:999px;padding:4px 8px 4px 4px;background:color-mix(in srgb,var(--secondary-bg) 94%,transparent);color:var(--secondary-text);cursor:pointer}.timeline-toggle-track{position:relative;width:42px;height:24px;border-radius:999px;background:color-mix(in srgb,var(--input-border) 92%,transparent);transition:background .16s ease}.timeline-toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:#fff;transition:transform .16s ease}.timeline-toggle.active{background:color-mix(in srgb,#2b8a57 18%,transparent);color:#d4ffe6;border-color:color-mix(in srgb,#2b8a57 50%,var(--input-border))}.timeline-toggle.active .timeline-toggle-track{background:#2b8a57}.timeline-toggle.active .timeline-toggle-thumb{transform:translate(18px)}.timeline-toggle-label{font-size:.84rem;font-weight:600}.timeline-option-modal .inline-actions{justify-content:flex-end;gap:10px}.timeline-option-modal .primary-button,.timeline-option-modal .secondary-button,.timeline-option-modal .danger-button{border-radius:12px;padding:10px 14px;min-width:96px}.timeline-card-modal{width:min(760px,calc(100vw - 32px))}.timeline-card-batch-modal,.timeline-card-images-modal{width:min(1040px,calc(100vw - 32px))}.timeline-theme-template-modal{width:min(1280px,calc(100vw - 32px));max-height:min(92vh,1200px);overflow:auto;resize:both}@media (max-width: 980px){.timeline-template-generate-row,.timeline-layout-card-grid,.timeline-theme-editor-grid,.timeline-theme-editor-workspace{grid-template-columns:1fr}}.timeline-card-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.timeline-card-toolbar-actions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.timeline-actions-menu{position:relative}.timeline-actions-menu-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:20;min-width:220px;display:grid;gap:4px;padding:8px;border:1px solid var(--table-border);border-radius:14px;background:color-mix(in srgb,var(--panel-bg) 98%,transparent);box-shadow:0 14px 36px #0000003d}.timeline-actions-menu-popover button{display:flex;width:100%;align-items:center;justify-content:flex-start;padding:12px 14px;border:0;border-radius:10px;background:transparent;color:var(--app-text);cursor:pointer}.timeline-actions-menu-popover button:hover{background:color-mix(in srgb,var(--secondary-bg) 88%,transparent)}.timeline-card-selection-status{min-width:84px;font-size:.94rem;line-height:1.25;max-width:none;width:100%}.timeline-info-badge{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid color-mix(in srgb,#ffffff 82%,transparent);border-radius:999px;background:#f5f8ff;color:#1d2433;font-size:.8rem;font-weight:700;vertical-align:text-bottom}.timeline-batch-progress-card{display:grid;gap:12px;margin-bottom:18px;padding:18px 20px;border:1px solid var(--table-border);border-radius:18px;background:color-mix(in srgb,var(--panel-bg) 96%,transparent)}.timeline-batch-progress-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.timeline-batch-progress-header h3{margin:0 0 4px}.timeline-batch-progress-bar{height:12px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--secondary-bg) 86%,transparent)}.timeline-batch-progress-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#7c5cff,#64a8ff);transition:width .2s ease}.timeline-batch-progress-stats{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted-text);font-size:.92rem}.timeline-card-compact-toggle{display:inline-flex;align-items:center;gap:10px;font-weight:600}.timeline-batch-candidate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.timeline-batch-candidate{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:16px;border:1px solid var(--table-border);border-radius:18px;background:color-mix(in srgb,var(--stat-bg) 88%,transparent);color:var(--app-text);text-align:left}.timeline-batch-candidate.active{border-color:var(--nav-button-active);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--nav-button-active) 70%,transparent)}.timeline-card-image-actions{display:grid;grid-template-columns:auto minmax(180px,220px) minmax(220px,1fr) auto;gap:12px;align-items:center}.timeline-card-image-actions-compact{grid-template-columns:auto auto;justify-content:start}.timeline-card-image-helper{margin:-4px 0 4px}.timeline-card-status-callout{display:grid;gap:.45rem;padding:.9rem 1rem;border:1px solid var(--table-border);border-radius:14px;background:color-mix(in srgb,var(--secondary-bg) 78%,transparent)}.timeline-card-status-callout strong{color:var(--app-text)}.timeline-card-status-callout span{color:var(--muted-text)}.timeline-card-status-callout.warning{border-color:color-mix(in srgb,var(--warning-text, #f2c46d) 35%,var(--table-border));background:color-mix(in srgb,var(--warning-bg, #5a4315) 28%,var(--secondary-bg))}.timeline-upload-button{position:relative;display:inline-flex;align-items:center;justify-content:center}.timeline-upload-button:after{content:"Optional";margin-left:8px;font-size:.78rem;font-weight:700;color:var(--muted-text)}.timeline-card-variant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.timeline-card-variant{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--table-border);border-radius:18px;background:color-mix(in srgb,var(--stat-bg) 88%,transparent)}.timeline-card-variant-preview{display:grid;place-items:center;min-height:280px;border-radius:16px;background:color-mix(in srgb,var(--inner-card-bg) 94%,transparent);overflow:hidden}.timeline-card-variant-preview-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.timeline-card-variant-preview img{display:block;width:100%;height:280px;object-fit:contain}.timeline-card-variant-preview span{color:var(--muted-text)}.timeline-card-variant-meta{display:grid;gap:10px}.timeline-card-variant-meta-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.timeline-card-variant-status{color:var(--muted-text);text-transform:capitalize;text-align:left}.timeline-card-variant-status.warning{color:var(--warning-text, #f2c46d);font-weight:700}.timeline-card-variant-tags{display:flex;flex-wrap:wrap;gap:8px}.timeline-card-variant-tag{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid var(--table-border);border-radius:999px;background:color-mix(in srgb,var(--secondary-bg) 88%,transparent);color:var(--secondary-text);font-size:.9rem}.timeline-card-variant-tag-disabled{opacity:.55;cursor:default}.timeline-card-variant-generated{color:var(--muted-text);font-size:.92rem;text-align:left}.timeline-card-variant-actions{margin-top:auto}.timeline-card-table-preview{display:grid;place-items:center;width:96px;min-width:96px;height:68px;border-radius:12px;background:color-mix(in srgb,var(--inner-card-bg) 94%,transparent);overflow:hidden}.timeline-card-table-preview img{display:block;width:100%;height:100%;object-fit:contain}.timeline-card-table-preview span{padding:8px;text-align:center;color:var(--muted-text);font-size:.8rem;line-height:1.2}.timeline-card-library-table th,.timeline-card-library-table td{padding:8px}.timeline-deck-card-toolbar{margin-bottom:12px}.timeline-deck-card-checkbox-cell{width:44px;padding-left:8px;padding-right:8px}.timeline-deck-card-checkbox-cell input{width:16px;height:16px}.timeline-deck-card-row{transition:background-color .16s ease}.timeline-deck-card-row.is-selected td{background:color-mix(in srgb,#7c5cff 10%,var(--panel-bg))}.timeline-deck-card-row:hover td{background:color-mix(in srgb,var(--secondary-bg) 42%,var(--panel-bg))}.timeline-deck-card-row.is-selected:hover td{background:color-mix(in srgb,#7c5cff 14%,var(--panel-bg))}.timeline-card-library-table .table-detail-stack{gap:.08rem;font-size:.84rem}.timeline-card-library-table .table-status-pill{min-height:24px;padding:3px 8px;font-size:.74rem}.timeline-card-row-actions{gap:8px}.timeline-card-row-actions .secondary-button,.timeline-card-row-actions .danger-button,.timeline-card-row-actions .small-button{min-height:36px;padding:0 12px;border-radius:12px;font-size:.92rem}.timeline-workflow-panel,.timeline-decks-panel{display:grid;gap:1.5rem}.timeline-decks-table-wrap{border:1px solid var(--table-border);border-radius:1rem;background:color-mix(in srgb,var(--inner-card-bg) 94%,transparent);overflow:auto}.timeline-decks-table{width:100%}.timeline-decks-cover-cell{display:grid;place-items:center;width:84px}.timeline-decks-cover-thumb{display:grid;place-items:center;width:64px;height:84px;border-radius:.9rem;overflow:hidden;border:1px solid var(--table-border);background:color-mix(in srgb,var(--secondary-bg) 80%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--shadow) 18%,transparent)}.timeline-decks-cover-thumb img{display:block;width:100%;height:100%;object-fit:cover}.timeline-decks-cover-thumb-empty{color:var(--muted-text);font-weight:800;font-size:1.4rem}.timeline-decks-status-cell{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.timeline-source-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--table-border) 78%,transparent);background:color-mix(in srgb,var(--secondary-bg) 88%,transparent);color:var(--primary-text);font-size:.82rem;font-weight:700;line-height:1;white-space:nowrap}.timeline-workflow-summary-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.timeline-workflow-summary-card{border:1px solid var(--table-border);border-radius:1rem;background:color-mix(in srgb,var(--inner-card-bg) 94%,transparent);padding:1rem 1.1rem;display:grid;gap:.35rem}.timeline-workflow-summary-card span,.timeline-workflow-summary-card small{color:var(--muted-text)}.timeline-workflow-summary-card strong{font-size:1.9rem}.timeline-workflow-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-workflow-section{display:grid;gap:1rem}.timeline-workflow-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.timeline-workflow-section-header h3{margin:0}.timeline-workflow-card-list{display:grid;gap:1rem}.timeline-workflow-card{border:1px solid var(--table-border);border-radius:1rem;background:color-mix(in srgb,var(--inner-card-bg) 94%,transparent);padding:1rem 1.1rem;display:grid;gap:.9rem}.timeline-workflow-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.timeline-workflow-card-header h4{margin:0}.timeline-workflow-pill-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.timeline-workflow-meta-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.timeline-workflow-meta-grid div{display:grid;gap:.2rem}.timeline-workflow-meta-grid span{color:var(--muted-text);font-size:.85rem}.timeline-workflow-meta-grid strong{font-size:.98rem}.timeline-workflow-chip-list{margin:0;padding:0;list-style:none;display:flex;gap:.55rem;flex-wrap:wrap}.timeline-workflow-chip-list li{border-radius:999px;background:color-mix(in srgb,var(--secondary-bg) 88%,transparent);padding:.35rem .7rem;font-size:.9rem}.timeline-workflow-table-wrap{display:grid;gap:.75rem}.timeline-workflow-cover-editor{display:grid;gap:1rem;grid-template-columns:minmax(180px,220px) minmax(0,1fr);align-items:start}.timeline-workflow-cover-preview{border:1px solid var(--table-border);border-radius:1rem;background:color-mix(in srgb,var(--inner-card-bg) 94%,transparent);min-height:240px;overflow:hidden}.timeline-workflow-cover-preview img{display:block;width:100%;height:100%;object-fit:cover}.timeline-workflow-cover-placeholder{min-height:240px;padding:1rem;display:grid;place-items:center;text-align:center;gap:.4rem;color:var(--muted-text)}.timeline-workflow-cover-fields{display:grid;gap:.75rem}.timeline-workflow-asset-chip-row{display:flex;flex-wrap:wrap;gap:.45rem}.timeline-workflow-asset-chip{border:1px solid var(--table-border);border-radius:999px;background:color-mix(in srgb,var(--secondary-bg) 82%,transparent);color:var(--muted-text);padding:.25rem .65rem;font-size:.82rem;font-weight:700}.timeline-workflow-asset-chip.active{background:color-mix(in srgb,var(--highlight) 18%,var(--inner-card-bg));color:var(--primary-text);border-color:color-mix(in srgb,var(--highlight) 45%,var(--table-border))}.timeline-workflow-asset-chip.warning{border-color:color-mix(in srgb,var(--warning-text, #f2c46d) 35%,var(--table-border));background:color-mix(in srgb,var(--warning-bg, #5a4315) 28%,var(--secondary-bg));color:var(--warning-text, #f2c46d)}.timeline-workflow-asset-chip-button{cursor:pointer}.timeline-workflow-asset-chip-button:disabled{cursor:default;opacity:.65}.timeline-needs-update-button{border-color:color-mix(in srgb,var(--warning-text, #f2c46d) 35%,var(--table-border));color:var(--warning-text, #f2c46d)}.timeline-workflow-deck-card-assets{margin-top:.5rem}.timeline-workflow-deck-card-preview{min-height:280px}.timeline-workflow-asset-preview-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.timeline-workflow-asset-preview-button img{display:block;width:100%;height:100%;object-fit:contain}.timeline-workflow-lightbox-body{display:grid;place-items:center}.timeline-workflow-lightbox-body img{display:block;width:min(100%,520px);max-height:75vh;object-fit:contain}@media (max-width: 900px){.app-shell{grid-template-columns:1fr}.sidebar{gap:20px;position:static;min-height:0}.content{min-height:0;padding:0 20px 20px}.topbar{justify-content:flex-end;margin:0 -20px 20px;padding:14px 20px 16px}.dashboard-columns,.admin-user-form-grid{grid-template-columns:1fr}.admin-toast{top:16px;right:16px;left:16px;width:auto}.table-toolbar{align-items:stretch}.timeline-option-grid{grid-template-columns:1fr}.timeline-option-modal-header{flex-direction:column;align-items:stretch}.timeline-option-modal-toggle{justify-content:space-between;align-self:flex-end}.timeline-metric-row,.timeline-card-metric-grid,.timeline-card-image-actions{grid-template-columns:1fr}.timeline-card-toolbar-actions{flex-wrap:wrap}.timeline-workflow-grid,.timeline-workflow-cover-editor,.dobble-admin-split{grid-template-columns:1fr}}
