:root{--bg:#f3f5f6;--panel:#ffffff;--ink:#12181b;--muted:#617079;--border:#d9e1e5;--accent:#0a7ea4}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Segoe UI,system-ui,sans-serif;background:linear-gradient(180deg,#eef4f7,#f7fafb);color:var(--ink)}button,input,select,textarea{font:inherit}.admin-shell{min-height:100vh;display:grid;place-items:center;padding:1rem}.card,.login-panel,.panel,.table,.topbar{background:var(--panel);border:1px solid var(--border);border-radius:16px}.card.is-dragging{opacity:.55}.card.is-drop-target{border-color:#0a7ea4;box-shadow:0 0 0 2px rgba(10,126,164,.12)}.panel{padding:1rem;width:min(520px,100%)}.login-panel{width:min(700px,100%);padding:1.2rem;box-shadow:0 18px 48px rgba(8,24,34,.08)}.login-panel h1{margin:.35rem 0 .65rem}.login-panel p{margin:0;color:var(--muted)}.eyebrow{color:var(--accent);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.layout{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:#0c1f29;color:#eaf3f7;padding:1rem;border-right:1px solid rgba(255,255,255,.08)}.sidebar h1{margin:0 0 .4rem;font-size:1rem}.sidebar-user{margin:0 0 1rem;color:#a4c1ce;font-size:.9rem}.sidebar nav{display:grid;grid-gap:.4rem;gap:.4rem}.sidebar-actions{margin-top:1rem;display:grid;grid-gap:.55rem;gap:.55rem}.nav-link{border:0;background:transparent;text-align:left;color:#c3d8e2;padding:.55rem .7rem;border-radius:10px;cursor:pointer}.nav-link:hover{background:rgba(255,255,255,.08)}.nav-link.is-active{background:rgba(87,215,255,.14);color:#ecfbff}.main{padding:1.25rem;display:grid;grid-gap:1rem;gap:1rem}.card,.topbar{padding:1rem}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid,.stack{display:grid;grid-gap:1rem;gap:1rem}.label{color:var(--muted);font-size:.85rem}.value{font-size:1.5rem;font-weight:700;margin-top:.35rem}.section-title{margin:0;font-size:1rem}.status{margin:0;padding:.75rem .9rem;border-radius:12px;border:1px solid transparent}.status-error{color:#9b1c1c;background:#fff1f1;border-color:#ffd0d0}.status-ok{color:#065f46;background:#edfdf7;border-color:#b9f0dd}.form-grid{margin-top:.9rem;display:grid;grid-gap:.85rem;gap:.85rem}.form-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label{display:grid;grid-gap:.35rem;gap:.35rem;font-size:.9rem}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--border);background:#fff;border-radius:10px;padding:.65rem .75rem}.form-grid textarea{resize:vertical}.span-2{grid-column:span 2}.checkbox{display:flex!important;align-items:center;gap:.55rem!important}.checkbox input{width:auto}.btn{border:0;border-radius:10px;padding:.65rem .85rem;font-weight:600;cursor:pointer}.btn-primary{background:#0a7ea4;color:#fff}.btn-secondary{background:#e7f2f7;color:#0a5670}.btn-ghost{background:rgba(255,255,255,.08);color:#d5e8f0;border:1px solid rgba(255,255,255,.08)}.btn-danger{background:#a61d24;color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed}.table{overflow:hidden}.table-head{padding:1rem 1rem 0}.table table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--border);vertical-align:top}.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:#dbf0f8;color:var(--accent);font-weight:600;font-size:.8rem}.badge-danger{background:#ffe2e2;color:#9b1c1c}.badge-warn{background:#fff3d6;color:#9a6700}.badge-ok{background:#dcfce7;color:#166534}.row-actions{gap:.4rem}.chips,.row-actions{display:flex;flex-wrap:wrap}.chips{gap:.45rem}.list-compact{display:grid;grid-gap:.55rem;gap:.55rem}.list-row{border:1px solid var(--border);border-radius:10px;background:#fafcfd;padding:.55rem .65rem;display:grid;grid-gap:.25rem;gap:.25rem}.chart-shell{border:1px solid var(--border);border-radius:12px;background:#fcfdff;padding:.6rem}.chart-legend{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 .45rem;color:var(--muted);font-size:.82rem}.chart-legend span{display:inline-flex;align-items:center;gap:.35rem}.chart-legend i{width:10px;height:10px;border-radius:999px;display:inline-block}.chart-svg{width:100%;height:auto;display:block}.chart-grid{stroke:#dbe4ea;stroke-width:1}.chart-axis-label{fill:#64748b;font-size:10px}.bar-chart{display:grid;grid-gap:.45rem;gap:.45rem}.bar-row{display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(120px,3fr) auto;grid-gap:.55rem;gap:.55rem;align-items:center}.bar-row__label{font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-row__track{height:10px;border-radius:999px;background:#e9eff4;overflow:hidden}.bar-row__fill{height:100%;border-radius:999px}.bar-row__value{font-size:.82rem;color:var(--muted);min-width:32px;text-align:right}.poster-upload-box{border:1px dashed var(--border);border-radius:12px;padding:.75rem;display:grid;grid-gap:.6rem;gap:.6rem}.poster-upload-form{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.poster-upload-form input[type=file]{flex:1 1 260px}.poster-preview{display:grid;grid-gap:.45rem;gap:.45rem}.poster-preview img{width:180px;max-width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:#f2f7f9}.btn-inline{border:1px solid var(--border);background:#fff;border-radius:8px;padding:.35rem .55rem;cursor:pointer}.btn-inline.danger{color:#9b1c1c}.collection-head h3{margin:0}@media (max-width:840px){.form-grid.two-col,.layout{grid-template-columns:1fr}.span-2{grid-column:auto}}