:root{--bg:#f5f7fb;--text:#172033;--muted:#6b7280;--primary:#4867e8;--border:#e4e8f0;--white:#fff;--danger:#d64747}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1180px)/2))}.brand{font-size:22px;font-weight:800}.topbar nav{display:flex;align-items:center;gap:18px}.container{max-width:1180px;margin:auto;padding:38px 24px 70px}.hero{min-height:360px;border-radius:28px;padding:60px;display:flex;align-items:center;background:linear-gradient(135deg,#15203b,#4867e8);color:#fff;margin-bottom:42px}.hero h1{font-size:clamp(38px,6vw,68px);line-height:1.02;max-width:760px;margin:12px 0}.hero p{font-size:19px;max-width:640px;opacity:.86}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px}.button,button{border:0;border-radius:12px;background:var(--primary);color:#fff;padding:13px 18px;font-weight:700;cursor:pointer;display:inline-block}.hero .button{background:#fff;color:#172033;margin-top:10px}.small{padding:8px 12px;font-size:13px}.danger{background:var(--danger)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.card,.panel,.auth-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:0 12px 30px rgba(28,39,70,.05)}.card{position:relative;overflow:hidden}.service-color{height:6px;position:absolute;left:0;right:0;top:0}.card p,.hint,.empty{color:var(--muted)}.card span{display:block;margin-top:8px}.auth-card{max-width:480px;margin:40px auto}.auth-card h1{margin-top:0}label{display:block;font-weight:650;margin:14px 0 7px}input,select,textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff;font:inherit;margin-top:6px}input[type=checkbox],input[type=radio]{width:auto}.filters,.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;align-items:end}.booking-layout{display:grid;gap:20px}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin:18px 0}.slot input{display:none}.slot span{display:block;text-align:center;border:1px solid var(--border);padding:12px;border-radius:10px;cursor:pointer}.slot input:checked+span{background:var(--primary);color:#fff;border-color:var(--primary)}.title-row{display:flex;align-items:center;justify-content:space-between}.list{display:grid;gap:12px}.booking-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--border);padding:18px;border-radius:14px}.booking-item h3,.booking-item p{margin:2px 0}.dot{width:12px;height:12px;border-radius:50%}.status{padding:6px 10px;border-radius:999px;background:#eef1f6;font-size:12px}.status.confirmed{background:#dcfce7;color:#176536}.status.cancelled{background:#fee2e2;color:#991b1b}.alert{padding:14px 16px;border-radius:12px;margin-bottom:20px;transition:.3s}.alert.success{background:#dcfce7;color:#176536}.alert.error{background:#fee2e2;color:#991b1b}.alert.fade{opacity:0}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.admin-nav a{background:#fff;border:1px solid var(--border);padding:10px 14px;border-radius:10px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.stats div{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px}.stats strong{display:block;font-size:36px}.stats span{color:var(--muted)}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--border);border-radius:16px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--border)}td small{display:block;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:22px}.schedule-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}details{margin-top:18px}footer{text-align:center;color:var(--muted);padding:28px}@media(max-width:760px){.topbar{height:auto;padding:16px 20px;align-items:flex-start}.topbar nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.topbar nav span{display:none}.hero{padding:34px 24px;min-height:330px}.container{padding:24px 16px 60px}.admin-grid,.stats{grid-template-columns:1fr}.booking-item{grid-template-columns:auto 1fr}.booking-item .status,.booking-item form{grid-column:2}.title-row{align-items:flex-start;gap:16px}.table-wrap{border-radius:10px}}
.calendar-title h1{margin-bottom:6px}.calendar-filters{margin-bottom:18px}.calendar-filters form{max-width:430px}.weekly-panel{padding:20px}.week-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:16px}.week-toolbar strong{text-align:center}.week-toolbar .week-nav:last-child{text-align:right}.week-nav{font-weight:700;color:var(--primary)}.calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin:10px 0 18px;color:var(--muted);font-size:14px}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend i{width:14px;height:14px;border-radius:4px;display:inline-block}.legend-free{background:#22a865}.legend-blocked{background:#df5151}.weekly-calendar-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px}.weekly-calendar{display:grid;grid-template-columns:76px repeat(7,minmax(105px,1fr));min-width:830px;background:#fff}.calendar-head,.calendar-time,.calendar-cell{min-height:48px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center}.calendar-head{position:sticky;top:0;z-index:2;background:#f8fafc;flex-direction:column;padding:10px 6px}.calendar-head span{font-size:12px;color:var(--muted);text-transform:uppercase}.calendar-head.today{background:#eef2ff}.calendar-time{position:sticky;left:0;z-index:1;background:#f8fafc;font-size:13px;font-weight:700}.calendar-cell{padding:5px}.calendar-cell.free{background:#dff7e9;cursor:pointer;transition:.15s}.calendar-cell.free:hover{background:#bceccd;transform:inset}.calendar-cell.free input{display:none}.calendar-cell.free span{width:100%;height:100%;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#12633a;font-weight:800}.calendar-cell.free input:checked+span{background:#16864d;color:#fff;box-shadow:0 0 0 3px rgba(22,134,77,.18)}.calendar-cell.blocked{background:#fde4e4;color:#a52d2d}.booking-confirm-box{max-width:620px;margin:22px auto 0}.selected-slot-text{background:#eef2ff;border:1px solid #d8defb;padding:14px 16px;border-radius:12px;font-weight:750}.booking-confirm-box button{width:100%;font-size:16px;margin-top:12px}@media(max-width:760px){.week-toolbar{grid-template-columns:1fr 1fr}.week-toolbar strong{grid-column:1/-1;grid-row:1;text-align:center}.week-toolbar .week-nav{grid-row:2;font-size:13px}.weekly-panel{padding:14px}.calendar-legend{gap:12px}.weekly-calendar{grid-template-columns:62px repeat(7,96px);min-width:734px}.calendar-head,.calendar-time,.calendar-cell{min-height:44px}.calendar-cell.free span{font-size:13px}}

/* ===== Identidad visual LLUMEA ATELIER ===== */
:root{
  --bg:#f8f3ec;
  --text:#2b221b;
  --muted:#7d6d60;
  --primary:#a66c25;
  --primary-dark:#71430f;
  --gold:#c69551;
  --border:#e8dac9;
  --white:#fffdf9;
  --danger:#b7483f;
  --success:#527a5a;
  --black:#171411;
}
html{scroll-behavior:smooth}
body{font-family:Montserrat,Arial,sans-serif;background:var(--bg);color:var(--text);background-image:radial-gradient(circle at 0 0,rgba(198,149,81,.06),transparent 24rem)}
h1,h2,h3,.brand strong,.week-toolbar strong,.stats strong{font-family:"Cormorant Garamond",Georgia,serif;letter-spacing:.02em}
.topbar{height:88px;background:rgba(255,253,249,.96);border-bottom:1px solid var(--border);box-shadow:0 5px 24px rgba(87,55,26,.06);position:sticky;top:0;z-index:20;padding:0 max(24px,calc((100% - 1180px)/2))}
.brand{display:flex;align-items:center;gap:12px;color:var(--black)}
.brand img{width:62px;height:62px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.12))}
.brand span{display:flex;flex-direction:column;line-height:1}
.brand strong{font-size:28px;letter-spacing:.2em;font-weight:600;color:#8d571b}
.brand small{font-size:9px;letter-spacing:.52em;margin-top:7px;color:#6d4a27}
.topbar nav a{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;transition:.2s}
.topbar nav a:not(.button):hover{color:var(--primary)}
.welcome{font-size:12px;color:var(--muted)}
.menu-toggle{display:none;background:transparent;color:var(--black);padding:6px;font-size:22px}
.container{max-width:1180px;padding-top:30px}
.llumea-hero{position:relative;min-height:540px;border-radius:0;padding:0;overflow:hidden;background-image:url('../img/banner.jpg');background-size:cover;background-position:center;box-shadow:0 24px 50px rgba(95,60,27,.16)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,19,14,.67) 0%,rgba(46,29,16,.36) 45%,rgba(255,255,255,.05) 100%)}
.hero-content{position:relative;z-index:2;width:min(620px,90%);padding:54px 58px;color:#fff}
.hero-logo{width:132px;height:132px;object-fit:contain;margin-bottom:12px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.28))}
.hero h1{font-size:clamp(44px,6.5vw,76px);font-weight:600;line-height:.93;margin:15px 0 18px;text-shadow:0 3px 14px rgba(0,0,0,.22)}
.hero p{font-size:17px;line-height:1.7;max-width:520px;color:#fff}
.eyebrow{font-size:11px;letter-spacing:.28em;font-weight:600}.eyebrow.dark{color:var(--primary)}
.hero .button,.button,button{background:var(--black);color:#f5d39e;border-radius:0;border:1px solid var(--black);text-transform:uppercase;letter-spacing:.12em;font-size:12px;padding:14px 22px;transition:.22s}
.hero .button:hover,.button:hover,button:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff;transform:translateY(-1px)}
.button.small{padding:10px 14px}
.intro-section{text-align:center;padding:58px 20px 26px}
.intro-section h2{font-size:48px;margin:8px 0;color:#5f3c1b}
.section-lead{max-width:620px;margin:0 auto;color:var(--muted);line-height:1.7}
.service-cards{grid-template-columns:repeat(3,1fr);gap:22px}
.card,.panel,.auth-card,.stats div,.table-wrap{background:rgba(255,253,249,.96);border:1px solid var(--border);border-radius:2px;box-shadow:0 16px 35px rgba(103,70,39,.07)}
.service-card{padding:30px 28px 26px;text-align:center;transition:.25s}
.service-card:hover{transform:translateY(-5px);box-shadow:0 22px 45px rgba(103,70,39,.13)}
.service-number{font-size:25px;color:var(--gold)}
.service-card h3{font-size:31px;margin:10px 0;color:#5f3c1b}
.service-card p{line-height:1.65;min-height:74px}
.service-meta{display:flex;justify-content:center;gap:18px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0;margin:18px 0;color:var(--primary-dark)}
.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);font-weight:600}
.auth-card h1,.calendar-title h1,.panel h1,.panel h2{color:#5f3c1b}
input,select,textarea{border-radius:0;border-color:var(--border);background:#fffdf9;padding:13px}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(166,108,37,.18);border-color:var(--primary)}
.admin-nav a{border-radius:0;background:#fffdf9}.admin-nav a:hover{border-color:var(--gold);color:var(--primary-dark)}
.weekly-panel{border-radius:2px}
.week-nav{color:var(--primary-dark)}
.weekly-calendar-wrap{border-radius:2px}
.calendar-head,.calendar-time{background:#f4eadf}
.calendar-head.today{background:#ead7bf}
.calendar-cell.free{background:#dfeadd}.calendar-cell.free:hover{background:#c9dfc7}.calendar-cell.free span{color:#315b37}.calendar-cell.free input:checked+span{background:#527a5a}
.calendar-cell.blocked{background:#f2d8d3;color:#8d3e36}
.selected-slot-text{background:#f5eadc;border-color:#e7cfb0;color:#654218;border-radius:0}
.status.confirmed{background:#dfeadd;color:#315b37}.status.cancelled{background:#f2d8d3;color:#8d3e36}
footer{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8c725a}
@media(max-width:900px){.service-cards{grid-template-columns:1fr 1fr}.hero-content{padding:44px 38px}.llumea-hero{min-height:500px}}
@media(max-width:760px){
  .topbar{height:76px;padding:7px 14px;align-items:center}.brand img{width:55px;height:55px}.brand strong{font-size:22px}.brand small{font-size:7px}.menu-toggle{display:block}
  .topbar nav{display:none;position:absolute;left:0;right:0;top:76px;background:#fffdf9;border-bottom:1px solid var(--border);padding:16px;flex-direction:column;align-items:stretch;box-shadow:0 12px 20px rgba(0,0,0,.08)}.topbar nav.open{display:flex}.topbar nav a{text-align:center;padding:8px}.welcome{display:none!important}
  .container{padding-top:16px}.llumea-hero{min-height:520px;background-position:62% center}.hero-overlay{background:linear-gradient(90deg,rgba(24,17,12,.82),rgba(35,23,15,.48))}.hero-content{padding:38px 24px;width:100%}.hero-logo{width:112px;height:112px}.hero h1{font-size:48px}.hero p{font-size:15px}
  .intro-section{padding-top:44px}.intro-section h2{font-size:39px}.service-cards{grid-template-columns:1fr}
}

/* ===== LLUMEA V3 · interfaz elegante y compacta ===== */
:root{--cream:#fbf8f3;--cream-2:#f5eee5;--ink:#29231f;--gold-soft:#c89a4b;--line:#eadfD2}
body{background:linear-gradient(180deg,#fbf8f3 0%,#f8f3ec 100%);color:var(--ink)}
.luxury-topbar{height:76px;background:rgba(255,253,249,.96);backdrop-filter:blur(12px);padding-top:0;padding-bottom:0}
.luxury-brand{gap:13px}.luxury-brand img{width:45px;height:45px;border-radius:50%;object-fit:cover;border:1px solid #d8b979;box-shadow:none;filter:none}
.luxury-brand strong{font-size:25px;letter-spacing:.24em}.luxury-brand small{font-size:8px;letter-spacing:.58em;margin-left:2px}
.topbar nav{gap:28px}.topbar nav a{position:relative;text-transform:none;letter-spacing:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:18px;font-weight:600}
.topbar nav a.active,.topbar nav a:hover{color:#a66c25}.topbar nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:1px;background:#c69551}
.welcome{font-family:"Cormorant Garamond",Georgia,serif;font-size:17px;color:#3b332d}
.container{max-width:1280px;padding:58px 32px 80px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:34px}.page-heading h1{font-size:58px;line-height:1;margin:5px 0 10px;color:#2a2521;font-weight:600}.page-heading p{margin:0;color:#82766d;font-size:16px}.gold-button{background:linear-gradient(135deg,#d5aa59,#b9822d);border-color:#b9822d;color:white;border-radius:12px;padding:16px 24px;box-shadow:0 10px 24px rgba(148,100,32,.18);text-transform:none;letter-spacing:0;font-size:14px}.gold-button:hover{background:#9b671f;border-color:#9b671f}.reservation-section>h2{font-size:25px;margin:0 0 17px;color:#5d4021}.reservation-list{display:grid;gap:14px}.reservation-card{display:grid;grid-template-columns:76px minmax(0,1fr) auto auto;align-items:center;gap:28px;background:rgba(255,253,249,.92);border:1px solid #eadfd2;border-radius:16px;padding:24px 28px;box-shadow:0 12px 30px rgba(91,61,31,.055);transition:.2s}.reservation-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(91,61,31,.09)}.reservation-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#f4ebdf;color:#bd8734;font-size:23px}.reservation-main{border-left:1px solid #eadfd2;padding-left:28px}.reservation-main h3{font-size:31px;font-weight:600;margin:0 0 8px;color:#302722}.reservation-meta{display:flex;flex-wrap:wrap;gap:24px;color:#655d56;font-size:14px}.reservation-meta span{display:flex;align-items:center;gap:9px}.reservation-meta b{font-size:17px;color:#c38e37;font-weight:400}.status{white-space:nowrap;padding:8px 14px;border-radius:999px;font-size:12px;font-weight:600;text-transform:none}.status.confirmed{background:#e7f4e7;color:#4f7f57;border:1px solid #d0e9d2}.status.pending{background:#fff2d7;color:#95691f;border:1px solid #f3dfb9}.status.completed{background:#eee9f7;color:#685985}.status.cancelled{background:#f8e8e5;color:#a95b52}.cancel-link{background:transparent!important;border:0!important;color:#b95b52!important;padding:10px 0!important;border-radius:0!important;text-transform:none!important;letter-spacing:0!important;font-size:13px!important;font-weight:600!important}.cancel-link:hover{color:#8f3b34!important;transform:none!important}.is-past{opacity:.72;grid-template-columns:62px 1fr auto}.is-past .reservation-icon{width:46px;height:46px}.compact-list{margin-top:18px}.history-block{margin-top:30px;border-top:1px solid #e5d8ca;padding-top:22px}.history-block summary{cursor:pointer;color:#7c654d;font-weight:600}.empty-state{text-align:center;background:#fffdf9;border:1px solid #eadfd2;padding:55px 25px;border-radius:18px}.empty-state h2{font-size:34px;margin:8px}.empty-state p{color:#7c7067}.empty-icon{font-size:30px;color:#c49343}.admin-nav{margin-bottom:32px}.admin-nav a{font-family:"Cormorant Garamond",Georgia,serif;font-size:18px;border-radius:10px;padding:10px 17px}.admin-nav a.active{background:#2a2521;color:#f5d39e;border-color:#2a2521}.admin-heading{margin-bottom:24px}.admin-heading h1{font-size:50px}.refined-stats{gap:18px;margin:0 0 34px}.refined-stats div{border-radius:16px;padding:26px 28px;box-shadow:0 10px 25px rgba(91,61,31,.05)}.refined-stats strong{font-size:46px;color:#5e3e1e}.admin-bookings-card{background:#fffdf9;border:1px solid #eadfd2;border-radius:18px;padding:26px;box-shadow:0 14px 32px rgba(91,61,31,.055)}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px}.section-title h2{font-size:34px;margin:4px 0 0}.section-title a{color:#9a6b2d;font-size:13px;font-weight:600}.elegant-table{border:0;border-radius:12px;box-shadow:none}.elegant-table th{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#8b7764;background:#f7f0e8}.elegant-table td{padding-top:17px;padding-bottom:17px}.luxury-footer{text-transform:none;letter-spacing:.03em;color:#988777}.luxury-footer span{color:#c69551;margin:0 10px}
@media(max-width:850px){.reservation-card{grid-template-columns:58px 1fr auto;gap:18px}.reservation-card form{grid-column:2/-1}.reservation-main{padding-left:18px}.topbar nav{gap:16px}.topbar nav a{font-size:16px}.page-heading h1{font-size:48px}}
@media(max-width:760px){.luxury-topbar{height:70px}.luxury-brand img{width:42px;height:42px}.luxury-brand strong{font-size:20px}.topbar nav{top:70px}.topbar nav a.active:after{display:none}.container{padding:34px 16px 60px}.page-heading{align-items:stretch;flex-direction:column}.page-heading h1{font-size:43px}.gold-button{text-align:center}.reservation-card{grid-template-columns:48px 1fr;padding:20px 18px;gap:14px}.reservation-icon{width:44px;height:44px}.reservation-main{border-left:0;padding-left:0}.reservation-main h3{font-size:26px}.reservation-meta{gap:10px;flex-direction:column}.reservation-card .status{grid-column:2;justify-self:start}.reservation-card form{grid-column:2}.is-past{grid-template-columns:45px 1fr}.refined-stats{grid-template-columns:1fr}.admin-bookings-card{padding:17px}.elegant-table th,.elegant-table td{white-space:nowrap}}

/* ===== LLUMEA V4 · teléfono, agenda y reservas administrativas ===== */
.muted{color:var(--muted);font-size:12px}.compact-heading{margin-bottom:25px}.compact-heading h1{font-size:50px}.admin-week-card{margin-bottom:28px}.week-section-title{align-items:center}.week-inline-nav{display:flex;align-items:center;gap:18px;background:#f7f0e8;border:1px solid #eadfd2;border-radius:12px;padding:9px 13px}.week-inline-nav a{color:#9a6b2d;font-size:12px;font-weight:600}.week-inline-nav strong{font-size:16px;color:#4b3928}.admin-calendar-wrap{overflow:auto;border:1px solid #eadfd2;border-radius:14px;background:#fffdf9}.admin-week-calendar{display:grid;grid-template-columns:68px repeat(7,minmax(128px,1fr));min-width:965px}.admin-cal-head,.admin-cal-time,.admin-cal-cell{min-height:58px;border-right:1px solid #eee4d8;border-bottom:1px solid #eee4d8}.admin-cal-head{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f7f0e8;position:sticky;top:0;z-index:2}.admin-cal-head span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8c7863}.admin-cal-head strong{font-family:Montserrat,Arial,sans-serif;font-size:13px;margin-top:3px}.admin-cal-head.today{background:#ead8bf}.admin-cal-time{display:flex;align-items:center;justify-content:center;background:#faf6f0;color:#7b6755;font-size:12px;font-weight:600;position:sticky;left:0;z-index:1}.admin-cal-cell{background:#fcfaf6;padding:5px;overflow:hidden}.admin-cal-cell.free{background:#fbfaf7}.admin-cal-cell.booked{background:color-mix(in srgb,var(--service-color) 12%,#fff);border-left:4px solid var(--service-color);display:flex;flex-direction:column;justify-content:center;padding:7px 8px}.admin-cal-cell.booked strong{font-size:12px;color:#33271d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-cal-cell.booked small{font-size:10px;color:#796958;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.admin-cal-cell.booking-continuation{border-top-color:transparent}.admin-booking-filter{margin-bottom:20px;border-radius:16px}.admin-booking-selector{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(220px,1fr) auto;gap:16px;align-items:end}.admin-booking-selector label{margin:0}.admin-booking-selector button{height:47px}.elegant-table a[href^="tel:"]{color:#9a6b2d;font-weight:600}.elegant-table select{min-width:125px;margin:0;padding:8px 10px}.admin-bookings-card+.admin-bookings-card{margin-top:28px}
@supports not (background:color-mix(in srgb,red 10%,white)){.admin-cal-cell.booked{background:#f4eadf}}
@media(max-width:850px){.week-section-title{align-items:flex-start;flex-direction:column}.admin-booking-selector{grid-template-columns:1fr 1fr}.admin-booking-selector button{grid-column:1/-1}.compact-heading h1{font-size:43px}}
@media(max-width:760px){.week-inline-nav{width:100%;justify-content:space-between;gap:8px}.week-inline-nav strong{font-size:13px}.admin-booking-selector{grid-template-columns:1fr}.admin-booking-selector button{grid-column:auto}.admin-week-calendar{grid-template-columns:58px repeat(7,110px);min-width:828px}.admin-cal-head,.admin-cal-time,.admin-cal-cell{min-height:52px}}


/* ===== LLUMEA V5 · calendario estable y gestión manual de clientes ===== */
.admin-week-timeline{display:grid;grid-template-columns:68px repeat(7,minmax(132px,1fr));grid-template-rows:58px repeat(var(--calendar-rows),44px);min-width:995px;position:relative;background:#fffdf9}.admin-week-timeline .admin-cal-head,.admin-week-timeline .admin-cal-time,.admin-week-timeline .admin-cal-cell{min-height:0}.admin-week-timeline .admin-cal-head{position:sticky;top:0;z-index:5;border-right:1px solid #e8ddd0;border-bottom:1px solid #e8ddd0}.admin-week-timeline .admin-cal-time{position:sticky;left:0;z-index:4;border-right:1px solid #e8ddd0;border-bottom:1px solid #eee6dc}.admin-week-timeline .admin-cal-cell{border-right:1px solid #eee6dc;border-bottom:1px solid #eee6dc;background:#fffdf9}.admin-week-timeline .admin-cal-cell:nth-child(even){background:#fdfaf6}.admin-calendar-booking{z-index:3;margin:3px 5px;padding:7px 9px;border-radius:9px;border-left:4px solid var(--service-color);background:#f4eadf;background:linear-gradient(135deg,#fffaf3,#f0e1cf);box-shadow:0 3px 10px rgba(72,48,24,.10);display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#30261e;text-decoration:none;min-height:0}.admin-calendar-booking:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(72,48,24,.15)}.admin-calendar-booking strong{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-calendar-booking small{font-size:10px;color:#786655;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.admin-calendar-booking span{font-size:9px;color:#9a6b2d;margin-top:3px;font-weight:700}.clients-admin-layout{display:grid;grid-template-columns:minmax(270px,360px) minmax(0,1fr);gap:26px;align-items:start}.client-create-card{position:sticky;top:100px}.client-create-form{display:grid;gap:14px}.client-create-form label{margin:0}.client-create-form small{font-weight:400;color:var(--muted)}.client-create-form button{width:100%;margin-top:4px}.clients-list-card{margin:0}.table-action{white-space:nowrap;color:#9a6b2d;font-weight:700;font-size:12px}.admin-nav{flex-wrap:wrap}
@media(max-width:980px){.clients-admin-layout{grid-template-columns:1fr}.client-create-card{position:static}.admin-week-timeline{grid-template-columns:58px repeat(7,112px);min-width:842px}}
@media(max-width:760px){.admin-calendar-wrap{margin-left:-4px;margin-right:-4px;border-radius:10px}.admin-week-timeline{grid-template-rows:52px repeat(var(--calendar-rows),40px)}.admin-calendar-booking{margin:2px 3px;padding:5px 6px}.admin-calendar-booking strong{font-size:11px}.admin-calendar-booking small{font-size:9px}.admin-calendar-booking span{display:none}}
.logout-form{display:inline;margin:0}.nav-link-button{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}.nav-link-button:hover{text-decoration:underline}

/* Archivo de reservas V9 */
.booking-section{margin-top:28px}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px}.section-title-row h2{margin:0 0 4px;font-size:24px}.section-title-row p{margin:0}.inline-form{margin:0}.inline-form select{min-width:132px;margin:0;padding:9px 32px 9px 10px}.secondary-button{background:#fff;color:var(--text);border:1px solid var(--border);box-shadow:none}.secondary-button:hover{background:#f8f5ef}.archive-button{color:#765f36;border-color:#dfd3bd}.actions-column{width:110px}.empty-state{display:flex;flex-direction:column;gap:5px;color:var(--muted)}.empty-state strong{color:var(--text)}.archived-section{margin-top:42px}.archive-count,.month-count{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:28px;padding:0 10px;border-radius:999px;background:#eee8dd;color:#765f36;font-size:12px;font-weight:700}.archive-months{display:grid;gap:14px}.archive-month{margin:0;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(28,39,70,.04)}.archive-month summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;font-weight:750}.archive-month summary::-webkit-details-marker{display:none}.archive-month summary:before{content:'›';font-size:25px;line-height:1;margin-right:12px;transform:rotate(0);transition:transform .2s}.archive-month[open] summary:before{transform:rotate(90deg)}.archive-month summary>span:first-of-type{margin-right:auto}.archive-table{border:0;border-top:1px solid var(--border);border-radius:0}.archive-table tr:last-child td{border-bottom:0}.status.pending{background:#fff3cd;color:#785f00}.status.completed{background:#e8e9ff;color:#4146a0}
@media(max-width:760px){.section-title-row{align-items:flex-start}.archive-month summary{padding:15px}.actions-column{width:auto}}

/* V10 · Directorio de clientes */
.clients-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.clients-total-badge{display:flex;align-items:baseline;gap:8px;padding:12px 18px;border:1px solid #e9ddcf;border-radius:999px;background:#fffaf4;color:#6c5743;box-shadow:0 6px 18px rgba(73,49,28,.06)}.clients-total-badge strong{font-family:"Cormorant Garamond",serif;font-size:30px;line-height:1;color:#9a6b2d}.clients-total-badge span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.clients-list-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.clients-list-header h2{margin-bottom:0}.clients-search-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.clients-search-form input{width:min(330px,60vw);margin:0}.clients-search-form button{width:auto;margin:0;padding:11px 17px}.clients-search-form a{font-size:12px;color:#866a4d;font-weight:700}.client-name-cell{display:flex;align-items:center;gap:10px}.client-avatar{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:linear-gradient(145deg,#f6eadc,#e7d0b3);color:#7d5426;font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:700;border:1px solid #e1c8aa}.client-avatar.small{width:32px;height:32px;font-size:17px}.booking-count-pill{display:inline-flex;min-width:32px;height:28px;padding:0 9px;border-radius:999px;align-items:center;justify-content:center;background:#f4eadf;color:#7a5531;font-weight:700}.muted-text{color:var(--muted)}.clients-empty{display:flex;flex-direction:column;gap:5px;padding:36px;text-align:center;border:1px dashed #decdb9;border-radius:16px;background:#fffcf8}.clients-empty strong{font-family:"Cormorant Garamond",serif;font-size:24px}.clients-empty span{color:var(--muted)}.clients-cards-mobile{display:none}.client-mini-card{padding:16px;border:1px solid #eadfD3;border-radius:15px;background:#fffdf9;box-shadow:0 5px 16px rgba(72,48,24,.05)}.client-mini-info{display:flex;flex-direction:column;gap:3px;min-width:0}.client-mini-info strong{font-size:16px}.client-mini-info a,.client-mini-info span{font-size:13px;color:#6f6155;overflow-wrap:anywhere}.client-mini-info small{margin-top:4px;color:#9a8b7e}.client-mini-card>.table-action{grid-column:2;margin-top:8px}
@media(max-width:1120px){.clients-list-header{align-items:flex-start;flex-direction:column}.clients-search-form{width:100%}.clients-search-form input{flex:1;width:auto;min-width:210px}}
@media(max-width:760px){.clients-heading{align-items:flex-start;flex-direction:column}.clients-total-badge{align-self:flex-start}.clients-table-desktop{display:none}.clients-cards-mobile{display:grid;gap:12px}.client-mini-card{display:grid;grid-template-columns:42px 1fr;gap:12px}.clients-search-form input{width:100%;flex-basis:100%}.clients-search-form button{flex:1}.clients-search-form a{padding:10px}}

/* V13 · Seguridad de la cuenta del administrador */
.security-heading{margin-bottom:28px}.security-layout{display:grid;grid-template-columns:minmax(0,620px) minmax(260px,360px);gap:26px;align-items:start}.security-card,.security-info-card{border-radius:18px;padding:30px}.security-form{display:grid;gap:17px}.security-form label{margin:0}.security-form button{justify-self:start;margin-top:4px}.password-rules{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:#f8f1e8;border:1px solid #eadac7;border-radius:12px;color:#705a43;font-size:13px;line-height:1.45}.password-rules strong{color:#4c3928}.security-info-card{background:linear-gradient(145deg,#fffdf9,#f7eddf)}.security-info-card h2{font-size:31px;margin:8px 0 12px;color:#5f3c1b}.security-info-card p,.security-info-card li{color:#77695c;line-height:1.6}.security-info-card ul{padding-left:19px;margin:18px 0 0}.security-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#efe0cc;color:#a66c25;font-size:22px}
@media(max-width:850px){.security-layout{grid-template-columns:1fr}.security-form button{width:100%}}

/* V14 · edición y eliminación segura de reservas */
.booking-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.booking-actions .button,.booking-actions button{white-space:nowrap}.edit-booking-button{color:#765f36;border-color:#d9c5aa}.delete-booking-button{background:#fff4f2!important;color:#9d4138!important;border-color:#e4b9b4!important;box-shadow:none!important}.delete-booking-button:hover{background:#9d4138!important;color:#fff!important;border-color:#9d4138!important}.edit-booking-card{max-width:920px;margin:0 auto;padding:30px;border-radius:18px}.edit-booking-form{display:grid;gap:22px}.edit-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.edit-booking-form label{margin:0}.edit-booking-form small{display:block;margin-top:7px;color:#8a7867;font-weight:400}.form-actions-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.form-actions-row .button,.form-actions-row button{margin:0}.archived-edit-note{padding:12px 15px;background:#f8f0e5;border:1px solid #e8d3b8;border-radius:10px;color:#765a37;font-size:13px}.actions-column{min-width:190px}
@media(max-width:760px){.edit-booking-grid{grid-template-columns:1fr}.edit-booking-card{padding:20px}.booking-actions{min-width:180px}.form-actions-row>*{width:100%;text-align:center}}


/* V15 · aceptación obligatoria de la Política de privacidad */
.register-card{max-width:560px}.privacy-consent{display:flex;align-items:flex-start;gap:12px;margin:22px 0 6px;padding:15px 16px;border:1px solid #e4d3be;border-radius:13px;background:#fffaf4;font-weight:500;line-height:1.55;cursor:pointer}.privacy-consent input{width:19px;height:19px;min-width:19px;margin:2px 0 0;accent-color:var(--primary)}.privacy-consent span{display:block}.privacy-consent a{color:var(--primary-dark);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.privacy-consent:focus-within{outline:3px solid rgba(166,108,37,.16);border-color:var(--primary)}.privacy-note{margin:0 0 18px;color:var(--muted);font-size:12px}.register-card form>button{width:100%}.legal-page{max-width:900px;margin:20px auto 50px;padding:clamp(24px,5vw,52px)}.legal-page h1{font-size:clamp(42px,6vw,64px);margin:5px 0 0}.legal-page h2{font-size:29px;margin:30px 0 8px;color:#67431f}.legal-page p{line-height:1.75;color:#65584d}.legal-version{font-size:12px!important;text-transform:uppercase;letter-spacing:.08em;color:#9b826a!important}.legal-page a{color:var(--primary-dark);text-decoration:underline}.legal-warning{margin-top:32px;padding:16px 18px;border:1px solid #dfc7a9;border-radius:12px;background:#fff7ec;color:#684b2e;line-height:1.55}.footer-legal-link{display:inline-block;margin-top:8px;font-size:12px;text-decoration:underline;text-underline-offset:3px}

/* V16: acciones de clientes */
.client-row-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.client-row-actions form{margin:0}.client-row-actions .table-action{font-size:12px}.edit-client-link{color:#6f604f}.client-delete-link{border:0;background:transparent!important;color:#a44840!important;padding:0!important;border-radius:0!important;box-shadow:none!important;font-size:12px;font-weight:700;cursor:pointer}.client-delete-link:hover{text-decoration:underline}.client-mini-card>.client-row-actions{grid-column:2;margin-top:8px}.clients-table-desktop th:last-child{min-width:245px}


/* V17 · WhatsApp */
.whatsapp-consent{margin-top:14px;background:#f5f9f5;border:1px solid #dce9df;border-radius:14px;padding:14px 16px;display:flex;gap:11px;align-items:flex-start}
.whatsapp-consent input{width:18px;height:18px;margin-top:2px;accent-color:#2f7d50;flex:0 0 auto}
.whatsapp-consent span{font-size:.92rem;line-height:1.5;color:#465348}
.admin-whatsapp-consent{grid-column:1/-1;margin:4px 0 8px}
.whatsapp-client-status{display:inline-flex!important;width:max-content;padding:4px 9px;border-radius:999px;font-weight:700}
.whatsapp-client-status.enabled,.wa-mini-badge{background:#e5f4e9;color:#247144}
.whatsapp-client-status.disabled{background:#f1eee9;color:#887e72}
.wa-mini-badge{font-size:.68rem;padding:3px 7px;border-radius:999px;margin-left:8px;font-family:Arial,sans-serif;letter-spacing:.02em}
