:root{--primary:#e23744;--primary-dark:#8f1d29;--accent:#f4a261;--ink:#24191d;--muted:#796b6f;--bg:#f8f5f2;--hero:linear-gradient(135deg, #fff2ea 0%, #fff 55%, #fff7f4 100%);--card:#fff;--line:#eadfd7;--line-strong:#ddc8bb;--shadow:0 24px 60px #2c1a1e14}*{box-sizing:border-box}body{background:radial-gradient(circle at top right, #f4a2611f, transparent 25%), radial-gradient(circle at top left, #e2374414, transparent 28%), var(--bg);color:var(--ink);margin:0;font-family:Manrope,Segoe UI,sans-serif}main{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 42px}h1,h2,p,b,span,small,strong{margin:0}h1{letter-spacing:-.04em;font-family:Sora,Segoe UI,sans-serif;font-size:clamp(32px,5vw,54px)}h2{letter-spacing:-.03em;font-family:Sora,Segoe UI,sans-serif;font-size:24px}.topbar,.sectionHead,.row,.auth,button,.search,.uploadHeader,.uploadButton{align-items:center;display:flex}.topbar{justify-content:space-between;gap:20px;margin-bottom:18px}.eyebrow{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:900}.muted,.status,.empty,.bannerGuide span,.uploadHeader span,.bannerFields label span{color:var(--muted)}button{background:linear-gradient(135deg, var(--primary) 0%, #ff5d5b 100%);color:#fff;cursor:pointer;border:0;border-radius:14px;gap:8px;height:46px;padding:0 18px;font-weight:900;box-shadow:0 12px 30px #e237442e}button:disabled{opacity:.65;cursor:wait;box-shadow:none}.ghost{color:var(--primary);border:1px solid var(--line-strong);box-shadow:none;background:#fff}.panel,.metrics article{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px}.panel{margin-top:18px;padding:22px}.auth{background:var(--hero);gap:12px}.formGrid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.checkField{border:1px solid var(--line);background:#fffdfa;border-radius:14px;align-items:center;gap:10px;min-height:48px;padding:0 14px;font-weight:800;display:flex}.checkField input{width:auto;height:auto}input,select{border:1px solid var(--line);width:100%;height:48px;font:inherit;color:var(--ink);background:#fffdfa;border-radius:14px;padding:0 14px}input:focus,select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 4px #e2374414}.status{margin-top:12px;font-size:14px}.metrics{grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-top:20px;display:grid}.metrics article{background:linear-gradient(#fffdfb 0%,#fff 100%);padding:18px}.metrics span{color:var(--muted);text-transform:capitalize;display:block}.metrics b{margin-top:10px;font-family:Sora,Segoe UI,sans-serif;font-size:32px;display:block}.sectionHead{justify-content:space-between;gap:14px;margin-bottom:16px}.search{border:1px solid var(--line);background:#fffdfa;border-radius:14px;gap:8px;min-width:280px;padding:0 12px}.search input{background:0 0;border:0;padding:0}.list,.bannerList{gap:0;display:grid}.row,.bannerRow{border-top:1px solid var(--line);justify-content:space-between;gap:14px;padding:16px 0}.row:first-child,.bannerRow:first-child{border-top:0}.avatar{width:46px;height:46px;color:var(--primary);background:#fff2e7;border-radius:14px;place-items:center;display:grid}.grow{flex:1;min-width:180px}.grow b,.grow span,.grow small{display:block}.grow span,.grow small{color:var(--muted);margin-top:4px}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.pill{color:var(--primary-dark);white-space:nowrap;background:#fff1e6;border-radius:999px;padding:8px 12px;font-size:13px}.bannerPanel{background:linear-gradient(#fffdfa 0%,#fff 100%)}.bannerGuide{border:1px solid var(--line);background:#fff6ef;border-radius:18px;gap:4px;margin-bottom:16px;padding:14px 16px;display:grid}.bannerForm{grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);align-items:start;gap:18px;display:grid}.uploadCard{border:1px dashed var(--line-strong);background:linear-gradient(#fff7f1 0%,#fff 100%);border-radius:22px;gap:14px;padding:18px;display:grid}.uploadHeader{gap:12px}.uploadHeader b,.bannerGuide strong{font-family:Sora,Segoe UI,sans-serif}.uploadButton{border:1px solid var(--line-strong);height:48px;color:var(--primary);cursor:pointer;background:#fff;border-radius:14px;justify-content:center;gap:8px;font-weight:800;position:relative;overflow:hidden}.uploadButton input{opacity:0;cursor:pointer;position:absolute;inset:0}.bannerPreview{border:1px solid var(--line);aspect-ratio:16/9;background:#fff;border-radius:20px;overflow:hidden}.bannerPreview img,.bannerThumb img{object-fit:cover;width:100%;height:100%;display:block}.bannerFields{gap:12px;display:grid}.bannerFields label{gap:8px;display:grid}.bannerFields label span{font-size:13px;font-weight:800}.fullWidth{justify-content:center;width:100%}.bannerThumb{aspect-ratio:16/9;border:1px solid var(--line);background:#fff7f1;border-radius:18px;width:210px;min-width:210px;overflow:hidden}.bannerPlaceholder{width:100%;height:100%;color:var(--muted);place-items:center;font-weight:700;display:grid}@media (width<=980px){.bannerForm{grid-template-columns:1fr}}@media (width<=820px){.topbar,.sectionHead,.row,.auth,.bannerRow{flex-direction:column;align-items:stretch}.metrics{grid-template-columns:repeat(2,1fr)}.search{width:100%;min-width:0}.actions{justify-content:flex-start}.bannerThumb{width:100%;min-width:0}}
