:root{
  --cream:#F8F3E8;
  --sage:#A8B39A;
  --gold:#D3AA63;
  --peach:#E8C7B5;
  --white:#FFFDF8;
  --olive:#52604B;
  --text:#3d3a30;
  --border:#e3d9c4;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:'Segoe UI',Tahoma,Arial,sans-serif;
  background:var(--cream);
  color:var(--text);
}
a{color:var(--olive);text-decoration:none}
a:hover{text-decoration:underline}

.topbar{
  background:var(--olive);
  color:var(--white);
  padding:18px 28px;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.topbar h1{
  font-family:'Georgia',serif;
  font-size:20px;
  margin:0;
  letter-spacing:.5px;
}
.topbar .sub{font-size:12px;opacity:.8}

.container{max-width:1100px;margin:0 auto;padding:24px}

.flash{
  padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;
}
.flash-ok{background:#e5f0e0;color:#3c5c2f;border:1px solid #bcd7ab}
.flash-err{background:#fbe6e2;color:#8a2f1f;border:1px solid #f0b6a8}

.scene-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:16px;
}
.scene-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  padding:16px;
  transition:box-shadow .15s;
}
.scene-card:hover{box-shadow:0 4px 14px rgba(82,96,75,.15)}
.scene-card .num{
  display:inline-block;background:var(--gold);color:var(--white);
  font-size:12px;font-weight:600;padding:2px 9px;border-radius:20px;margin-bottom:8px;
}
.scene-card h3{margin:4px 0 6px;font-size:16px}
.scene-card .time{font-size:12px;color:#7a7a6a;margin-bottom:10px}
.scene-card .counts{display:flex;gap:10px;font-size:12px;color:var(--olive);flex-wrap:wrap}
.scene-card .counts span{background:var(--cream);padding:3px 8px;border-radius:6px}

.badge{
  font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;
  display:inline-block;margin-left:6px;
}
.badge-draft{background:#eee;color:#777}
.badge-progress{background:#fdeecb;color:#9a6b12}
.badge-review{background:#dbe6f5;color:#2b5590}
.badge-done{background:#dcefd6;color:#2f6c3c}

.card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  padding:20px;
  margin-bottom:20px;
}
.card h2{margin-top:0;font-size:18px;color:var(--olive)}
.card h3{font-size:15px;color:var(--olive);margin-bottom:10px}

label{display:block;font-size:13px;font-weight:600;margin:10px 0 4px}
input[type=text],input[type=file],select,textarea{
  width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:7px;
  font-size:14px;font-family:inherit;background:#fffefb;
}
textarea{resize:vertical}

.btn{
  display:inline-block;background:var(--gold);color:#fff;border:none;
  padding:9px 18px;border-radius:7px;font-size:14px;cursor:pointer;font-weight:600;
}
.btn:hover{background:#c1954f;text-decoration:none}
.btn-secondary{background:var(--sage)}
.btn-secondary:hover{background:#8f9c81}
.btn-danger{background:#c0564a}
.btn-danger:hover{background:#a3453b}
.btn-sm{padding:5px 11px;font-size:12px}

.media-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:10px;
}
.media-item{
  border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fffefb;
}
.media-item img{width:100%;height:110px;object-fit:cover;display:block}
.media-item .meta{padding:8px}
.media-item .meta .cap{font-size:12px;font-weight:600;margin-bottom:2px}
.media-item .meta .fname{font-size:11px;color:#888;word-break:break-all}
.media-item .meta form{margin-top:6px}

.audio-item{padding:10px}
.audio-item audio{width:100%;margin-top:6px}

.back-link{font-size:13px;margin-bottom:14px;display:inline-block}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:700px){.grid-2{grid-template-columns:1fr}}

.small-note{font-size:12px;color:#888;margin-top:4px}

.stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.stat-box{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:12px 18px;text-align:center;min-width:100px}
.stat-box .n{font-size:22px;font-weight:700;color:var(--olive)}
.stat-box .l{font-size:11px;color:#888}
