:root { --paper:#f5efe8; --white:#fffdf9; --ink:#2d1d16; --brown:#6b3f2b; --dark:#24140f; --muted:#796a61; --line:#e4d8ca; --green:#287356; --red:#a84135; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,"Helvetica Neue",sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
.setup-page,.login-page { min-height:100vh; padding:40px 20px; display:grid; place-items:center; background:radial-gradient(circle at top right,#dfc5ae,transparent 34%),linear-gradient(145deg,#f8f3ed,#eadbce); }
.setup-card,.login-card { width:min(100%,820px); padding:52px; border:1px solid rgba(107,63,43,.12); border-radius:24px; background:rgba(255,253,249,.95); box-shadow:0 28px 90px rgba(60,34,23,.14); }
.login-card { width:min(100%,470px); }
.setup-brand,.admin-brand { display:flex; align-items:center; gap:12px; letter-spacing:.15em; font-size:14px; }
.setup-brand img { width:46px; height:46px; object-fit:contain; }
.setup-brand b,.admin-brand b { color:#a06948; }
.admin-kicker { display:block; margin-top:38px; color:#9a6848; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.18em; }
.setup-card h1,.login-card h1,.admin-heading h1 { margin:12px 0 10px; font-family:Georgia,serif; font-weight:400; letter-spacing:-.04em; }
.setup-card h1,.login-card h1 { font-size:43px; }
.setup-card > p,.login-card > p,.admin-heading p { color:var(--muted); line-height:1.6; }
.admin-form { display:grid; gap:18px; margin-top:30px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-grid .full { grid-column:1/-1; }
label { display:grid; gap:8px; color:var(--ink); }
label > span { color:var(--muted); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; }
input,select,textarea { width:100%; padding:14px 15px; border:1px solid var(--line); border-radius:10px; outline:0; background:#fff; color:var(--ink); transition:.2s; }
input:focus,select:focus,textarea:focus { border-color:#a47759; box-shadow:0 0 0 3px rgba(107,63,43,.08); }
textarea { resize:vertical; line-height:1.55; }
label small { color:#92857c; font-size:10px; line-height:1.5; }
hr { margin:28px 0; border:0; border-top:1px solid var(--line); }
.admin-primary,.admin-secondary,.danger-button { min-height:48px; padding:0 20px; border:0; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:var(--brown); color:#fff; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.admin-secondary { border:1px solid var(--line); background:white; color:var(--ink); }
.link-button { min-width:148px; }
.back-site { margin-top:24px; display:inline-block; color:var(--muted); font-size:11px; }
.alert { margin:18px 0; padding:14px 17px; border-radius:10px; font-size:12px; line-height:1.5; }
.alert.error { background:#f6dfdb; color:#7e2d24; }
.alert.success { background:#dbede5; color:#255b46; }
.admin-page { min-height:100vh; background:#f6f2ed; }
.admin-sidebar { position:fixed; z-index:30; inset:0 auto 0 0; width:250px; padding:26px 18px; display:flex; flex-direction:column; background:linear-gradient(180deg,#24140f,#382117); color:#f6eee8; }
.admin-brand { padding:0 10px 28px; border-bottom:1px solid rgba(255,255,255,.12); }
.admin-brand img { width:38px; height:38px; object-fit:contain; filter:grayscale(1) brightness(3); }
.admin-brand small { margin-top:4px; display:block; color:#a99488; font-size:7px; font-weight:400; letter-spacing:.16em; text-transform:uppercase; }
.admin-sidebar nav { margin-top:28px; display:grid; gap:5px; }
.admin-sidebar nav a { min-height:48px; padding:0 14px; display:flex; align-items:center; gap:13px; border-radius:10px; color:#bfaea4; font-size:12px; transition:.2s; }
.admin-sidebar nav a i { width:20px; color:#c99d7d; font-style:normal; text-align:center; }
.admin-sidebar nav a:hover,.admin-sidebar nav a.active { background:rgba(255,255,255,.1); color:white; }
.admin-sidebar-bottom { margin-top:auto; padding:20px 10px 0; border-top:1px solid rgba(255,255,255,.12); display:grid; gap:14px; color:#bfaea4; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.admin-sidebar-bottom a { display:flex; justify-content:space-between; }
.admin-sidebar-bottom button { padding:0; border:0; background:none; color:inherit; text-transform:inherit; letter-spacing:inherit; }
.admin-main { min-height:100vh; margin-left:250px; }
.admin-topbar { height:72px; padding:0 36px; display:flex; justify-content:flex-end; align-items:center; border-bottom:1px solid var(--line); background:rgba(255,253,249,.9); }
.admin-topbar > div { display:grid; gap:3px; text-align:right; }
.admin-topbar span { color:var(--muted); font-size:8px; text-transform:uppercase; letter-spacing:.13em; }
.admin-topbar strong { font-size:12px; }
.admin-nav-toggle { display:none; }
.admin-content { width:min(1240px,calc(100% - 72px)); margin:0 auto; padding:48px 0 80px; }
.admin-heading { margin-bottom:34px; display:flex; justify-content:space-between; gap:30px; align-items:flex-end; }
.admin-heading .admin-kicker { margin-top:0; }
.admin-heading h1 { font-size:46px; }
.admin-heading p { margin:0; }
.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:28px; }
.stat-grid article,.admin-panel { border:1px solid var(--line); border-radius:16px; background:var(--white); box-shadow:0 8px 28px rgba(67,40,26,.035); }
.stat-grid article { min-height:160px; padding:22px; display:flex; flex-direction:column; }
.stat-grid span,.panel-head > div > span,.page-admin-card > span { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.13em; }
.stat-grid strong { margin:auto 0 4px; font-family:Georgia,serif; font-size:44px; font-weight:400; }
.stat-grid small { color:#a5968c; font-size:9px; }
.admin-panel { padding:26px; }
.panel-head { margin-bottom:20px; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
.panel-head h2,.admin-panel h2 { margin:6px 0 0; font-family:Georgia,serif; font-size:25px; font-weight:400; }
.panel-head a { color:var(--brown); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.admin-table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; }
th { padding:12px 14px; border-bottom:1px solid var(--line); color:var(--muted); text-align:left; font-size:8px; text-transform:uppercase; letter-spacing:.13em; }
td { padding:14px; border-bottom:1px solid #eee5dc; color:#66584f; font-size:11px; }
td strong { display:block; color:var(--ink); font-size:12px; }
td small { margin-top:4px; display:block; color:#9d8e84; }
td > a { color:var(--brown); font-weight:700; }
.admin-product-cell { min-width:230px; display:flex; align-items:center; gap:13px; }
.admin-product-cell img { width:48px; height:48px; padding:5px; border-radius:8px; background:#fff; object-fit:contain; }
.status { padding:5px 8px; border-radius:999px; font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.status.published { background:#dfeee7; color:#276348; }
.status.draft { background:#eee8e3; color:#796c63; }
.status.featured { background:#f1dfd2; color:#7d4a2e; }
.admin-search { max-width:530px; margin-bottom:20px; display:flex; }
.admin-search input { border-radius:10px 0 0 10px; }
.admin-search button { width:95px; border:0; border-radius:0 10px 10px 0; background:var(--dark); color:white; }
.editor-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:20px; align-items:start; }
.editor-main { padding:32px; }
.editor-side { display:grid; gap:18px; }
.editor-side .admin-panel { display:grid; gap:17px; }
.editor-side .admin-primary { width:100%; }
.switch-row { display:flex; align-items:center; gap:10px; }
.switch-row input { width:18px; height:18px; accent-color:var(--brown); }
.switch-row span { color:var(--ink); font-size:11px; text-transform:none; letter-spacing:0; }
.image-preview { min-height:190px; display:grid; place-items:center; border:1px dashed #d4c5b8; border-radius:12px; background:#fff; color:#a5968d; font-size:11px; }
.image-preview img { width:100%; height:210px; padding:14px; object-fit:contain; }
.danger-zone { border-color:#edd0cb; background:#fff9f7; }
.danger-zone p { color:var(--muted); font-size:11px; }
.danger-button { background:var(--red); }
.categories-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:20px; align-items:start; }
.category-new { position:sticky; top:92px; }
.category-admin-list { display:grid; }
.category-admin-row { padding:12px 0; display:grid; grid-template-columns:minmax(220px,1fr) 70px 80px 80px 60px 58px; gap:8px; align-items:center; border-bottom:1px solid #eee5dc; }
.category-admin-row input { padding:10px; }
.category-admin-row label { display:flex; align-items:center; gap:5px; font-size:10px; }
.category-admin-row label input { width:15px; }
.category-admin-row > span { color:var(--muted); font-size:9px; }
.category-admin-row button { height:36px; border:0; border-radius:8px; background:var(--brown); color:white; font-size:9px; }
.category-admin-row .row-delete { background:#f3e6e3; color:var(--red); }
.page-admin-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.page-admin-card h2 { margin:40px 0 10px; font-size:31px; }
.page-admin-card p { min-height:45px; color:var(--muted); font-size:12px; line-height:1.5; }
.page-admin-card > div { margin-top:24px; padding-top:18px; display:flex; justify-content:space-between; border-top:1px solid var(--line); }
.page-admin-card small { color:#a09187; font-size:9px; }
.page-admin-card a { color:var(--brown); font-size:10px; font-weight:700; }
.settings-form { max-width:920px; display:grid; gap:24px; }
.settings-form.narrow { max-width:580px; }

@media (max-width:1050px) {
  .stat-grid { grid-template-columns:repeat(2,1fr); }
  .editor-layout,.categories-layout { grid-template-columns:1fr; }
  .category-new { position:static; }
  .category-admin-row { grid-template-columns:minmax(180px,1fr) 65px 75px 70px 55px 55px; }
}
@media (max-width:760px) {
  .setup-card,.login-card { padding:32px 22px; border-radius:18px; }
  .form-grid,.page-admin-grid { grid-template-columns:1fr; }
  .form-grid .full { grid-column:auto; }
  .admin-sidebar { width:min(82vw,290px); transform:translateX(-105%); transition:.25s; }
  .admin-sidebar.is-open { transform:none; }
  .admin-main { margin-left:0; }
  .admin-topbar { padding:0 18px; justify-content:space-between; }
  .admin-nav-toggle { width:42px; height:42px; border:1px solid var(--line); border-radius:50%; display:block; background:white; }
  .admin-content { width:calc(100% - 30px); padding-top:30px; }
  .admin-heading { align-items:flex-start; flex-direction:column; }
  .admin-heading h1 { font-size:38px; }
  .stat-grid { grid-template-columns:1fr 1fr; }
  .stat-grid article { min-height:130px; padding:17px; }
  .stat-grid strong { font-size:36px; }
  .editor-main,.admin-panel { padding:20px; }
  .category-admin-row { grid-template-columns:1fr 60px; padding:16px 0; }
  .category-admin-row label,.category-admin-row > span { padding:4px 0; }
}
