:root{
  --bg:#08131f;
  --panel:#10263d;
  --card:#183554;
  --accent:#c8102e;
  --accent2:#ffcc00;
  --text:#f5f7fa;
  --muted:#b8c2cc;
  --border:#2d4a68;
  --good:#1fbf75;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  background:linear-gradient(180deg,#08131f,#0e2137 35%,#08131f);
  color:var(--text);
}
.topbar{
  display:flex;justify-content:space-between;align-items:center;
  gap:12px;padding:18px 20px;background:#0b1b2c;border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:10
}
.topbar h1{margin:0;font-size:1.5rem}
.sub{margin:4px 0 0;color:var(--muted)}
.shell{max-width:1100px;margin:0 auto;padding:20px}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px}
.grid{display:grid;gap:16px}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.row{display:flex;gap:10px;align-items:center}
.row.between{justify-content:space-between}
label{display:block;margin:12px 0 6px;color:var(--muted)}
input,select,textarea,button{
  width:100%;padding:12px;border-radius:12px;border:1px solid var(--border);
  background:#0f2237;color:var(--text);font-size:1rem
}
button{background:var(--accent);border:none;font-weight:700;cursor:pointer}
button.ghost{background:transparent;border:1px solid var(--border)}
button:hover{filter:brightness(1.05)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.tab{width:auto;background:#0d2033;border:1px solid var(--border);padding:10px 14px}
.tab.active{background:var(--accent);border-color:var(--accent)}
.badge,.pill,.notice{
  display:inline-block;padding:8px 10px;border-radius:999px;background:#0d2033;border:1px solid var(--border)
}
.notice{border-radius:12px;margin-top:12px}
.muted{color:var(--muted)}
.big{font-size:1.35rem;font-weight:700;margin:8px 0}
.list{display:grid;gap:8px}
.drama-feed{display:grid;gap:8px}
.drama-item{background:#0f2237;border:1px solid var(--border);padding:10px;border-radius:12px}
table{width:100%;border-collapse:collapse}
th,td{padding:12px 8px;border-bottom:1px solid var(--border);text-align:left;font-size:.96rem}
th{color:var(--muted)}
.hidden{display:none!important}
.help{margin-top:10px;color:var(--muted);font-size:.92rem}
hr{border:none;border-top:1px solid var(--border);margin:16px 0}
.auth-panel{max-width:520px;margin:40px auto}
@media (max-width:700px){
  .topbar{align-items:flex-start;flex-direction:column}
}
