:root { --ink:#0c0c0c; --panel:#171715; --panel2:#22211e; --gold:#d3a64c; --paper:#f2ede3; --muted:#9d978c; --line:rgba(255,255,255,.1); --danger:#e46d63; --success:#7fc88f; }
* { box-sizing: border-box; }
body { margin:0; color:#fff; background:#0d0d0c; font-family:Tahoma,Arial,sans-serif; line-height:1.65; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
img,video { display:block; max-width:100%; }
::selection { color:var(--ink); background:var(--gold); }
.login-page { min-height:100vh; background:radial-gradient(circle at 20% 20%,rgba(211,166,76,.14),transparent 25%),#0b0b0b; }
.login-shell { min-height:100vh; display:grid; grid-template-columns:1fr minmax(380px,560px); }
.login-brand { padding:8vw; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(135deg,rgba(0,0,0,.2),rgba(0,0,0,.74)),url('../images/products/product-20.jpg') center/cover; }
.login-brand img { width:min(390px,70%); }
.login-brand p { max-width:430px; margin:0; color:rgba(255,255,255,.72); font-size:18px; }
.login-card { padding:clamp(45px,8vw,110px) clamp(28px,6vw,80px); display:flex; flex-direction:column; justify-content:center; background:#11110f; }
.overline { color:var(--gold)!important; font:700 10px/1 Arial,sans-serif; letter-spacing:.17em; }
.login-card h1 { margin:14px 0 6px; font-size:clamp(34px,4vw,58px); font-weight:500; }
.login-card>p:not(.overline) { margin:0 0 35px; color:var(--muted); }
label { display:grid; gap:8px; color:#c7c1b7; font-size:12px; }
input,textarea,select { width:100%; border:1px solid rgba(255,255,255,.14); border-radius:2px; outline:0; color:#fff; background:#1a1a18; transition:border-color .2s,box-shadow .2s; }
input,select { height:48px; padding:0 14px; }
textarea { min-height:105px; padding:12px 14px; resize:vertical; }
input:focus,textarea:focus,select:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(211,166,76,.11); }
.login-card form { display:grid; gap:18px; }
.primary-button,.secondary-button,.danger-button { min-height:48px; padding:0 20px; display:inline-flex; align-items:center; justify-content:center; gap:14px; border:1px solid transparent; border-radius:2px; cursor:pointer; font-size:12px; transition:.2s ease; }
.primary-button { color:var(--ink); background:var(--gold); }
.primary-button:hover { background:#efce83; transform:translateY(-1px); }
.secondary-button { color:#fff; border-color:rgba(255,255,255,.18); background:transparent; }
.secondary-button:hover { border-color:var(--gold); color:var(--gold); }
.danger-button { min-height:38px; color:#ffafa8; border-color:rgba(228,109,99,.35); background:rgba(228,109,99,.08); }
.danger-button:hover { color:#fff; background:var(--danger); }
.back-link { margin-top:28px; color:var(--muted); font-size:11px; }
.notice { margin:0 0 24px; padding:12px 14px; border:1px solid; font-size:12px; }
.notice.error { color:#ffb3ac; border-color:rgba(228,109,99,.38); background:rgba(228,109,99,.1); }
.notice.success { color:#a9e7b6; border-color:rgba(127,200,143,.38); background:rgba(127,200,143,.1); }
.admin-layout { min-height:100vh; display:grid; grid-template-columns:260px 1fr; }
.admin-sidebar { position:sticky; top:0; height:100vh; padding:30px 23px; display:flex; flex-direction:column; border-inline-end:1px solid var(--line); background:#0a0a09; }
.admin-sidebar .logo { padding:0 8px 27px; border-bottom:1px solid var(--line); }
.admin-sidebar .logo img { width:170px; }
.admin-nav { display:grid; gap:6px; margin-top:28px; }
.admin-nav a { padding:11px 13px; border-radius:3px; color:var(--muted); font-size:12px; transition:.2s; }
.admin-nav a:hover { color:#fff; background:rgba(255,255,255,.05); }
.admin-nav a span { display:inline-block; width:28px; color:var(--gold); font:700 9px/1 Arial,sans-serif; }
.sidebar-bottom { margin-top:auto; display:grid; gap:8px; }
.sidebar-bottom a { padding:10px 12px; color:var(--muted); border:1px solid var(--line); font-size:10px; text-align:center; }
.admin-main { min-width:0; padding:clamp(24px,4vw,60px); }
.admin-topbar { display:flex; align-items:end; justify-content:space-between; gap:25px; margin-bottom:35px; }
.admin-topbar h1 { margin:6px 0 0; font-size:clamp(28px,3.3vw,48px); font-weight:500; }
.admin-topbar p { margin:0; color:var(--muted); font-size:11px; }
.status-pill { padding:8px 13px; border:1px solid rgba(127,200,143,.3); border-radius:999px; color:#a9e7b6; background:rgba(127,200,143,.07); font-size:10px; }
.stats-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:32px; }
.stat-card { padding:22px; border:1px solid var(--line); background:var(--panel); }
.stat-card strong { display:block; color:var(--gold); font:400 34px/1 Georgia,serif; }
.stat-card span { display:block; margin-top:9px; color:var(--muted); font-size:10px; }
.admin-section { margin-top:24px; padding:clamp(20px,3vw,34px); border:1px solid var(--line); background:var(--panel); scroll-margin-top:24px; }
.section-title { display:flex; align-items:end; justify-content:space-between; gap:20px; padding-bottom:20px; margin-bottom:24px; border-bottom:1px solid var(--line); }
.section-title h2 { margin:0; font-size:21px; font-weight:500; }
.section-title p { margin:5px 0 0; color:var(--muted); font-size:10px; }
.section-title code { color:var(--gold); font:10px Arial,sans-serif; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.form-grid .full { grid-column:1/-1; }
.form-grid .three { grid-column:auto; }
.language-fields { display:grid; grid-template-columns:repeat(3,1fr); gap:13px; }
.language-box { padding:15px; border:1px solid var(--line); background:#121210; }
.language-box>strong { display:block; margin-bottom:12px; color:var(--gold); font:700 9px/1 Arial,sans-serif; letter-spacing:.12em; }
.language-box label+label { margin-top:12px; }
.file-drop { position:relative; min-height:150px; padding:25px; display:grid; place-items:center; border:1px dashed rgba(211,166,76,.45); color:var(--muted); background:#121210; text-align:center; cursor:pointer; }
.file-drop input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.file-drop strong { display:block; color:#fff; font-size:13px; }
.file-drop small { display:block; margin-top:6px; font-size:9px; }
.file-drop b { display:block; margin-top:12px; color:var(--gold); font-size:11px; font-weight:500; overflow-wrap:anywhere; }
.check-row { display:flex; align-items:center; gap:9px; }
.check-row input { width:18px; height:18px; accent-color:var(--gold); }
.upload-progress { padding:16px; border:1px solid rgba(211,166,76,.3); background:#11110f; }
.upload-progress[hidden] { display:none!important; }
.upload-progress-track { height:9px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.1); }
.upload-progress-track span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#a97825,var(--gold),#f1d890); transition:width .22s ease; }
.upload-progress p { margin:10px 0 0; color:#d4cec4; font-size:11px; }
.upload-progress[data-state="success"] { border-color:rgba(127,200,143,.45); }
.upload-progress[data-state="success"] .upload-progress-track span { background:var(--success); }
.upload-progress[data-state="error"] { border-color:rgba(228,109,99,.45); }
.upload-progress[data-state="error"] p { color:#ffafa8; }
.primary-button:disabled { cursor:not-allowed; opacity:.55; transform:none; }
.media-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.media-item { min-width:0; border:1px solid var(--line); background:#10100f; }
.media-item figure { position:relative; aspect-ratio:1.25/1; margin:0; overflow:hidden; background:#070707; }
.media-item img,.media-item video { width:100%; height:100%; object-fit:cover; }
.media-item .type { position:absolute; top:8px; inset-inline-start:8px; padding:4px 7px; color:var(--ink); background:var(--gold); font:700 8px/1 Arial,sans-serif; }
.media-item-content { padding:13px; }
.media-item h3 { min-height:39px; margin:0 0 6px; font-size:12px; font-weight:500; }
.media-item p { margin:0 0 12px; color:var(--muted); font-size:9px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.media-item form { display:flex; justify-content:flex-end; }
.category-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.category-form { padding:18px; border:1px solid var(--line); background:#11110f; }
.category-form header { display:flex; justify-content:space-between; gap:15px; margin-bottom:14px; }
.category-form header strong { color:var(--gold); font:700 10px/1 Arial,sans-serif; }
.category-form header span { color:var(--muted); font-size:9px; }
.category-form .language-fields { grid-template-columns:1fr; }
.category-form .language-box { padding:12px; }
.category-form button { margin-top:14px; width:100%; }
.hint { padding:14px; border-inline-start:3px solid var(--gold); color:#c7c1b7; background:rgba(211,166,76,.07); font-size:11px; }
.security-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; align-items:start; }

@media(max-width:1100px){.media-list{grid-template-columns:repeat(3,1fr)}.language-fields{grid-template-columns:1fr}.category-editor{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static;height:auto;padding:18px}.admin-sidebar .logo{border:0;padding:0}.admin-sidebar .logo img{width:140px}.admin-nav{display:flex;overflow-x:auto;margin-top:15px}.admin-nav a{flex:0 0 auto}.sidebar-bottom{display:none}.admin-main{padding:20px}.stats-grid{grid-template-columns:repeat(3,1fr)}.media-list{grid-template-columns:repeat(2,1fr)}.category-editor{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.security-grid{grid-template-columns:1fr}}
@media(max-width:520px){.admin-topbar{align-items:start;flex-direction:column}.stats-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.language-fields{grid-template-columns:1fr}.media-list{grid-template-columns:1fr}.admin-section{padding:17px}.section-title{align-items:start;flex-direction:column}.login-card{min-height:100vh}}
