
:root{
  --bg:#f3f1f4;--panel:#fff;--text:#28222b;--muted:#756d79;
  --sidebar:#120e15;--sidebar2:#241522;--accent:#d6a048;--wine:#7c1f3e;
  --line:#e7e1e8;--radius:18px;--shadow:0 12px 35px rgba(33,17,30,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
.admin-wrap{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
.sidebar{
  position:sticky;top:0;height:100vh;overflow:auto;
  padding:28px 20px;
  background:
    radial-gradient(circle at top left,rgba(124,31,62,.42),transparent 18rem),
    linear-gradient(180deg,var(--sidebar2),var(--sidebar));
  color:white;border-right:1px solid rgba(255,255,255,.06);
}
.sidebar h2{margin:0 0 24px;font-family:Georgia,serif;font-size:1.5rem}
.sidebar h2::before{
  content:"G";display:grid;place-items:center;width:42px;height:42px;margin-bottom:14px;
  border-radius:13px;background:linear-gradient(135deg,#f0c978,var(--accent));color:#24171f;
}
.sidebar a{
  display:flex;align-items:center;color:#ddd4df;text-decoration:none;
  padding:11px 13px;margin:4px 0;border-radius:11px;font-weight:650;
  transition:.2s ease;
}
.sidebar a:hover{background:rgba(255,255,255,.09);color:#fff;transform:translateX(3px)}
.main{padding:34px;min-width:0}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}
.topbar h1{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem)}
.topbar span{color:var(--muted);font-weight:700}
.panel,.stat{
  background:rgba(255,255,255,.96);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow);
}
.panel{padding:25px;margin:20px 0}
.panel h2{margin-top:0;font-family:Georgia,serif;font-size:1.7rem}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.stat{padding:22px;position:relative;overflow:hidden}
.stat::after{content:"";position:absolute;right:-24px;top:-24px;width:95px;height:95px;border-radius:50%;background:rgba(124,31,62,.07)}
.stat strong{color:var(--muted);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}
.stat div{font-size:2.35rem!important;font-weight:900;color:var(--wine)}
table{width:100%;border-collapse:collapse;overflow:hidden}
th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
tr:hover td{background:#faf8fa}
input,textarea,select{
  width:100%;padding:13px 14px;border:1px solid #d9d2db;border-radius:12px;
  background:#fff;color:var(--text);font:inherit;outline:none;
}
input:focus,textarea:focus,select:focus{border-color:#a33a5b;box-shadow:0 0 0 4px rgba(163,58,91,.09)}
textarea{min-height:190px;resize:vertical}
label{display:grid;gap:7px;margin:14px 0;font-weight:750;color:#443b47}
button,.button{
  display:inline-flex;align-items:center;justify-content:center;
  border:0;background:linear-gradient(135deg,#e2b65e,var(--accent));color:#251920;
  padding:11px 15px;border-radius:11px;text-decoration:none;font-weight:850;cursor:pointer;
  transition:.2s ease;
}
button:hover,.button:hover{transform:translateY(-1px);filter:brightness(1.03)}
.danger{background:linear-gradient(135deg,#be4d5b,#902738);color:#fff}
.alert{padding:14px 16px;border-radius:13px;background:#eaf7ed;border:1px solid #cbe6d0;color:#285b35}
.error{background:#fdeced;border-color:#f2c9cc;color:#8a2631}
.auth-body{
  min-height:100vh;display:grid;place-items:center;padding:24px;
  background:
    radial-gradient(circle at 20% 20%,rgba(124,31,62,.45),transparent 28rem),
    linear-gradient(135deg,#0e0a11,#23131f);
}
.auth-card{
  width:min(520px,100%);background:rgba(255,255,255,.98);
  padding:32px;border-radius:24px;box-shadow:0 28px 80px rgba(0,0,0,.28);
}
.auth-card h1{font-family:Georgia,serif;font-size:2.3rem;margin:0}
.actions{display:flex;gap:9px;flex-wrap:wrap}.muted{color:var(--muted)}
.gallery-grid{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}
@media(max-width:1050px){.stats{grid-template-columns:1fr 1fr}}
@media(max-width:850px){
  .admin-wrap{grid-template-columns:1fr}
  .sidebar{position:static;height:auto}
  .main{padding:20px}
  .topbar{align-items:flex-start;flex-direction:column}
  table{font-size:.9rem;display:block;overflow-x:auto}
}
@media(max-width:560px){.stats{grid-template-columns:1fr}.panel{padding:18px}.main{padding:14px}}

.booking-admin-badge{
  display:inline-flex;padding:6px 9px;border-radius:999px;
  background:#f7ead1;color:#765018;
  font-family:Inter,system-ui,sans-serif;
  font-size:.7rem;font-weight:900;letter-spacing:.08em;vertical-align:middle;
}


.remember-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px!important}
.remember-row input{width:auto}
.builder-toolbar{display:flex;gap:9px;flex-wrap:wrap}
.builder-toolbar button{background:#f2e6cc}
#builderForm{display:block;padding:0;background:transparent;border:0}
.builder-block{
  margin:18px 0;padding:22px;border-radius:18px;
  background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)
}
.builder-block-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.builder-block-head>div:first-child{display:grid;gap:5px}
.builder-type{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--wine);font-weight:900}
.builder-actions{display:flex;gap:7px;flex-wrap:wrap}
.builder-actions button{padding:8px 11px}
.builder-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding-top:10px}
.builder-fields label:has(textarea){grid-column:1/-1}
.inline-check{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important}
.inline-check input{width:auto}
.builder-savebar{
  position:sticky;bottom:12px;display:flex;gap:10px;justify-content:flex-end;
  margin-top:22px;padding:14px;border-radius:16px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(12px);
  border:1px solid var(--line);box-shadow:0 16px 45px rgba(30,15,27,.16);z-index:10
}
@media(max-width:700px){
  .builder-block-head{align-items:flex-start;flex-direction:column}
  .builder-fields{grid-template-columns:1fr}
  .builder-savebar{justify-content:stretch;flex-direction:column}
}
