/* Tema Atelier Bellaluna - se carga despues de style.css */
:root{
  --bg:#f7f0ee; --crema:#ffffff; --borde:#ecdcd7;
  --texto:#3b2f33; --texto-suave:#8a7378;
  --rojo:#a4505e; --rojo-suave:#c47a87; --rojo-bg:#f6e3e6; --oro:#c9a24a;
}
body{background:var(--bg); color:var(--texto)}
a{color:#a4505e}
h1,h2,h3{color:#4a2c35; letter-spacing:-.01em}

.sidebar{background:#fdf8f6 !important; border-right:1px solid #ecdcd7 !important}
.sidebar .brand{margin-bottom:1.2rem}
.sidebar .brand img{height:auto; width:100%; border-radius:10px}
.sidebar .brand span{display:none}
.sidebar input[type=text]{background:#fff; border:1px solid #ecdcd7; border-radius:10px; color:#3b2f33}
.nav-item{color:#6b565c; border-radius:10px; transition:background .15s}
.nav-item:hover{background:#f6e3e6; color:#a4505e}
.nav-item.active{background:linear-gradient(135deg,#b76e79,#a4505e); color:#fff; font-weight:600; box-shadow:inset 3px 0 0 #c9a24a}
.sidebar [style*="border-top"]{border-color:#ecdcd7 !important}

.topbar-mobile{background:#fdf8f6 !important; border-bottom:1px solid #ecdcd7 !important}
.btn-hamburguesa{color:#a4505e !important}
.topbar-mobile .brand-mobile{display:none}
.logo-mobile{height:34px !important; border-radius:6px}

.card{background:#fff; border:none; border-radius:16px; box-shadow:0 1px 3px rgba(74,44,53,.07),0 6px 18px rgba(74,44,53,.05)}
.card .value{color:#4a2c35}
.card.alerta{background:#f6e3e6}
th{text-transform:uppercase; font-size:.72rem; letter-spacing:.05em; color:#8a7378}
td{border-bottom:1px solid #f3e8e5}
tbody tr:hover td{background:#fcf7f5}
.btn{border-radius:10px; border:1px solid #d9a9b1; color:#a4505e; background:#fff}
.btn:hover{background:#f6e3e6}
.btn-primary{background:linear-gradient(135deg,#b76e79,#a4505e); color:#fff; border-color:#a4505e}
.btn-primary:hover{background:linear-gradient(135deg,#c47a87,#b76e79)}
input,select,textarea{border-radius:8px}
input:focus,select:focus,textarea:focus{outline:2px solid #e2bfc5; border-color:#c47a87}
.flash{border-radius:10px}
.powered-by{border-top:1px solid #ecdcd7}

/* Login */
.login-screen{background:radial-gradient(circle at 20% 10%,#ffffff 0%,#f3e4e1 60%,#ead3cf 100%) !important}
.login-logo-wrap img{border-radius:22px; box-shadow:0 10px 30px rgba(74,44,53,.12)}
.login-screen label{color:#6b565c}
.login-screen .powered-by{color:#8a7378}
.login-screen .flash{background:#f6e3e6; color:#a4505e}
.demo-box{width:100%; max-width:320px; margin-top:1.2rem; padding:.9rem; border:1px solid #ecdcd7; border-radius:14px; background:rgba(255,255,255,.75)}
.demo-box p{margin:0 0 .6rem; color:#8a7378; font-size:.8rem; text-align:center}
.demo-box p b{color:#a4505e}
.demo-user{display:flex; justify-content:space-between; align-items:center; width:100%; margin-bottom:.4rem; padding:.55rem .7rem; border:1px solid #ecdcd7; border-radius:10px; background:#fff; color:#4a2c35; cursor:pointer; font-size:.85rem}
.demo-user:hover{border-color:#c9a24a}
.demo-user span{color:#8a7378; font-size:.75rem}

/* ---------- Agenda ---------- */
.ag-head{display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; justify-content:space-between; margin-bottom:1rem}
.ag-nav{display:flex; gap:.4rem; align-items:center; flex-wrap:wrap}
.ag-nav input[type=date]{width:auto; padding:.45rem .6rem; border:1px solid #ecdcd7; border-radius:10px; background:#fff; margin:0}
.ag-semana{display:flex; gap:.4rem; margin-bottom:1rem; overflow-x:auto}
.ag-chip{flex:1; min-width:62px; text-align:center; padding:.5rem .3rem; border-radius:12px; background:#fff; border:1px solid #ecdcd7; color:#6b565c}
.ag-chip b{display:block; font-size:1.1rem; color:#4a2c35}
.ag-chip small{display:block; color:#8a7378; font-size:.68rem}
.ag-chip.activo{background:linear-gradient(135deg,#b76e79,#a4505e); border-color:#a4505e}
.ag-chip.activo b,.ag-chip.activo small{color:#fff}
.ag-chip.hoy{box-shadow:inset 0 -3px 0 #c9a24a}
.ag-wrap{display:flex; background:#fff; border-radius:16px; box-shadow:0 1px 3px rgba(74,44,53,.07),0 6px 18px rgba(74,44,53,.05); overflow-x:auto; padding-bottom:.8rem}
.ag-horas{position:relative; width:50px; flex:none; margin-top:56px}
.ag-hora{position:absolute; right:6px; transform:translateY(-.5em); font-size:.7rem; color:#8a7378}
.ag-cols{display:flex; flex:1; min-width:0}
.ag-col{flex:1; min-width:170px; border-left:1px solid #f3e8e5}
.ag-colhead{height:56px; padding:.5rem .6rem; text-align:center; border-bottom:1px solid #ecdcd7}
.ag-colhead b{display:block; font-size:.9rem; color:#4a2c35}
.ag-colhead span{font-size:.7rem; color:#8a7378}
.ag-body{position:relative; cursor:cell; background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 65px,#f3e8e5 65px,#f3e8e5 66px)}
.ag-almuerzo{position:absolute; left:0; right:0; pointer-events:none; text-align:center; font-size:.68rem; color:#b9a39e; padding-top:.2rem; background:repeating-linear-gradient(45deg,#fbf3f1,#fbf3f1 6px,#f7ebe8 6px,#f7ebe8 12px)}
.ag-turno{position:absolute; left:4px; right:4px; border-radius:10px; border-left:4px solid; padding:.25rem .45rem; overflow:hidden; font-size:.74rem; line-height:1.25; cursor:pointer; box-shadow:0 1px 2px rgba(74,44,53,.12)}
.ag-turno b{display:block; font-size:.76rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; padding-right:.9rem}
.ag-turno span{display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; opacity:.85}
.ag-turno:hover{filter:brightness(.97); z-index:2}
.fam-cabello{background:#f7dfe3; border-color:#b76e79; color:#5a2f39}
.fam-unas{background:#e9e0f5; border-color:#8e6fb5; color:#41325a}
.fam-estetica{background:#dcefe2; border-color:#5f9b72; color:#264733}
.fam-maquillaje{background:#f8ecc9; border-color:#c9a24a; color:#5a4616}
.fam-otro{background:#eee; border-color:#999; color:#444}
.est-cancelado{opacity:.4; text-decoration:line-through}
.est-ausente{opacity:.7; background-image:repeating-linear-gradient(135deg,transparent 0,transparent 5px,rgba(0,0,0,.08) 5px,rgba(0,0,0,.08) 10px)}
.est-reservado{outline:1px dashed rgba(74,44,53,.4); outline-offset:-1px}
.est-encurso{box-shadow:0 0 0 2px #c9a24a,0 4px 10px rgba(201,162,74,.4)}
.est-porcobrar{box-shadow:0 0 0 2px #e0a040}
.est-atendido::after,.est-porcobrar::after{position:absolute; right:.45rem; top:.2rem; font-weight:700}
.est-atendido::after{content:"✓"; color:#3d7a52}
.est-porcobrar::after{content:"$"; color:#c27a10}
.ag-leyenda{font-size:.78rem; color:#8a7378; margin-top:.7rem}
.ag-leyenda i{display:inline-block; width:12px; height:12px; border-radius:3px; border-left:3px solid; margin:0 .25rem 0 .5rem; vertical-align:-1px}
.ag-modal{position:fixed; inset:0; background:rgba(40,25,30,.45); display:none; align-items:center; justify-content:center; z-index:50; padding:1rem}
.ag-modal.abierto{display:flex}
.ag-modal-card{background:#fff; border-radius:18px; padding:1.4rem; width:100%; max-width:430px; position:relative; box-shadow:0 20px 50px rgba(40,25,30,.3)}
.ag-x{position:absolute; right:.8rem; top:.8rem; border:none; background:none; font-size:1.1rem; cursor:pointer; color:#8a7378}
.ag-det th{width:96px; padding:.35rem .4rem .35rem 0; font-size:.7rem}
.ag-det td{padding:.35rem 0}
.ag-acciones{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem}
.ag-acciones form{margin:0; display:flex; gap:.4rem}
.ag-acciones select{width:auto; margin:0}
