:root{
  --cream:#F7F1E8;
  --paper:#FFFbf6;
  --ink:#1E1410;
  --muted:#6B5B54;
  --gold:#9B7B28;
  --line:rgba(30,20,16,.14);
  --rose:#C07268;
  --ok:#3F7A52;
  --err:#B44545;
  --sidebar:#1E1410;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{min-height:100%;}
body{font-family:Jost,system-ui,sans-serif;background:var(--cream);color:var(--ink);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;}
.login-card{width:100%;max-width:420px;background:var(--paper);border:1px solid var(--line);padding:42px 28px;text-align:center;}
.login-card h1{font-family:"Playfair Display",serif;font-style:italic;font-weight:400;font-size:30px;margin:12px 0 8px;}
.login-card p{color:var(--muted);margin-bottom:24px;font-size:14px;}
.layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh;}
.sidebar{background:var(--sidebar);color:#F7F1E8;padding:28px 18px;display:flex;flex-direction:column;min-height:100vh;}
.brand{font-family:"Playfair Display",serif;font-style:italic;font-size:22px;padding:0 10px 28px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:18px;}
.brand span{display:block;font-family:Jost,sans-serif;font-style:normal;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#B8930E;margin-top:6px;}
.nav-link{display:block;padding:10px 12px;border-radius:6px;color:rgba(247,241,232,.75);font-size:13px;letter-spacing:.04em;margin-bottom:2px;}
.nav-link.nav-sub{padding-left:24px;font-size:12px;}
.nav-label{margin:16px 12px 6px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#B8930E;}
.nav-link:hover,.nav-link.active{background:rgba(155,123,40,.22);color:#fff;}
.nav-foot{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);}
.nav-foot form{margin:0;}
button.nav-link{width:100%;text-align:left;background:none;border:none;cursor:pointer;font:inherit;}
.main{padding:28px 32px 40px;min-width:0;display:flex;flex-direction:column;}
.cms-page{flex:1;}
.cms-credit{margin-top:48px;padding-top:18px;border-top:1px solid var(--line);font-size:11px;letter-spacing:.06em;color:var(--muted);}
.cms-credit a{color:var(--gold);border-bottom:1px solid rgba(155,123,40,.35);}
.cms-credit a:hover{color:var(--ink);}
.topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;flex-wrap:wrap;}
.topbar h1{font-family:"Playfair Display",serif;font-style:italic;font-weight:400;font-size:clamp(26px,4vw,32px);}
.muted{color:var(--muted);font-size:13px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--ink);background:var(--ink);color:var(--cream);font-family:Jost,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:11px 18px;cursor:pointer;line-height:1;height:40px;}
.btn:hover{background:var(--gold);border-color:var(--gold);}
.btn-ghost{background:transparent;color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:var(--cream);}
.btn-danger{background:transparent;border-color:var(--err);color:var(--err);}
.btn-danger:hover{background:var(--err);color:#fff;}
.btn-brevo{background:#0B996E;border-color:#0B996E;color:#fff;}
.btn-brevo:hover{background:#087a58;border-color:#087a58;color:#fff;}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:28px;}
.stat{background:var(--paper);border:1px solid var(--line);padding:20px;}
.stat b{display:block;font-family:"Playfair Display",serif;font-size:32px;font-style:italic;font-weight:400;color:var(--gold);}
.stat span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.card{background:var(--paper);border:1px solid var(--line);padding:22px;margin-bottom:18px;overflow-x:auto;}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{width:100%;border-collapse:collapse;min-width:640px;}
th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:middle;font-size:14px;}
th{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:500;}
table tr:last-child th,
table tr:last-child td{border-bottom:none;}
table form{margin:0;}
.thumb{width:54px;height:54px;object-fit:cover;border:1px solid var(--line);background:#efe6d8;}
.flash{padding:14px 16px;margin-bottom:18px;border:1px solid var(--line);font-size:15px;}
.flash.ok{background:#e8f3eb;color:var(--ok);}
.flash.err{background:#fbeaea;color:var(--err);}
label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 8px;}
label:has(+ [required])::after,
label.is-req::after{
  content:" *";
  color:var(--rose);
  letter-spacing:0;
}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=color]),
textarea,
select{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  background:#fff;
  border:1px solid var(--line);
  color:var(--ink);
  font:16px/1.5 Lora,serif;
  padding:12px 14px;
  margin-bottom:16px;
}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):focus,
textarea:focus,
select:focus{
  outline:none;
  border-color:var(--gold);
}
textarea{min-height:120px;resize:vertical;}
input[type=file]{
  padding:10px;
  background:var(--cream);
  font-family:Jost,sans-serif;
  font-size:13px;
}
input[type=checkbox]{width:auto;display:inline-block;margin-right:8px;vertical-align:middle;}
.row-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;}
.row-2 > div{min-width:0;}
.stat-rows{display:flex;flex-direction:column;gap:8px;margin:0 0 8px;}
.stat-row{display:grid;grid-template-columns:5.5rem 4.25rem minmax(0,1fr);gap:8px;align-items:center;}
.stat-row input{margin-bottom:0;padding:9px 10px;}
.stat-row-head span{
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);
}
.help{font-size:12px;color:var(--muted);margin:-8px 0 16px;}
.cms-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.cms-search{
  width:100%;max-width:320px;margin-bottom:0;
  font:16px/1.5 Lora,serif;
}
.img-preview{max-width:min(220px,100%);max-height:160px;display:block;margin:0 0 12px;border:1px solid var(--line);}
div.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
td.actions{white-space:nowrap;width:1%;text-align:right;}
td.actions form{display:inline-flex;vertical-align:middle;margin:0;}
td.actions .btn{vertical-align:middle;height:34px;padding:0 12px;font-size:10px;letter-spacing:.12em;}
td.actions .btn-view{margin-right:16px;}
.btn.is-disabled{
  opacity:.4;
  pointer-events:none;
  cursor:not-allowed;
}
.badge{display:inline-block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:3px 8px;color:var(--muted);}
.badge.on{border-color:var(--ok);color:var(--ok);}
.badge.off{border-color:var(--err);color:var(--err);}
.cms-hide-field{
  margin:28px 0 16px;
  padding:16px 0 0;
  border-top:1px solid var(--line);
}
.cms-hide-field label{margin-bottom:0;}
.color-picker-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}
.color-picker-row input[type=color]{
  width:52px;
  height:40px;
  padding:2px;
  margin-bottom:0;
  flex-shrink:0;
  cursor:pointer;
  background:var(--cream);
}
.color-picker-row input[type=text],
.color-picker-row input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=color]){
  margin-bottom:0;
  max-width:140px;
}
.cms-menu-btn{
  display:none;
  position:fixed;top:14px;left:14px;z-index:20;
  background:var(--ink);color:var(--cream);border:none;
  font-family:Jost,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  padding:10px 14px;cursor:pointer;
}
.sidebar-backdrop{display:none;}
.tox-tinymce{width:100%!important;max-width:100%;}
.cms-dialog{
  position:fixed;inset:0;z-index:200;
  display:none;
  align-items:center;justify-content:center;
  padding:24px;background:rgba(30,20,16,.46);
}
.cms-dialog.is-open{display:flex;}
.cms-dialog[hidden]{display:none;}
.cms-dialog-box{
  width:100%;max-width:440px;background:var(--paper);
  border:1px solid var(--line);padding:32px 28px;text-align:center;
}
.cms-dialog-kicker{
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;
}
.cms-dialog-box h3{
  font-family:"Playfair Display",serif;font-style:italic;font-weight:400;font-size:28px;margin-bottom:10px;
}
.cms-dialog-box p#cmsDialogText{
  color:var(--muted);font-size:15px;line-height:1.6;margin-bottom:24px;
}
.cms-dialog-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.cms-dialog-box.danger #cmsDialogOk{background:var(--err);border-color:var(--err);color:#fff;}
.cms-dialog-box.danger #cmsDialogOk:hover{background:#932f2f;border-color:#932f2f;}
@media(max-width:1100px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:960px){
  .cms-menu-btn{display:inline-flex;}
  body.cms-nav-open .cms-menu-btn{display:none;}
  .layout{grid-template-columns:1fr;}
  .sidebar{
    position:fixed;inset:0 auto 0 0;width:min(280px,86vw);z-index:30;
    transform:translateX(-105%);transition:transform .3s ease;
  }
  .sidebar.open{transform:translateX(0);}
  .sidebar-backdrop.show{display:block;position:fixed;inset:0;background:rgba(30,20,16,.45);z-index:25;}
  .main{padding:64px 16px 48px;}
  .row-2,.grid{grid-template-columns:1fr;}
  .stat-row{grid-template-columns:5rem 4rem minmax(0,1fr);}
  .topbar{align-items:flex-start;}
  .card{padding:16px;}
}
