:root{
  --bg:#0f1411; --panel:#161d18; --panel2:#1d2620; --line:#2a342c;
  --text:#e8efe9; --muted:#90a094; --gold:#c9a368; --green:#3f7d5e; --danger:#c25b52;
  --radius:14px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Jost,system-ui,sans-serif;font-size:15px;line-height:1.5}
a{color:var(--gold);text-decoration:none}
.wrap{max-width:980px;margin:0 auto;padding:24px 18px 80px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.brand{font-weight:700;font-size:18px;color:var(--text);letter-spacing:.5px}
.brand span{color:var(--gold)}
.topbar nav{display:flex;gap:18px;align-items:center}
.topbar nav a{color:var(--muted)}
.topbar nav a:hover{color:var(--text)}
button.link{background:none;border:none;color:var(--muted);font:inherit;cursor:pointer;padding:0}
button.link:hover{color:var(--text)}

h1{font-size:26px;margin:0 0 4px}
h2{font-size:18px;margin:30px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.sub{color:var(--muted);margin:0 0 24px}

.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:14px}
.row{display:flex;gap:12px;flex-wrap:wrap}
.row>*{flex:1;min-width:160px}

label{display:block;font-size:13px;color:var(--muted);margin:12px 0 6px}
input,select,textarea{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 12px;font:inherit}
input:focus,select,textarea:focus{outline:none;border-color:var(--gold)}
textarea{min-height:80px;resize:vertical}
small.hint{color:var(--muted);font-size:12px;display:block;margin-top:4px}

.btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:#1b1208;border:none;border-radius:10px;padding:11px 18px;font:inherit;font-weight:600;cursor:pointer}
.btn:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn.green{background:var(--green);color:#fff}
.btn.danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}
.btn.sm{padding:7px 12px;font-size:13px}

.tag{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--line)}
.tag.live{color:#7fd6a6;border-color:#2f6b4c;background:#13261d}
.tag.draft{color:var(--muted)}

.list-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px}
.list-item h3{margin:0 0 4px;font-size:17px}
.list-item .meta{color:var(--muted);font-size:13px}
.actions{display:flex;gap:8px;flex-wrap:wrap}

.empty{text-align:center;padding:60px 20px;color:var(--muted)}
.flash{background:#13261d;border:1px solid #2f6b4c;color:#9fe3bd;padding:12px 14px;border-radius:10px;margin-bottom:16px}
.flash.err{background:#2a1614;border-color:#5a2a26;color:#f0a59d}

.repeat-row{display:flex;gap:8px;align-items:flex-end;margin-bottom:8px}
.repeat-row>*{flex:1}
.repeat-row .del{flex:0 0 auto}

.thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.thumb{position:relative;width:96px;height:96px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb form{position:absolute;top:4px;right:4px}
.thumb button{background:rgba(0,0,0,.6);border:none;color:#fff;border-radius:6px;width:22px;height:22px;cursor:pointer;line-height:1}
.preview-img{width:110px;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--line);margin-top:8px}

.guest-link{font-size:13px;color:var(--muted);word-break:break-all}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}
th{color:var(--muted);font-weight:600}
.login-box{max-width:380px;margin:8vh auto}
.center{text-align:center}
.copybtn{cursor:pointer}
