:root{--black:#050505;--dark:#111;--white:#fff;--cream:#f4f0e8;--gold:#bfa46a;--muted:#777}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--cream);color:var(--dark)}.admin-bg{min-height:100vh;display:grid;place-items:center;background:linear-gradient(rgba(0,0,0,.75),rgba(0,0,0,.75)),url('/image/contact-hero.jpg') center/cover}.login-card{width:min(440px,90%);background:#fff;padding:48px;border-radius:28px;box-shadow:0 30px 80px #0005}.admin-logo{font-family:Georgia,serif;letter-spacing:10px;font-size:28px;font-weight:300}.admin-logo span{display:block;font:9px Arial;letter-spacing:5px;color:var(--gold);margin-top:8px}.login-card h1{font:400 48px Georgia;margin:38px 0 25px}.login-card form{display:grid;gap:18px}label{display:grid;gap:8px;font-weight:700}input,select{padding:15px;border:1px solid #ddd;border-radius:12px;font-size:16px}button{border:0;border-radius:40px;background:var(--black);color:#fff;padding:15px 24px;font-weight:800;cursor:pointer}.admin-header{height:90px;background:var(--black);color:#fff;padding:0 5%;display:flex;align-items:center;justify-content:space-between}.admin-wrap{width:94%;max-width:1500px;margin:40px auto}.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:30px}.calendar-toolbar h1{font:400 44px Georgia;text-transform:capitalize}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.weekday{text-align:center;font-weight:800;color:var(--gold);padding:10px}.day{min-height:150px;background:#fff;border-radius:14px;padding:12px;box-shadow:0 8px 25px #0001}.day.empty{background:transparent;box-shadow:none}.event{display:block;width:100%;text-align:left;margin-top:8px;border-radius:10px;padding:9px;background:var(--gold);color:#111;font-size:12px}.event small{display:block;margin-top:4px}.event.cancelled{opacity:.45;text-decoration:line-through}.event.completed{background:#cbd5c0}.modal{position:fixed;inset:0;background:#0009;display:none;place-items:center;padding:20px}.modal.open{display:grid}.modal-card{position:relative;background:#fff;width:min(560px,100%);padding:36px;border-radius:24px}.close{position:absolute;right:18px;top:12px;background:transparent;color:#111;font-size:30px;padding:0}.modal-card h2{font:400 42px Georgia}.modal-card p{line-height:1.5}@media(max-width:900px){.calendar{grid-template-columns:1fr}.weekday,.day.empty{display:none}.day{min-height:auto}.calendar-toolbar h1{font-size:30px}}


/* =========================================================
   PREMIUM DECORATIVE LINES — ADMIN PAGES
   Uses the same visual language as the public website.
   ========================================================= */
.admin-bg,
.admin-wrap,
.login-card,
.calendar,
.modal-card{
  position:relative;
  isolation:isolate;
}

.admin-bg{
  overflow:hidden;
}

.admin-bg::before,
.admin-bg::after{
  content:"";
  position:fixed;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
}

.admin-bg::before{
  width:720px;
  height:720px;
  right:-260px;
  bottom:-300px;
  border:1px solid rgba(255,255,255,.24);
}

.admin-bg::after{
  width:360px;
  height:360px;
  left:-170px;
  top:90px;
  border:1px solid rgba(191,164,106,.40);
}

.login-card{
  z-index:1;
  overflow:hidden;
}

.login-card::before,
.login-card::after,
.admin-wrap::before,
.admin-wrap::after,
.modal-card::before,
.modal-card::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}

.login-card::before{
  width:230px;
  height:230px;
  right:-115px;
  top:-105px;
  border:1px solid rgba(191,164,106,.38);
}

.login-card::after{
  width:130px;
  height:130px;
  left:-65px;
  bottom:-55px;
  border:1px solid rgba(17,17,17,.10);
}

.admin-wrap{
  overflow:hidden;
  padding:18px;
}

.admin-wrap::before{
  width:540px;
  height:540px;
  right:-330px;
  top:30px;
  border:1px solid rgba(17,17,17,.08);
  z-index:-1;
}

.admin-wrap::after{
  width:280px;
  height:280px;
  left:-170px;
  bottom:20px;
  border:1px solid rgba(191,164,106,.24);
  z-index:-1;
}

.day{
  position:relative;
  overflow:hidden;
}

.day::after{
  content:"";
  position:absolute;
  width:85px;
  height:85px;
  right:-48px;
  bottom:-48px;
  border:1px solid rgba(191,164,106,.18);
  border-radius:50%;
  pointer-events:none;
}

.modal-card{
  overflow:hidden;
}

.modal-card::before{
  width:210px;
  height:210px;
  right:-100px;
  top:-100px;
  border:1px solid rgba(191,164,106,.32);
}

.modal-card::after{
  width:120px;
  height:120px;
  left:-58px;
  bottom:-50px;
  border:1px solid rgba(17,17,17,.10);
}

@media(max-width:900px){
  .admin-bg::before{width:430px;height:430px;right:-250px;bottom:-180px}
  .admin-bg::after{width:240px;height:240px;left:-140px}
  .admin-wrap::before{width:340px;height:340px;right:-230px}
  .admin-wrap::after{width:190px;height:190px;left:-120px}
}

.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.admin-tabs .tab{background:#fff;color:#111;border:1px solid #ddd}.admin-tabs .tab.active{background:#050505;color:#fff}.admin-panel{display:none}.admin-panel.active{display:block}.panel-heading{display:flex;justify-content:space-between;align-items:center}.messages-list{display:grid;gap:14px}.message-card{background:#fff;border-radius:18px;padding:22px;display:flex;justify-content:space-between;gap:20px;box-shadow:0 8px 25px #0001;border-left:5px solid transparent}.message-card.unread{border-left-color:var(--gold)}.message-card h3{margin:0 0 8px}.message-actions{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}.message-actions .danger{background:#8b1e1e}.settings-form{background:#fff;padding:28px;border-radius:20px;display:grid;gap:18px}.hours-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-form textarea{padding:15px;border:1px solid #ddd;border-radius:12px;font:inherit;resize:vertical}.toggle-row{display:flex;grid-template-columns:none;align-items:center;gap:10px}.toggle-row input{width:auto}.admin-panel>h1,.panel-heading h1{font:400 42px Georgia}@media(max-width:700px){.hours-editor{grid-template-columns:1fr}.message-card{flex-direction:column}}
