:root{--orange:#ff681f;--orange-soft:#fff0e7;--ink:#211a17;--muted:#7d746f;--line:#ebe5e1;--paper:#fff;--canvas:#f7f5f3;--green:#1e9b65}*{box-sizing:border-box}body{margin:0;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--canvas)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 10%,#ffd8bd 0,transparent 32%),radial-gradient(circle at 90% 90%,#ffe7d9 0,transparent 28%),#f7f3ef}.login-card{width:min(440px,100%);background:#fff;padding:44px;border-radius:28px;box-shadow:0 24px 80px #6c32151c}.brand-mark{width:58px;height:58px;display:grid;place-items:center;background:#090303;color:white;border-radius:18px;font-size:27px;font-weight:900;box-shadow:0 10px 28px #7a000055;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:20px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--orange);margin:22px 0 7px}.login-card h1,header h1{margin:0;font-size:32px}.muted{color:var(--muted);margin:7px 0}.login-card form{margin-top:30px}label{display:grid;gap:8px;font-size:13px;font-weight:700;color:#504742}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;outline:none;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.login-card button,.primary{border:0;background:var(--orange);color:#fff;border-radius:12px;padding:13px 18px;font-weight:800;cursor:pointer}.login-card form>button{margin-top:18px;width:100%;display:flex;justify-content:space-between}.error{color:#c8372d;font-size:13px;min-height:20px}.app{min-height:100vh;display:grid;grid-template-columns:238px 1fr}aside{position:fixed;inset:0 auto 0 0;width:238px;background:#211a17;color:white;padding:26px 18px;display:flex;flex-direction:column}.side-brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.side-brand strong,.side-brand span{display:block}.side-brand span{font-size:11px;color:#a99e98;margin-top:3px;letter-spacing:.12em}.nav-item{width:100%;border:0;background:transparent;color:#bfb5af;text-align:left;padding:13px 14px;border-radius:12px;margin:3px 0;cursor:pointer}.nav-item span{display:inline-block;width:25px}.nav-item.active{background:#ffffff12;color:white}.nav-item i{float:right;font-size:9px;font-style:normal;color:#756d68}.side-foot{margin-top:auto;font-size:12px;color:#aaa09a;padding:12px}.side-foot button{float:right;background:none;border:0;color:#aaa09a;cursor:pointer}.status-dot{display:inline-block;width:7px;height:7px;background:#39cb86;border-radius:50%;margin-right:7px;box-shadow:0 0 0 4px #39cb8622}main{grid-column:2;padding:42px clamp(24px,4vw,60px);max-width:1500px;width:100%;margin:auto}header{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px}header .eyebrow{margin-top:0}.primary{box-shadow:0 8px 24px #ff681f30}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.stat{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px}.stat span{font-size:12px;color:var(--muted)}.stat strong{display:block;font-size:27px;margin-top:8px}.stat.orange{background:linear-gradient(135deg,#ff7b34,var(--orange));color:#fff;border:0}.stat.orange span{color:#ffe9dd}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:24px}.panel h2{margin:0}.filters{display:flex;gap:10px}.filters input{width:210px}.drama-list{min-height:260px}.drama-row{display:grid;grid-template-columns:minmax(240px,1.8fr) 110px 100px 120px 190px;gap:18px;align-items:center;padding:16px 24px;border-top:1px solid var(--line)}.drama-info{display:flex;align-items:center;gap:14px;min-width:0}.poster{width:48px;height:64px;border-radius:10px;background:linear-gradient(160deg,#391d17,#ff8443);display:grid;place-items:center;color:white;font-weight:900;flex:none}.drama-info strong,.drama-info span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drama-info span{color:var(--muted);font-size:12px;margin-top:5px}.cell-label{display:block;font-size:10px;color:#9b918b;margin-bottom:5px}.badge{display:inline-flex;padding:5px 9px;border-radius:99px;font-size:11px;font-weight:700}.badge.live{background:#e9f7f1;color:var(--green)}.badge.draft{background:#f1efed;color:#6b625d}.badge.offline{background:#fdeceb;color:#be443b}.actions{display:flex;justify-content:flex-end;gap:8px}.actions button,.ghost,.icon{border:1px solid var(--line);background:white;border-radius:10px;padding:8px 11px;cursor:pointer}.actions button.recommend.active{background:var(--orange-soft);border-color:#ffd0b5;color:var(--orange)}dialog{border:0;border-radius:22px;padding:0;width:min(620px,calc(100% - 32px));box-shadow:0 30px 100px #211a1740}dialog::backdrop{background:#211a1777;backdrop-filter:blur(4px)}#dramaForm{padding:28px}.dialog-head{display:flex;justify-content:space-between}.dialog-head .eyebrow{margin:0 0 5px}.dialog-head h2{margin:0}.icon{font-size:22px;border:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px;margin-top:25px}.wide{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.toast{position:fixed;right:24px;bottom:24px;background:#211a17;color:white;padding:12px 18px;border-radius:12px;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:none}.empty{text-align:center;color:var(--muted);padding:70px}@media(max-width:980px){.stats{grid-template-columns:repeat(2,1fr)}.drama-row{grid-template-columns:1fr 90px 160px}.drama-row>div:nth-child(2),.drama-row>div:nth-child(3){display:none}}@media(max-width:720px){.app{display:block}aside{position:static;width:100%;height:auto}.side-brand{padding-bottom:12px}aside nav,.side-foot{display:none}main{padding:24px 14px}header{align-items:flex-start}.stats{grid-template-columns:1fr 1fr}.panel-head{align-items:stretch;gap:16px;flex-direction:column}.filters{flex-direction:column}.filters input{width:100%}.drama-row{grid-template-columns:1fr}.drama-row>div:not(:first-child):not(:last-child){display:none}.actions{justify-content:flex-start}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}}
