:root{--bg: #f7f8fc;--panel: #ffffff;--text: #0f172a;--muted: #5c6476;--line-strong: rgba(51, 59, 151, .18);--shadow: 0 14px 28px rgba(46, 52, 142, .05);--brand: #333b97;--brand-deep: #2e348e;--brand-border: rgba(51, 59, 151, .16)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top,#ffffff 0%,#f3f5fc 42%,var(--bg) 100%)}a{color:inherit;text-decoration:none}.app-shell{max-width:1440px;margin:0 auto;padding:12px 14px 18px}.page{display:grid;gap:8px}.hero,.search-wrap,.filters,.footer-note,.empty-state{background:var(--panel);border:1px solid var(--brand-border);border-radius:18px;box-shadow:var(--shadow)}.hero{padding:18px 22px}h1{margin:0;font-size:clamp(1.95rem,3vw,3.05rem);letter-spacing:-.055em;line-height:.98;color:var(--brand-deep)}.subcopy{margin:8px 0 0;color:var(--muted);font-size:.95rem;max-width:78ch}.search-wrap,.filters{padding:8px}.search-input{width:100%;border:0;outline:0;background:#fff;border-radius:14px;padding:11px 14px;font-size:.93rem;box-shadow:inset 0 0 0 1px var(--line-strong)}.search-input:focus{box-shadow:inset 0 0 0 2px #333b9747}.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.filter{display:grid;gap:5px;font-size:.82rem;color:var(--muted)}.filter select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;outline:0;background:#fff;border-radius:13px;padding:10px 12px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--text);font-size:.9rem}.filter select:focus{box-shadow:inset 0 0 0 2px #333b9747}.row-list{display:grid;gap:6px}.asset-row{display:grid;grid-template-columns:74px minmax(0,1fr) 236px;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--brand-border);border-radius:14px;padding:6px 10px;box-shadow:0 4px 12px #2e348e09;min-height:56px}.thumb-wrap{display:flex;align-items:center;justify-content:center}.thumb,.thumb.placeholder{width:64px;height:36px;border-radius:9px;display:block;border:1px solid var(--line-strong);background:#fff}.thumb{object-fit:contain;background:#fff}.thumb.placeholder{display:grid;place-items:center;background:linear-gradient(180deg,#333b971a,#333b9708)}.playlist-stack{display:inline-grid;gap:0;text-align:center;color:var(--brand);font-weight:700;font-size:.54rem;letter-spacing:.1em;line-height:1.02}.asset-main{min-width:0}.asset-main h3{margin:0;font-size:.91rem;letter-spacing:-.02em;line-height:1.18;color:var(--text)}.row-actions{display:grid;grid-template-columns:108px 132px;align-items:center;gap:8px;justify-self:end}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:9px 12px;border-radius:11px;font-weight:600;font-size:.88rem;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-deep) 100%);color:#fff;box-shadow:0 6px 12px #2e348e24}.btn.secondary{background:#fff;color:var(--brand-deep);border:1px solid var(--brand-border)}.btn.ghost,.btn.disabled{background:#eef1fb;color:var(--muted);border:1px solid var(--brand-border);cursor:default;pointer-events:none}.empty-state{padding:22px;text-align:center}.empty-state h2{margin:0 0 6px}.empty-state p{margin:0;color:var(--muted)}.footer-note{padding:14px 16px;color:var(--muted);font-size:.9rem}.loading{min-height:100vh;display:grid;place-items:center;font-size:1rem;color:var(--muted)}@media(max-width:980px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-row{grid-template-columns:64px minmax(0,1fr);align-items:start}.row-actions{grid-column:2;justify-self:start;grid-template-columns:96px 120px}}@media(max-width:640px){.app-shell{padding:10px 10px 18px}.filters{grid-template-columns:1fr}.hero{padding:16px}h1{font-size:2rem}.asset-row{grid-template-columns:52px minmax(0,1fr);gap:10px}.thumb,.thumb.placeholder{width:48px;height:30px}.row-actions{grid-column:2;justify-self:start;grid-template-columns:88px 112px;gap:7px}.btn{padding:8px 10px;font-size:.82rem}}
