:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d12;--bg-elevated:#12151c;--bg-card:#171b24;--bg-hover:#1e232f;--border:#262b38;--text:#e8eaee;--text-dim:#8890a0;--text-faint:#565d6d;--accent:#7c8cff;--accent-soft:#7c8cff24;--accent-hover:#97a4ff;--danger:#ff6b6b;--danger-soft:#ff6b6b24;--success:#3ddc97;--success-soft:#3ddc9724;--warning:#f6b93b;--warning-soft:#f6b93b24;--radius:12px;--radius-sm:8px;--shadow:0 8px 24px -8px #00000080;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:15px/1.5 -apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(1200px 600px at 90% -10%, #7c8cff14, transparent 60%), var(--bg);color:var(--text);margin:0}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}input,select,textarea,button{font-family:inherit;font-size:.9rem}input,select,textarea{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);width:100%;padding:.55rem .7rem;transition:border-color .15s}input::placeholder,textarea::placeholder{color:var(--text-faint)}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}button{cursor:pointer;background:var(--accent);color:#05060a;border-radius:var(--radius-sm);border:none;padding:.55rem 1rem;font-weight:600;transition:transform 80ms,background .15s,opacity .15s}button:hover{background:var(--accent-hover)}button:active{transform:scale(.97)}button.secondary{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}button.secondary:hover{background:var(--bg-hover)}button.danger{background:var(--danger-soft);color:var(--danger)}button.danger:hover{background:#ff6b6b40}button.ghost{color:var(--text-dim);background:0 0;padding:.4rem .6rem}button.ghost:hover{background:var(--bg-hover);color:var(--text)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge.ok,.badge.active,.badge.done{background:var(--success-soft);color:var(--success)}.badge.dead,.badge.error,.badge.failed{background:var(--danger-soft);color:var(--danger)}.badge.unknown,.badge.new,.badge.pending,.badge.processing,.badge.available{background:var(--warning-soft);color:var(--warning)}.badge.queued,.badge.used{background:var(--accent-soft);color:var(--accent)}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.65rem .6rem}th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}tbody tr{transition:background .1s}tbody tr:hover{background:var(--bg-hover)}.table-scroll{border-radius:var(--radius);border:1px solid var(--border);overflow-x:auto}.table-scroll table{border:none}.table-scroll th:first-child,.table-scroll td:first-child{padding-left:1rem}.error-text{color:var(--danger);font-size:.85rem}.hint{color:var(--text-dim);font-size:.85rem}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}::-webkit-scrollbar-track{background:0 0}.grid-2{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.form-row{flex-direction:column;gap:.3rem;margin-bottom:.8rem;display:flex}.form-row label{color:var(--text-dim);font-size:.8rem;font-weight:600}.form-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;display:grid}.actions-row{flex-wrap:wrap;gap:.5rem;display:flex}.media-thumb{aspect-ratio:9/16;object-fit:cover;border-radius:var(--radius-sm);background:var(--bg-elevated);width:100%;display:block}.video-card{flex-direction:column;gap:.6rem;display:flex}.video-card textarea{resize:vertical;min-height:70px}.frame-thumb{border-radius:var(--radius-sm);background:var(--bg-elevated);width:100%;display:block}.section-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;margin:1.6rem 0 .8rem;font-size:.75rem;font-weight:700}.section-title:first-child{margin-top:0}.empty-state{color:var(--text-dim);text-align:center;padding:2rem 1rem}.placement-canvas-wrap{max-width:392px;margin:0 auto;padding:16px;overflow:visible}.placement-canvas{background:var(--bg-elevated);border-radius:var(--radius-sm);width:100%;position:relative;overflow:visible}.placement-canvas img{border-radius:var(--radius-sm);pointer-events:none;width:100%;display:block}.placement-rect{background:#7c8cff26;border:2px dashed var(--accent)!important}.placement-handle{background:var(--accent);border:2px solid #05060a;border-radius:50%;width:16px;height:16px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--bg-elevated);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:.3rem;width:220px;height:100vh;padding:1.2rem .8rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.5rem;padding:.4rem .6rem 1.2rem;font-size:1.05rem;font-weight:700;display:flex}.brand-dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 12px var(--accent);border-radius:50%}.nav-link{border-radius:var(--radius-sm);color:var(--text-dim);align-items:center;gap:.6rem;padding:.6rem .7rem;font-size:.9rem;font-weight:500;display:flex}.nav-link:hover{background:var(--bg-hover);color:var(--text)}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.main{flex:1;min-width:0;padding:1.6rem 2rem 3rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;display:flex}.page-header h1{font-size:1.4rem}.mobile-topbar{display:none}@media (width<=860px){.app-shell{flex-direction:column}.sidebar{z-index:50;box-shadow:var(--shadow);transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-topbar{background:var(--bg-elevated);border-bottom:1px solid var(--border);z-index:40;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex;position:sticky;top:0}.main{padding:1.2rem 1rem 2.5rem}.sidebar-overlay{z-index:40;background:#00000080;position:fixed;inset:0}}
