:root,[data-theme=dark]{color-scheme:dark;--bg: #0a0d12;--bg-soft: #11151c;--panel: #151a24;--panel-2: #1a2030;--panel-hover: #1f2638;--border: #2a3347;--border-subtle: #1e2535;--text: #eef1f6;--text-dim: #8b95a8;--text-muted: #636d82;--accent: #8b5cf6;--accent-hover: #7c3aed;--accent-soft: rgba(139, 92, 246, .14);--accent-glow: rgba(139, 92, 246, .35);--cyan: #22d3ee;--green: #34d399;--red: #f87171;--amber: #fbbf24;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .45);--shadow-glow: 0 0 20px var(--accent-glow);--surface-glass: rgba(17, 21, 28, .88);--surface-glass-border: rgba(255, 255, 255, .06);--overlay: rgba(0, 0, 0, .6);--radius: 14px;--radius-sm: 10px;--radius-xs: 8px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}[data-theme=light]{color-scheme:light;--bg: #f8fafc;--bg-soft: #f1f5f9;--panel: #ffffff;--panel-2: #f8fafc;--panel-hover: #f1f5f9;--border: #e2e8f0;--border-subtle: #eef2f6;--text: #0f172a;--text-dim: #64748b;--text-muted: #94a3b8;--accent: #7c3aed;--accent-hover: #6d28d9;--accent-soft: rgba(124, 58, 237, .1);--accent-glow: rgba(124, 58, 237, .2);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 16px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 40px rgba(15, 23, 42, .12);--shadow-glow: 0 0 20px var(--accent-glow);--surface-glass: rgba(255, 255, 255, .92);--surface-glass-border: rgba(15, 23, 42, .06);--overlay: rgba(15, 23, 42, .4)}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.55;overflow-x:hidden;transition:background .2s ease,color .2s ease}#root{display:flex;min-height:100vh;min-height:100dvh;width:100%;overflow-x:hidden}.app-shell{display:flex;height:100vh;height:100dvh;width:100%;flex:1;min-width:0;overflow:hidden}.app-content{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;height:100vh;height:100dvh;-webkit-overflow-scrolling:touch}.mobile-header,.sidebar-backdrop{display:none}.sidebar-top{display:contents}.sidebar-close{display:none}.sidebar{width:252px;flex-shrink:0;background:var(--bg-soft);border-right:1px solid var(--border);padding:18px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;height:100dvh}.sidebar .logo{font-weight:800;font-size:17px;letter-spacing:-.03em;padding:6px 10px 16px}.sidebar .logo span{background:linear-gradient(135deg,var(--accent),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.nav-item{display:flex;align-items:center;gap:10px;justify-content:flex-start;padding:10px 12px;border-radius:var(--radius-xs);color:var(--text-dim);cursor:pointer;border:none;background:none;font:inherit;text-align:left;width:100%;transition:background .15s,color .15s,transform .1s}.nav-item .nav-icon{flex-shrink:0;opacity:.75}.nav-item:hover{background:var(--panel-hover);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--text);font-weight:600}.nav-item.active .nav-icon{opacity:1;color:var(--accent)}.nav-item-label{flex:1;min-width:0}.nav-badge{background:var(--accent);color:#fff;border-radius:999px;font-size:11px;font-weight:700;padding:2px 8px;flex-shrink:0}.sidebar .project-select{margin-top:auto;font-size:12px;color:var(--text-dim);padding-top:12px;border-top:1px solid var(--border-subtle)}.theme-toggle{display:inline-flex;align-items:center;gap:8px;width:100%;padding:10px 12px;margin-bottom:8px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--panel);color:var(--text-dim);font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.theme-toggle:hover{background:var(--panel-hover);color:var(--text);border-color:var(--accent)}.theme-toggle.compact{width:auto;padding:0;min-width:44px;min-height:44px;justify-content:center;margin-bottom:0;border-radius:var(--radius-xs);background:var(--panel)}.main{flex:1;padding:28px 36px;max-width:1200px;min-width:0;width:100%}h1{font-size:24px;font-weight:700;letter-spacing:-.03em;margin:0 0 6px;line-height:1.2}.subtitle{color:var(--text-dim);margin:0 0 24px;font-size:14px}h2{font-size:15px;font-weight:600;margin:28px 0 12px;letter-spacing:-.01em}.grid{display:grid;gap:14px}.grid>*{min-width:0}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s,transform .15s;min-width:0;overflow-wrap:break-word}.card.interactive{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit}.card.interactive:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--cyan));opacity:.85}.stat-card.accent-amber:before{background:linear-gradient(90deg,var(--amber),#f59e0b)}.stat-card.accent-cyan:before{background:linear-gradient(90deg,var(--cyan),#06b6d4)}.stat-card.accent-green:before{background:linear-gradient(90deg,var(--green),#10b981)}.stat-value{font-size:28px;font-weight:800;letter-spacing:-.03em}.stat-label{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;margin-top:4px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.badge.pending-approval{background:#fbbf2426;color:var(--amber)}.badge.approved,.badge.published,.badge.completed{background:#34d39926;color:var(--green)}.badge.rejected,.badge.failed{background:#f8717126;color:var(--red)}.badge.scheduled,.badge.queued,.badge.running{background:#22d3ee26;color:var(--cyan)}.badge.draft,.badge.archived{background:#8b93a726;color:var(--text-dim)}.badge.neutral{background:var(--accent-soft);color:var(--accent)}[data-theme=light] .badge.neutral{color:var(--accent-hover)}.btn{border:1px solid var(--border);background:var(--panel-2);color:var(--text);border-radius:var(--radius-xs);padding:9px 16px;font:inherit;font-weight:600;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn:hover:not(:disabled){background:var(--panel-hover);border-color:var(--text-muted)}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:var(--shadow-glow)}.btn.success{background:#059669;border-color:#059669;color:#fff}.btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.btn.small{padding:6px 12px;font-size:12px}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn.ghost:hover:not(:disabled){background:var(--panel-hover);color:var(--text)}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px}label.field{display:block;margin-bottom:14px}label.field .label{display:block;font-size:11px;font-weight:700;color:var(--text-dim);margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em}input[type=text],input[type=datetime-local],textarea,select{width:100%;background:var(--bg-soft);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-xs);padding:10px 13px;font:inherit;transition:border-color .15s,box-shadow .15s}textarea{min-height:80px;resize:vertical}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.list-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .1s}.list-row:hover{border-color:var(--accent);box-shadow:var(--shadow-sm)}.list-row .title{font-weight:600;font-size:15px;overflow-wrap:break-word;word-break:break-word;min-width:0}.list-row .meta{color:var(--text-dim);font-size:12px;word-break:break-word;margin-top:2px}.empty{color:var(--text-dim);text-align:center;padding:48px 24px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--panel-2)}.detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start;min-width:0}.detail-grid>*{min-width:0}.preview-box{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:18px;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;max-width:100%}.preview-box .hook{font-size:17px;font-weight:700;margin-bottom:10px}.asset-chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-xs);padding:6px 10px;font-size:12px;color:var(--text-dim);margin:4px 6px 0 0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:16px}.asset-gallery.slideshow{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.asset-gallery.carousel{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px;scrollbar-width:thin}.asset-gallery.carousel .asset-preview-card{flex:0 0 min(280px,78vw);scroll-snap-align:start}.asset-preview-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.asset-preview-card.missing{padding:16px}.asset-preview-header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);font-size:11px}.asset-preview-label{font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cyan)}.asset-preview-id{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.asset-preview-link{display:block;line-height:0;border:none;padding:0;margin:0;width:100%;background:none;cursor:pointer;font:inherit;color:inherit}.asset-preview-link:hover .asset-preview-img{opacity:.92}.asset-preview-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.asset-preview-img{width:100%;height:auto;display:block;background:var(--bg-soft);aspect-ratio:4 / 5;object-fit:cover}.asset-preview-video{width:100%;display:block;background:#000;max-height:360px}.asset-preview-audio-wrap{padding:12px}.asset-preview-audio{width:100%}.asset-preview-prompt{padding:8px 10px;font-size:11px;color:var(--text-dim);border-top:1px solid var(--border);line-height:1.4;max-height:4.2em;overflow:hidden}.asset-preview-placeholder{color:var(--text-dim);font-size:13px;text-align:center}.workflow-editor code{font-size:12px;color:var(--cyan)}.workflow-step-card .card-header{margin-bottom:0}.explain-item{margin-bottom:12px}.explain-item .k{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--cyan);margin-bottom:2px}.explain-item .v{color:var(--text-dim);overflow-wrap:break-word;word-break:break-word}.hashtag{color:var(--cyan);margin-right:6px}.version-pill{border:1px solid var(--border);background:var(--bg-soft);color:var(--text-dim);border-radius:999px;padding:4px 14px;font-size:12px;cursor:pointer;transition:border-color .15s,color .15s}.version-pill.current{border-color:var(--accent);color:var(--text);font-weight:600}table{width:100%;border-collapse:collapse}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:520px}.card-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex-shrink:0}.row-header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.workflow-steps{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}th{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;background:var(--bg-soft)}.auth-screen{flex:1;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:24px;background:radial-gradient(ellipse at 20% 0%,var(--accent-soft) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(34,211,238,.08) 0%,transparent 50%),var(--bg)}.auth-card{width:100%;max-width:420px;padding:32px}.auth-card .logo{font-weight:800;font-size:22px;letter-spacing:-.03em}.auth-card .logo span{background:linear-gradient(135deg,var(--accent),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}.banner{border-radius:var(--radius-xs);padding:10px 14px;margin-bottom:14px;font-weight:600;font-size:13px}.banner.error{background:#f871711f;color:var(--red);border:1px solid rgba(248,113,113,.35)}.banner.ok{background:#34d3991f;color:var(--green);border:1px solid rgba(52,211,153,.35)}.wizard-steps{display:flex;gap:6px;margin:6px 0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px}.wizard-step{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--bg-soft);border:1px solid var(--border);color:var(--text-dim);flex-shrink:0}.wizard-step.active{background:var(--accent);border-color:var(--accent);color:#fff}.wizard-step.done{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.nav-section{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:16px 12px 6px}.user-chip{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:12px;color:var(--text-dim)}input[type=password]{width:100%;background:var(--bg-soft);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-xs);padding:10px 13px;font:inherit}input[type=password]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.badge.cancelled{background:#8b93a726;color:var(--text-dim)}.badge.publishing,.badge.pending{background:#22d3ee26;color:var(--cyan)}.badge.generated{background:#fbbf2426;color:var(--amber)}.toast{position:fixed;bottom:22px;right:22px;background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:12px 18px;font-weight:600;box-shadow:var(--shadow-lg);z-index:60;animation:toast-in .25s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast.error{border-color:var(--red)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;padding-bottom:calc(16px + var(--safe-bottom))}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;max-height:calc(100dvh - 32px - var(--safe-top) - var(--safe-bottom));overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--border)}.modal-title{margin:0;font-size:16px;font-weight:700}.modal-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--panel-2);color:var(--text-dim);font:inherit;cursor:pointer;flex-shrink:0}.modal-body{padding:18px;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-actions{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--border);background:var(--bg-soft)}.modal-actions .btn{flex:1}.sticky-actions{display:none}.has-sticky-actions-mobile{min-width:0;width:100%}.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;min-width:0}.action-grid .btn{width:100%;min-width:0;justify-content:center;white-space:normal;text-align:center}.table-cards .table-wrap{overflow-x:visible}.table-cards table{min-width:0}.workflow-step-badges{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.workflow-step-badges .badge{flex-shrink:0}.workflow-step-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:-8px 0 20px;padding:12px 0;position:sticky;top:0;z-index:35;background:var(--surface-glass);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid transparent}.page-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--surface-glass-border);opacity:0;transition:opacity .15s}.page-header-main{min-width:0;flex:1}.page-header-main h1{margin-bottom:4px}.page-header-main .subtitle{margin-bottom:0}.page-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex-shrink:0}.image-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:calc(16px + var(--safe-top)) calc(16px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(16px + var(--safe-left))}.image-lightbox{display:flex;flex-direction:column;width:min(960px,100%);max-height:100%;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}.image-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-soft);flex-shrink:0}.image-lightbox-label{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-lightbox-close{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--panel);color:var(--text);cursor:pointer;font:inherit;flex-shrink:0}.image-lightbox-scroll{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;background:var(--bg-soft);display:flex;align-items:flex-start;justify-content:center;padding:16px}.image-lightbox-img{max-width:100%;width:auto;height:auto;display:block;border-radius:var(--radius-xs)}.image-lightbox-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-soft);flex-shrink:0}.image-lightbox-dots{display:flex;gap:6px;align-items:center}.image-lightbox-dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.image-lightbox-dot.active{background:var(--accent)}.filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.filter-chips .btn{flex-shrink:0;white-space:nowrap}.detail-meta-mobile{display:none}@media (max-width: 768px){.detail-meta-mobile{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px}.detail-meta-mobile .meta{color:var(--text-dim);font-size:12px;overflow-wrap:break-word;word-break:break-word;min-width:0}}.auth-theme-toggle{position:fixed;top:calc(16px + var(--safe-top));right:calc(16px + var(--safe-right));z-index:10}@media (max-width: 900px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.main{padding:20px}}@media (max-width: 768px){.mobile-header{display:flex;align-items:center;gap:10px;padding:10px 14px;padding-top:calc(10px + var(--safe-top));padding-left:calc(14px + var(--safe-left));padding-right:calc(14px + var(--safe-right));background:var(--surface-glass);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid var(--surface-glass-border);position:sticky;top:0;z-index:40;flex-shrink:0}.mobile-header-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.main{padding:16px;padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right));padding-bottom:calc(16px + var(--safe-bottom));max-width:none}.page-header:not(:has(.page-header-actions)){display:none}.page-header:has(.page-header-actions){top:calc(52px + var(--safe-top));margin-top:-8px;padding-top:8px;padding-bottom:8px;border-bottom:1px solid var(--surface-glass-border)}.page-header-main h1,.page-header-main>.subtitle:first-of-type{display:none}.page-header-actions{width:100%}.sticky-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:44;gap:10px;padding:12px 16px;padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right));padding-bottom:calc(12px + var(--safe-bottom));background:var(--surface-glass);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-top:1px solid var(--surface-glass-border);box-shadow:0 -8px 24px #00000026}.sticky-actions .btn{flex:1;min-height:48px;font-size:15px}.has-sticky-actions-mobile{padding-bottom:calc(72px + var(--safe-bottom))}.modal-overlay{align-items:flex-end;padding:0}.modal{max-width:none;border-radius:var(--radius) var(--radius) 0 0;max-height:calc(90dvh - var(--safe-bottom));animation:modal-slide-up .25s ease}@keyframes modal-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.table-cards thead{display:none}.table-cards tbody tr{display:block;padding:12px 16px;border-bottom:1px solid var(--border)}.table-cards tbody tr:last-child{border-bottom:none}.table-cards td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;border:none;font-size:13px}.table-cards td:before{content:attr(data-label);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);flex-shrink:0}.table-cards td[colspan]{display:block;text-align:center;padding:16px 0}.table-cards td[colspan]:before{display:none}.workflow-step-card .card-header{flex-direction:column;align-items:stretch;gap:10px}.workflow-step-card .card-header>.btn-row{justify-content:flex-end}.workflow-step-badges{width:100%}.action-grid{grid-template-columns:1fr 1fr}.detail-grid .card .btn-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-grid .card .btn-row .btn{width:100%;min-width:0;white-space:normal;text-align:center}.version-pill{min-height:36px;padding:6px 14px}.asset-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.asset-gallery.carousel .asset-preview-card{flex:0 0 min(260px,88vw)}.asset-preview-video{max-height:240px}.list-row{padding:16px;border-radius:var(--radius-sm)}.list-row:active{background:var(--panel-hover)}.btn-row.stack-mobile{flex-direction:column}.btn-row.stack-mobile .btn{width:100%}.mobile-hide-primary{display:none}.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--panel);color:var(--text);font:inherit;cursor:pointer;flex-shrink:0}.mobile-page-title{font-weight:700;font-size:16px;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:90;animation:fade-in .2s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sidebar{position:fixed;top:0;left:0;z-index:100;width:min(300px,88vw);height:100vh;height:100dvh;transform:translate(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px}.sidebar-top .logo{padding:4px 10px 0}.sidebar-close{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--panel);color:var(--text-dim);font:inherit;cursor:pointer;flex-shrink:0}.nav-item{min-height:44px;padding-top:11px;padding-bottom:11px}.btn,.btn.small{min-height:44px;padding-top:10px;padding-bottom:10px}.grid.cols-2{grid-template-columns:1fr}.grid.cols-4{grid-template-columns:repeat(2,1fr)}.list-row{flex-direction:column;align-items:flex-start}.list-row .badge{align-self:flex-start}.btn-row{gap:10px}.card-header{flex-direction:column;align-items:flex-start}.card-header-actions{width:100%}.row-header{flex-direction:column}.user-chip{flex-direction:column;align-items:stretch}.toast{left:50%;right:auto;transform:translate(-50%);bottom:calc(16px + var(--safe-bottom));max-width:calc(100vw - 32px);text-align:center}.auth-screen{padding:16px}.auth-card{padding:24px}input[type=text],input[type=password],input[type=datetime-local],textarea,select{font-size:16px}.filter-chips{flex-wrap:nowrap;margin-left:calc(-1 * (16px + var(--safe-left)));margin-right:calc(-1 * (16px + var(--safe-right)));padding-left:calc(16px + var(--safe-left));padding-right:calc(16px + var(--safe-right))}}@media (max-width: 480px){.main{padding:12px;padding-left:calc(12px + var(--safe-left));padding-right:calc(12px + var(--safe-right));padding-bottom:calc(12px + var(--safe-bottom))}.action-grid,.detail-grid .card .btn-row,.grid.cols-4{grid-template-columns:1fr}.mobile-header{padding:8px 12px;padding-top:calc(8px + var(--safe-top))}.stat-value{font-size:24px}h1{font-size:20px}.auth-screen{padding:12px}.auth-card{padding:20px}}
