:root, [data-bs-theme=dark] {
  --gold:#d9ae52; --gold-hi:#f3d98b; --gold-lo:#8f6f2a;
  --bs-body-bg:#08110d; --bs-body-color:#e6e2d3; --bs-link-color:#f3d98b; --bs-link-hover-color:#fff3c9;
  --bs-link-color-rgb:243,217,139; --bs-link-hover-color-rgb:255,243,201; --bs-border-color:rgba(217,174,82,.22);
}
body { background:#08110d; }
.admin-nav { background:#050a07; border-bottom:1px solid rgba(217,174,82,.3); }
.admin-nav .navbar-brand { color:var(--gold-hi); font-weight:700; }
.admin-nav .nav-link { color:#d9d5c4; }
.admin-nav .nav-link:hover, .admin-nav .nav-link.active { color:var(--gold-hi); }
.admin-nav .nav-link.active { border-bottom:2px solid var(--gold); }
.navbar-toggler { color:var(--gold-hi); border-color:rgba(217,174,82,.4); }
.card-a { background:#0d1c15; border:1px solid rgba(217,174,82,.22); border-radius:4px; padding:1.25rem; }
.card-a.p-0 { padding:0; }
.btn-gold { background:linear-gradient(180deg,#f3d98b,#d9ae52 60%,#b98b34); color:#1a1304; border:0; font-weight:700; }
.btn-gold:hover { color:#000; filter:brightness(1.1); }
.btn-outline-gold { color:var(--gold-hi); border:1px solid var(--gold-lo); }
.btn-outline-gold:hover { background:rgba(217,174,82,.15); color:#fff3c9; border-color:var(--gold); }
.nav-pills .nav-link { color:#d9d5c4; border-radius:3px; }
.nav-pills .nav-link.active { background:rgba(217,174,82,.2); color:var(--gold-hi); }
.form-control, .form-select { background-color:#07110c; border-color:rgba(217,174,82,.3); color:#eee; }
.form-control:focus, .form-select:focus { background-color:#07110c; border-color:var(--gold); box-shadow:0 0 0 .2rem rgba(243,217,139,.2); color:#fff; }
.form-check-input:checked { background-color:var(--gold); border-color:var(--gold); }
.table { --bs-table-bg:transparent; --bs-table-color:#e6e2d3; --bs-table-border-color:rgba(217,174,82,.15); }
.stat { display:flex; flex-direction:column; align-items:center; gap:.1rem; padding:1rem .5rem; text-align:center; text-decoration:none; color:#d9d5c4;
  background:#0d1c15; border:1px solid rgba(217,174,82,.22); border-radius:4px; }
.stat:hover { border-color:var(--gold); }
.stat i { font-size:1.4rem; color:var(--gold); } .stat strong { font-size:1.8rem; color:var(--gold-hi); line-height:1.1; }
/* media */
.media-card { background:#0d1c15; border:1px solid rgba(217,174,82,.22); border-radius:4px; overflow:hidden; height:100%; }
.media-thumb { position:relative; aspect-ratio:16/10; display:grid; place-items:center; background:#050a07; font-size:2.6rem; color:var(--gold-lo); }
.media-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.media-thumb .kind { position:absolute; left:6px; top:6px; } .media-thumb .ingal { position:absolute; right:6px; top:6px; }
/* cover picker */
.picker { display:grid; grid-template-columns:repeat(auto-fill,minmax(64px,1fr)); gap:6px; max-height:210px; overflow:auto; padding:2px; }
.pick { aspect-ratio:1; padding:0; border:2px solid transparent; background:#050a07; color:#9aa; font-size:.8rem; overflow:hidden; border-radius:3px; }
.pick img { width:100%; height:100%; object-fit:cover; display:block; }
.pick.sel { border-color:var(--gold); }
/* messages */
.msg-item { background:transparent; color:#d9d5c4; border-color:rgba(217,174,82,.15); }
.msg-item.active { background:rgba(217,174,82,.15); color:#fff; border-color:rgba(217,174,82,.15); }
.unread { font-size:.55rem; color:var(--gold); vertical-align:middle; }
.msg-body { white-space:normal; line-height:1.7; }
/* quill editor in dark admin */
.ql-toolbar.ql-snow { background:#13271d; border-color:rgba(217,174,82,.3); border-radius:4px 4px 0 0; }
.ql-container.ql-snow { background:#07110c; border-color:rgba(217,174,82,.3); border-radius:0 0 4px 4px; font-size:1.05rem; color:#eee; }
.ql-editor { min-height:320px; line-height:1.7; }
.ql-editor img { max-width:100%; }
.ql-snow .ql-stroke { stroke:#e6e2d3; } .ql-snow .ql-fill { fill:#e6e2d3; } .ql-snow .ql-picker { color:#e6e2d3; }
.ql-snow .ql-picker-options { background:#13271d; } .ql-snow.ql-toolbar button:hover .ql-stroke, .ql-snow.ql-toolbar .ql-active .ql-stroke { stroke:var(--gold-hi); }
.ql-snow.ql-toolbar .ql-active .ql-fill { fill:var(--gold-hi); }
/* login */
.login-body { min-height:100vh; display:grid; place-items:center; background:radial-gradient(700px 400px at 50% 0, rgba(47,158,118,.18), transparent 70%), #050806; padding:1rem; }
.login-card { width:100%; max-width:380px; text-align:center; background:#0d1c15; border:1px solid rgba(217,174,82,.35); padding:2rem; border-radius:4px; }
.login-card h1 { color:var(--gold-hi); }
