:root { --ink:#242722; --muted:#70756d; --paper:#f3efe8; --surface:#fffdf9; --line:#ded8ce; --olive:#536148; --terracotta:#a95f40; --red:#9a3d35; --green:#3f7650; --shadow:0 18px 50px rgba(48,42,33,.11); }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font:14px/1.45 Inter,"Segoe UI",Arial,sans-serif; }
button,input,select,textarea { font:inherit; }
a { color:inherit; }
.hidden,[hidden] { display:none !important; }
.admin-header { min-height:74px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:25px; padding:10px 30px; background:var(--surface); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20; }
.admin-brand { display:flex; align-items:center; gap:14px; text-decoration:none; }
.admin-brand img { width:128px; height:auto; }
.admin-brand span { padding-left:14px; border-left:1px solid var(--line); color:var(--muted); font-weight:750; }
.admin-header-links { justify-self:center; display:flex; gap:20px; }
.admin-header-links a { color:var(--olive); text-decoration:none; font-weight:700; }
.admin-profile { display:grid; text-align:right; }
.admin-profile span { color:var(--muted); font-size:12px; }
.admin-layout { min-height:calc(100vh - 74px); display:grid; grid-template-columns:245px 1fr; }
.admin-sidebar { padding:30px 18px; color:white; background:#343b31; }
.sidebar-label { margin:0 10px 13px; color:#b9c1b3; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.admin-sidebar nav { display:grid; gap:6px; }
.admin-sidebar nav button { width:100%; display:flex; justify-content:space-between; padding:12px 13px; border:0; border-radius:11px; color:#e6e9e3; background:transparent; text-align:left; cursor:pointer; }
.admin-sidebar nav button:hover,.admin-sidebar nav button.active { background:rgba(255,255,255,.1); }
.admin-sidebar nav span { min-width:26px; padding:2px 7px; border-radius:999px; background:rgba(255,255,255,.12); text-align:center; font-size:11px; }
.sidebar-note { margin-top:32px; padding:15px; display:grid; gap:7px; border-radius:13px; background:rgba(255,255,255,.08); }
.sidebar-note span { color:#c2c8be; font-size:12px; }
.sidebar-note a { margin-top:4px; color:#f1c6b2; font-size:12px; font-weight:750; }
.admin-content { min-width:0; padding:28px clamp(20px,4vw,58px) 80px; }
.admin-notice { margin-bottom:24px; padding:11px 15px; border:1px solid rgba(83,97,72,.18); border-radius:11px; color:var(--olive); background:rgba(83,97,72,.07); }
.page-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:25px; margin-bottom:26px; }
.page-heading h1 { margin:4px 0 7px; font:500 clamp(34px,4vw,50px)/1.03 Georgia,"Times New Roman",serif; }
.page-heading p:not(.eyebrow) { max-width:760px; margin:0; color:var(--muted); }
.eyebrow { margin:0; color:var(--terracotta); font-size:11px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.primary-action,.secondary-action { min-height:42px; display:inline-flex; align-items:center; justify-content:center; padding:0 17px; border-radius:999px; text-decoration:none; font-weight:780; cursor:pointer; }
.primary-action { border:0; color:white; background:var(--terracotta); }
.primary-action:hover { background:#88472f; }
.secondary-action { border:1px solid var(--line); color:var(--ink); background:var(--surface); }
.metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:22px; }
.metric { padding:17px; border:1px solid var(--line); border-radius:15px; background:var(--surface); }
.metric span { display:block; color:var(--muted); font-size:12px; }
.metric strong { display:block; margin-top:5px; font:500 30px/1 Georgia,"Times New Roman",serif; }
.filter-row { display:grid; grid-template-columns:1fr 220px 240px; gap:10px; margin-bottom:15px; }
.filter-row input,.filter-row select { height:44px; padding:0 13px; border:1px solid var(--line); border-radius:11px; background:var(--surface); outline:none; }
.filter-row input:focus,.filter-row select:focus { border-color:var(--olive); box-shadow:0 0 0 3px rgba(83,97,72,.1); }
.admin-list { display:grid; gap:11px; }
.empty-list { padding:45px 25px; border:1px dashed #c9c0b3; border-radius:16px; color:var(--muted); text-align:center; }
.list-card { display:grid; grid-template-columns:82px minmax(180px,1.3fr) minmax(150px,.8fr) minmax(140px,.7fr) auto; align-items:center; gap:16px; padding:13px; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:0 5px 18px rgba(40,35,28,.04); }
.list-thumb { width:82px; height:72px; border-radius:11px; object-fit:cover; background:#e6ded2; }
.card-main strong,.card-cell strong { display:block; }
.card-main span,.card-cell span { display:block; color:var(--muted); font-size:12px; }
.card-main small { color:var(--terracotta); }
.card-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:6px; }
.small-action { min-height:34px; padding:0 11px; border:1px solid var(--line); border-radius:999px; color:var(--ink); background:white; font-size:12px; font-weight:750; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; }
.small-action.emphasis { color:white; border-color:var(--terracotta); background:var(--terracotta); }
.small-action input { display:none; }
.status { display:inline-flex !important; width:max-content; margin-bottom:4px; padding:4px 8px; border-radius:999px; font-size:11px !important; font-weight:780; background:#eee9e1; }
.status.published,.status.approved,.status.active { color:var(--green); background:#e4f1e7; }
.status.review,.status.submitted { color:#7e5b21; background:#f6edd6; }
.status.changes_requested,.status.rejected,.status.inactive { color:var(--red); background:#f7e4e1; }
.application-card,.authorization-card,.price-list-card { grid-template-columns:minmax(210px,1.3fr) minmax(170px,.8fr) minmax(150px,.7fr) auto; }
.application-message { max-width:640px; color:var(--muted); font-size:12px; }
.toast { position:fixed; right:24px; bottom:24px; z-index:100; max-width:420px; padding:13px 17px; border-radius:12px; color:white; background:#343b31; box-shadow:var(--shadow); }
.toast.error { background:#8d3931; }

.admin-dialog { width:min(650px,calc(100% - 28px)); max-height:calc(100vh - 28px); padding:0; border:0; border-radius:20px; background:var(--surface); box-shadow:0 30px 100px rgba(0,0,0,.3); }
.product-form-dialog { width:min(900px,calc(100% - 28px)); }
.admin-dialog::backdrop { background:rgba(26,27,24,.58); backdrop-filter:blur(4px); }
.admin-dialog form { padding:26px; display:grid; gap:15px; }
.admin-dialog header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.admin-dialog h2 { margin:3px 0 0; font:500 34px/1 Georgia,"Times New Roman",serif; }
.dialog-close { width:38px; height:38px; border:0; border-radius:50%; background:#eee9e1; font-size:24px; cursor:pointer; }
.admin-dialog label:not(.check-row) { display:grid; gap:6px; color:var(--muted); font-size:12px; font-weight:720; }
.admin-dialog input:not([type="checkbox"]),.admin-dialog select,.admin-dialog textarea { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:white; outline:none; }
.admin-dialog input:not([type="checkbox"]),.admin-dialog select { height:43px; }
.admin-dialog textarea { resize:vertical; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.form-grid .wide { grid-column:1/-1; }
.check-row { display:flex; align-items:center; gap:9px; color:var(--ink); }
.check-row input { accent-color:var(--terracotta); }
.admin-dialog footer { display:flex; justify-content:flex-end; gap:8px; margin-top:4px; }
.form-error { min-height:0; margin:0; color:var(--red); font-size:12px; }

@media(max-width:980px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{padding:12px 18px}.sidebar-label,.sidebar-note{display:none}.admin-sidebar nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow:auto}.admin-header-links{display:none}.list-card,.application-card,.authorization-card,.price-list-card{grid-template-columns:70px 1fr auto}.list-card>.card-cell{display:none}.application-card>.card-cell,.authorization-card>.card-cell,.price-list-card>.card-cell{display:block}.application-card,.authorization-card,.price-list-card{grid-template-columns:1fr 1fr auto}.metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.admin-header{grid-template-columns:1fr auto;padding:9px 15px}.admin-brand span{display:none}.admin-profile strong{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-heading{align-items:flex-start;flex-direction:column}.filter-row{grid-template-columns:1fr}.list-card,.application-card,.authorization-card,.price-list-card{grid-template-columns:60px 1fr}.application-card,.authorization-card,.price-list-card{grid-template-columns:1fr}.list-thumb{width:60px;height:60px}.card-actions{grid-column:1/-1;justify-content:flex-start}.metrics{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:1}}
