.admin-layout { min-height:100vh; display:grid; grid-template-columns:250px 1fr; }
.admin-sidebar { position:sticky; top:0; height:100vh; padding:18px; background:var(--bg-soft); border-right:1px solid var(--line); display:flex; flex-direction:column; gap:18px; z-index:60; }
.admin-brand { display:flex; align-items:center; gap:10px; padding:5px 4px 13px; border-bottom:1px solid var(--line); }
.admin-brand img { width:45px; height:45px; object-fit:contain; }
.admin-brand strong { display:block; font-family:Georgia,serif; letter-spacing:.06em; }
.admin-brand small { color:var(--muted); }
.admin-nav { display:grid; gap:7px; flex:1; align-content:start; }
.admin-nav-btn { min-height:44px; border:1px solid transparent; border-radius:14px; background:transparent; color:var(--muted); text-align:left; padding:0 13px; display:flex; align-items:center; gap:11px; cursor:pointer; font-weight:700; }
.admin-nav-btn:hover { background:var(--surface); color:var(--text); }
.admin-nav-btn.active { color:#17120a; background:linear-gradient(135deg,var(--gold-2),var(--gold)); box-shadow:0 9px 22px rgba(217,167,45,.18); }
.admin-main { min-width:0; }
.admin-topbar { min-height:80px; position:sticky; top:0; z-index:40; backdrop-filter:blur(18px); background:color-mix(in srgb,var(--bg) 80%,transparent); border-bottom:1px solid var(--line); padding:12px 24px; display:flex; align-items:center; gap:14px; }
.admin-topbar h1 { margin:2px 0 0; font-size:1.45rem; font-family:Georgia,serif; }
.admin-eyebrow { color:var(--gold-2); font-size:.7rem; text-transform:uppercase; letter-spacing:.14em; font-weight:800; }
.admin-topbar > :last-child { margin-left:auto; }
.admin-menu-btn { display:none; }
.admin-content { padding:24px; width:min(100%,1450px); }
.kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.kpi { padding:17px; border-radius:18px; border:1px solid var(--line); background:var(--surface); box-shadow:var(--shadow-soft); }
.kpi small { color:var(--muted); }
.kpi strong { display:block; margin-top:6px; font-size:1.55rem; color:var(--gold-2); }
.admin-section { margin-top:22px; }
.admin-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.admin-section-head h2 { margin:0; font-size:1.15rem; }
.admin-toolbar { display:flex; gap:9px; flex-wrap:wrap; align-items:center; }
.admin-toolbar .input { max-width:330px; }
.admin-card { border:1px solid var(--line); background:var(--surface); border-radius:19px; overflow:hidden; box-shadow:var(--shadow-soft); }
.admin-table-wrap { overflow:auto; }
.admin-table { width:100%; border-collapse:collapse; min-width:720px; }
.admin-table th,.admin-table td { padding:12px 14px; text-align:left; border-bottom:1px solid var(--line); vertical-align:middle; }
.admin-table th { color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.07em; background:color-mix(in srgb,var(--surface-2) 62%,transparent); }
.admin-table tr:last-child td { border-bottom:0; }
.admin-table .mini-image { width:46px; height:52px; border-radius:10px; object-fit:cover; background:var(--surface-2); }
.status { display:inline-flex; align-items:center; gap:6px; padding:6px 9px; border-radius:999px; font-size:.74rem; font-weight:800; background:var(--surface-2); color:var(--muted); }
.status.success { background:rgba(96,199,144,.12); color:var(--success); }
.status.warning { background:rgba(230,185,90,.12); color:var(--warning); }
.status.danger { background:rgba(238,107,107,.12); color:var(--danger); }
.admin-actions { display:flex; gap:6px; }
.admin-actions button { min-height:34px; padding:0 10px; font-size:.8rem; }

.admin-dialog { width:min(970px,calc(100% - 22px)); max-height:calc(100vh - 24px); padding:0; border:1px solid var(--line); border-radius:24px; background:var(--bg-soft); color:var(--text); box-shadow:var(--shadow); }
.admin-dialog.small { width:min(650px,calc(100% - 22px)); }
.admin-dialog::backdrop { background:rgba(0,0,0,.62); backdrop-filter:blur(5px); }
.dialog-shell { display:flex; flex-direction:column; max-height:calc(100vh - 24px); }
.dialog-head,.dialog-foot { padding:16px 18px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-bottom:1px solid var(--line); }
.dialog-head h2 { margin:2px 0 0; font-family:Georgia,serif; }
.dialog-foot { border-bottom:0; border-top:1px solid var(--line); justify-content:flex-end; }
.dialog-body { padding:18px; overflow:auto; }
.form-section { margin:0 0 22px; padding:16px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.form-section h3 { margin:0 0 13px; font-size:1rem; }
.toggle-row { display:flex; flex-wrap:wrap; gap:12px; }
.toggle-label { display:flex; gap:8px; align-items:center; color:var(--muted); }
.variant-builder { display:grid; gap:8px; }
.variant-row { display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:8px; align-items:center; }
.image-preview-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-top:10px; }
.image-preview { position:relative; aspect-ratio:1; border-radius:13px; overflow:hidden; background:var(--surface-2); }
.image-preview img { width:100%; height:100%; object-fit:cover; }
.image-preview button { position:absolute; top:5px; right:5px; width:28px; height:28px; border-radius:50%; border:0; background:rgba(0,0,0,.72); color:#fff; cursor:pointer; }
.finance-filters { display:flex; gap:7px; flex-wrap:wrap; }
.finance-filters button.active { background:linear-gradient(135deg,var(--gold-2),var(--gold)); color:#17120a; border-color:transparent; }
.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.settings-card { padding:17px; border:1px solid var(--line); border-radius:18px; background:var(--surface); }
.settings-card h3 { margin:0 0 13px; }

@media(max-width:980px){
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  .admin-layout{grid-template-columns:86px 1fr}.admin-sidebar{padding:13px}.admin-brand div,.admin-nav-btn span{display:none}.admin-brand{justify-content:center}.admin-nav-btn{justify-content:center;font-size:1.2rem}.admin-sidebar>.btn{font-size:0}.admin-sidebar>.btn::after{content:'↗';font-size:1rem}.admin-content{padding:18px}
}
@media(max-width:680px){
  .admin-layout{display:block}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;transform:translateX(-102%);transition:.22s ease;box-shadow:var(--shadow)}.admin-sidebar.open{transform:none}.admin-brand div,.admin-nav-btn span{display:block}.admin-nav-btn{justify-content:flex-start;font-size:1rem}.admin-sidebar>.btn{font-size:1rem}.admin-sidebar>.btn::after{display:none}.admin-menu-btn{display:grid}.admin-content{padding:14px}.admin-topbar{padding:10px 14px}.kpi-grid{grid-template-columns:1fr 1fr;gap:9px}.kpi{padding:13px}.kpi strong{font-size:1.2rem}.settings-grid{grid-template-columns:1fr}.variant-row{grid-template-columns:1fr 1fr}.variant-row .remove-variant{grid-column:2}.image-preview-grid{grid-template-columns:repeat(3,1fr)}
}
