@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Cinzel:wght@400;500&family=Raleway:wght@200;300;400;500&display=swap');

:root {
  --gold:#C9A96E; --gold-light:#E8D5A3; --gold-dark:#8B6914;
  --black:#0D0C0B; --dark:#141210; --charcoal:#1C1A17; --mid:#2A2620;
  --border:rgba(201,169,110,0.15); --text-muted:#7A6F5E; --text-light:#C4B89A; --white:#F5F0E8;
  --danger:#C0392B; --success:#27AE60; --warning:#E67E22; --info:#2980B9;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Raleway',sans-serif;background:var(--black);color:var(--white);min-height:100vh}
.admin-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{background:var(--charcoal);border-right:1px solid var(--border);padding:2rem 0;position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar-logo{padding:0 1.5rem 2rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}
.sidebar-logo img{width:130px}
.sidebar-nav a{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;color:var(--text-light);text-decoration:none;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;transition:all .2s;border-left:2px solid transparent}
.sidebar-nav a:hover,.sidebar-nav a.active{color:var(--gold);background:rgba(201,169,110,.06);border-left-color:var(--gold)}
.sidebar-nav .sep{padding:.5rem 1.5rem;font-size:.6rem;letter-spacing:.3em;color:var(--text-muted);text-transform:uppercase;margin-top:1rem}
.admin-main{background:var(--dark);overflow-y:auto}
.topbar{background:var(--charcoal);border-bottom:1px solid var(--border);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}
.topbar h1{font-family:'Cinzel',serif;font-size:.9rem;letter-spacing:.25em;color:var(--gold);text-transform:uppercase}
.content{padding:2rem}
.card{background:var(--charcoal);border:1px solid var(--border);border-radius:4px;padding:1.5rem;margin-bottom:1.5rem}
.card-title{font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}
.stat-card{background:var(--mid);border:1px solid var(--border);border-radius:4px;padding:1.25rem;text-align:center}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.2rem;color:var(--gold);font-weight:400;line-height:1}
.stat-lbl{font-size:.62rem;letter-spacing:.2em;color:var(--text-muted);text-transform:uppercase;margin-top:.4rem}
.regal-table{width:100%;border-collapse:collapse;font-size:.82rem}
.regal-table th{font-family:'Cinzel',serif;font-size:.62rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;padding:.75rem 1rem;border-bottom:1px solid var(--border);text-align:left}
.regal-table td{padding:.85rem 1rem;border-bottom:1px solid rgba(201,169,110,.06);color:var(--text-light);vertical-align:middle}
.regal-table tr:hover td{background:rgba(201,169,110,.03)}
.badge{display:inline-block;padding:.25rem .75rem;border-radius:2px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.badge-libre{background:rgba(39,174,96,.15);color:#27AE60}
.badge-ocupada{background:rgba(231,76,60,.15);color:#E74C3C}
.badge-reservada{background:rgba(201,169,110,.15);color:var(--gold)}
.badge-limpieza{background:rgba(127,140,141,.15);color:#7F8C8D}
.badge-pendiente{background:rgba(230,126,34,.15);color:#E67E22}
.badge-confirmada{background:rgba(39,174,96,.15);color:#27AE60}
.badge-cancelada{background:rgba(231,76,60,.15);color:#E74C3C}
.badge-en_cocina{background:rgba(41,128,185,.15);color:#3498DB}
.badge-lista{background:rgba(39,174,96,.15);color:#27AE60}
.badge-pagada{background:rgba(127,140,141,.15);color:#95A5A6}
.badge-desayuno{background:rgba(230,126,34,.15);color:#E67E22}
.badge-comida{background:rgba(201,169,110,.15);color:var(--gold)}
.form-group{margin-bottom:1.25rem}
.form-label{display:block;font-size:.68rem;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;margin-bottom:.5rem}
.form-control{width:100%;background:var(--mid);border:1px solid var(--border);color:var(--white);padding:.65rem 1rem;border-radius:3px;font-family:'Raleway',sans-serif;font-size:.85rem;transition:border-color .2s}
.form-control:focus{outline:none;border-color:var(--gold)}
.form-control option{background:var(--charcoal)}
textarea.form-control{resize:vertical;min-height:80px}
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.4rem;border:1px solid;border-radius:3px;cursor:pointer;font-family:'Cinzel',serif;font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:all .2s}
.btn-gold{background:var(--gold);color:var(--black);border-color:var(--gold)}
.btn-gold:hover{background:var(--gold-light)}
.btn-outline{background:transparent;color:var(--gold);border-color:var(--border)}
.btn-outline:hover{border-color:var(--gold);background:rgba(201,169,110,.06)}
.btn-danger{background:rgba(192,57,43,.2);color:#E74C3C;border-color:rgba(192,57,43,.4)}
.btn-success{background:rgba(39,174,96,.2);color:#27AE60;border-color:rgba(39,174,96,.4)}
.btn-info{background:rgba(41,128,185,.2);color:#3498DB;border-color:rgba(41,128,185,.4)}
.btn-sm{padding:.35rem .85rem;font-size:.58rem}
.mesas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:1rem}
.mesa-card{background:var(--mid);border:1px solid var(--border);border-radius:4px;padding:1rem;text-align:center;cursor:pointer;transition:all .25s;position:relative}
.mesa-card:hover{border-color:var(--gold);transform:translateY(-2px)}
.mesa-card.libre{border-top:3px solid #27AE60}
.mesa-card.ocupada{border-top:3px solid #E74C3C}
.mesa-card.reservada{border-top:3px solid var(--gold)}
.mesa-card.limpieza{border-top:3px solid #7F8C8D}
.mesa-num{font-family:'Cinzel',serif;font-size:1.4rem;color:var(--gold);line-height:1}
.mesa-name{font-size:.62rem;color:var(--text-muted);letter-spacing:.08em;margin:.3rem 0}
.mesa-cap{font-size:.7rem;color:var(--text-light)}
.alert{padding:.85rem 1.25rem;border-radius:3px;font-size:.82rem;margin-bottom:1rem;border-left:3px solid}
.alert-success{background:rgba(39,174,96,.1);border-color:#27AE60;color:#27AE60}
.alert-danger{background:rgba(231,76,60,.1);border-color:#E74C3C;color:#E74C3C}
.alert-warning{background:rgba(230,126,34,.1);border-color:#E67E22;color:#E67E22}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem}
.flex{display:flex;align-items:center;gap:1rem}
.flex-between{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}
@media print{body{background:white;color:black;font-family:'Courier New',monospace;font-size:11px}.no-print{display:none!important}.ticket{width:72mm;margin:0 auto}}
@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.g2,.g3{grid-template-columns:1fr}}
