:root { --bg:#0f1115; --card:#181b22; --line:#262b35; --fg:#e8eaed; --mut:#9aa3b2; --acc:#6ea8fe; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:15px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; }
a { color:var(--acc); text-decoration:none; }
header.top { display:flex; align-items:center; gap:16px; padding:14px 22px; border-bottom:1px solid var(--line); flex-wrap:wrap; }
header.top .brand { font-size:19px; font-weight:700; letter-spacing:.3px; color:var(--fg); }
header.top .search { flex:1; min-width:180px; }
header.top input[type=search] { width:100%; max-width:520px; padding:9px 12px; border:1px solid var(--line); border-radius:9px; background:#0c0e13; color:var(--fg); }
header.top .userbox { display:flex; gap:12px; align-items:center; font-size:13.5px; color:var(--mut); }
.btn { display:inline-block; padding:8px 14px; border-radius:9px; background:var(--acc); color:#06101f; font-weight:700; border:0; cursor:pointer; }
.btn.sec { background:transparent; border:1px solid var(--line); color:var(--fg); }
.btn:disabled { opacity:.5; cursor:default; }
main { max-width:1180px; margin:0 auto; padding:22px; }
.chips { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:18px; }
.chip { padding:5px 12px; border:1px solid var(--line); border-radius:999px; color:var(--mut); cursor:pointer; font-size:13px; }
.chip.active { border-color:var(--acc); color:var(--fg); }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:16px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:12px; overflow:hidden; color:inherit; transition:border-color .15s, transform .15s; display:block; }
.card:hover { border-color:var(--acc); transform:translateY(-2px); }
.thumb { aspect-ratio:1/1; background:#0a0c10 center/cover no-repeat; }
.meta { padding:11px 13px; }
.meta h3 { margin:0 0 4px; font-size:14.5px; }
.row { display:flex; justify-content:space-between; align-items:center; color:var(--mut); font-size:12.5px; }
.price { color:var(--fg); font-weight:700; }
.pill { display:inline-block; padding:1px 8px; border:1px solid var(--line); border-radius:999px; font-size:11px; color:var(--mut); }
.muted { color:var(--mut); }
.detail { display:grid; grid-template-columns:1.4fr 1fr; gap:28px; }
.viewer { position:relative; }
model-viewer { width:100%; aspect-ratio:1/1; background:#0a0c10; border:1px solid var(--line); border-radius:12px; }
.gallery { position:relative; }
.gallery .vwrap { position:relative; }
.gallery .main { width:100%; aspect-ratio:1/1; background:#0a0c10 center/cover no-repeat; border:1px solid var(--line); border-radius:12px; }
.gallery .strip { display:flex; gap:8px; margin-top:8px; }
.gallery .gthumb { width:62px; height:62px; border-radius:8px; background:#0a0c10 center/cover no-repeat; border:1px solid var(--line); cursor:pointer; }
.gallery .gthumb.active { border-color:var(--acc); }
.view3d-btn { margin-top:12px; width:100%; }
.wm { position:absolute; inset:0; pointer-events:none; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:44px; letter-spacing:8px; color:rgba(255,255,255,.10); transform:rotate(-20deg); }
.wm small { position:absolute; bottom:10px; right:14px; font-size:11px; letter-spacing:1px; color:rgba(255,255,255,.32); transform:none; }
.tier { border:1px solid var(--line); border-radius:9px; padding:9px 12px; margin-bottom:8px; display:flex; justify-content:space-between; align-items:center; }
.tier .specs { color:var(--mut); font-size:12px; }
.tier .fmts { display:flex; gap:6px; }
.btn.fmt { padding:5px 10px; font-size:12px; }
.card-box { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:18px; }
input[type=number] { padding:9px 11px; border:1px solid var(--line); border-radius:9px; background:#0c0e13; color:var(--fg); width:110px; }
@media (max-width:820px){ .detail { grid-template-columns:1fr; } }
footer { color:var(--mut); font-size:12px; text-align:center; padding:26px; border-top:1px solid var(--line); margin-top:30px; }

/* Pagination */
.pager { display:flex; align-items:center; justify-content:center; gap:6px; flex-wrap:wrap; padding:24px 16px 44px; }
.pager .pbtn { padding:8px 13px; border:1px solid var(--line); border-radius:9px; background:var(--card); color:var(--fg); cursor:pointer; font-size:14px; }
.pager .pbtn:hover:not(:disabled) { border-color:var(--acc); }
.pager .pbtn:disabled { opacity:.4; cursor:default; }
.pager .pnum { min-width:40px; text-align:center; }
.pager .pnum.active { border-color:var(--acc); color:var(--fg); background:#0c0e13; font-weight:700; cursor:default; }
.pager .pgap { color:var(--mut); padding:0 2px; }

/* Filters */
.filters { display:flex; gap:14px; align-items:center; margin-bottom:18px; }
.filters .toggle { display:inline-flex; align-items:center; gap:7px; color:var(--mut); font-size:13.5px; cursor:pointer; user-select:none; }
.filters .toggle input { accent-color:var(--acc); width:15px; height:15px; cursor:pointer; }

/* Admin panel */
.admrow-grid { display:flex; gap:14px; align-items:flex-start; }
.admthumb { width:84px; height:84px; flex:none; border-radius:9px; border:1px solid var(--line); }
.admrow input, .admrow textarea { padding:7px 9px; border:1px solid var(--line); border-radius:8px; background:#0c0e13; color:var(--fg); font:inherit; }
.admrow .f-title { width:100%; font-weight:700; margin-bottom:6px; }
.admrow .f-desc { width:100%; resize:vertical; }
.admrow-controls { display:flex; gap:14px; align-items:center; flex-wrap:wrap; margin-top:8px; color:var(--mut); font-size:12.5px; }
.admrow-controls label { display:inline-flex; gap:6px; align-items:center; }

/* Admin analytics */
.anstats { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.anstat { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:14px 20px; min-width:140px; }
.anstat .ansnum { font-size:26px; font-weight:800; }
.ancols { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
@media (max-width:820px){ .ancols { grid-template-columns:1fr; } }
