*{box-sizing:border-box}
html,body{margin:0;width:100%;min-height:100%;overflow-x:hidden}
body{font-family:Arial,Helvetica,sans-serif;color:#fff;background:radial-gradient(circle at 50% 15%,rgba(255,255,255,.12),transparent 20%),radial-gradient(circle at 12% 28%,rgba(255,255,255,.055),transparent 28%),radial-gradient(circle at 88% 78%,rgba(255,255,255,.07),transparent 32%),linear-gradient(145deg,#020202 0%,#0c0c0c 40%,#171717 56%,#030303 100%)}
body:before{content:"";position:fixed;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.05) 1px,transparent 2px),linear-gradient(45deg,transparent 0%,rgba(255,255,255,.03) 1px,transparent 3px);background-size:210px 210px,330px 330px;opacity:.32;pointer-events:none;z-index:0}
body:after{content:"";position:fixed;inset:0;background:url("../img/logo.png") center/680px no-repeat;opacity:.025;pointer-events:none;z-index:0}
button,input,select{font:inherit}
.page{position:relative;z-index:1;width:100%;max-width:1250px;margin:0 auto;padding:26px 16px 55px}
.top-bar{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap}
.top-spacer{flex:1}
.nav-btn,.main-btn,.primary-btn,.danger-btn,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;text-decoration:none;font-weight:800;text-transform:uppercase;cursor:pointer;transition:.2s ease}
.nav-btn{min-height:38px;padding:10px 15px;color:#fff;font-size:13px;letter-spacing:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18)}
.nav-btn:hover,.ghost-btn:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
.logo-box{text-align:center;margin-bottom:18px}.logo-box img{width:210px;max-width:72%;filter:drop-shadow(0 0 25px rgba(255,255,255,.18))}
.title{text-align:center;font-size:24px;letter-spacing:3px;text-transform:uppercase;margin:0 0 28px;color:#e7e7e7;text-shadow:0 0 14px rgba(255,255,255,.25)}
.day-buttons{display:flex;justify-content:center;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.day-btn{min-width:150px;padding:15px 22px;border:1px solid rgba(255,255,255,.25);background:linear-gradient(145deg,#242424,#080808);color:#fff;font-size:18px;font-weight:800;letter-spacing:1px;border-radius:15px;cursor:pointer;box-shadow:0 12px 35px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.16);transition:.25s}
.day-btn:hover,.day-btn.active{transform:translateY(-2px);border-color:rgba(255,255,255,.58);box-shadow:0 18px 45px rgba(0,0,0,.8),0 0 22px rgba(255,255,255,.16)}
.table-section{display:none;animation:fadeIn .3s ease}.table-section.active{display:block}
.card{background:rgba(10,10,10,.82);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:18px;box-shadow:0 25px 70px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(6px)}
.table-title{font-size:24px;margin:0 0 16px;letter-spacing:2px;text-transform:uppercase;color:#f0f0f0}
.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;background:rgba(255,255,255,.03)}
th{background:linear-gradient(180deg,#eee,#cfcfcf);color:#111;text-align:left;padding:10px;font-size:13px;text-transform:uppercase;border:1px solid rgba(0,0,0,.7);white-space:nowrap}
td{padding:7px;border:1px solid rgba(255,255,255,.16);color:#fff}.numero{width:90px;text-align:center;font-weight:800;font-size:15px}
input,select{width:100%;padding:9px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#101010;color:#fff;outline:none;font-size:14px}
input:focus,select:focus{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.15)}
.action-buttons{display:flex;gap:8px}.primary-btn,.danger-btn,.ghost-btn{border:0;padding:10px 13px;white-space:nowrap}
.primary-btn{background:linear-gradient(145deg,#fff,#bdbdbd);color:#000}.danger-btn{background:linear-gradient(145deg,#ff5a5a,#9b1111);color:#fff}.ghost-btn{background:#191919;color:#fff;border:1px solid rgba(255,255,255,.2)}
.primary-btn:hover,.danger-btn:hover{transform:scale(1.025)}
.zone-row td{border:0;padding:15px 0 8px;text-align:center;background:transparent}.zone-title{display:inline-flex;align-items:center;gap:6px;font-weight:800;text-transform:uppercase;font-size:15px}.zone-title:before,.zone-title:after{content:"⛔";color:#ff4d73;font-size:14px}
.mobile-label,.mobile-booking-info{display:none}
.empty-state{text-align:center;color:#bcbcbc;padding:26px!important}
.popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.76);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}.popup-overlay.active{display:flex}
.popup-box{width:100%;max-width:390px;background:linear-gradient(145deg,#181818,#050505);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:26px 22px;text-align:center;box-shadow:0 25px 80px rgba(0,0,0,.9);animation:popupIn .22s ease}
.popup-icon{width:58px;height:58px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800}.popup-icon.ok{background:rgba(34,197,94,.18);border:1px solid rgba(34,197,94,.55);color:#b9ffd0}.popup-icon.err{background:rgba(239,68,68,.18);border:1px solid rgba(239,68,68,.55);color:#ffd0d0}
.popup-text{font-size:16px;line-height:1.45;margin-bottom:20px;font-weight:800;white-space:pre-line}.popup-box input{margin-bottom:15px;text-align:center}.popup-box .primary-btn,.popup-box .ghost-btn{width:100%;margin-top:9px}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}.admin-card h2{margin:0 0 6px;font-size:19px;letter-spacing:1px}.admin-card p{color:#bdbdbd;margin:0 0 16px;font-size:13px;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid .wide{grid-column:1/-1}.form-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#bdbdbd;margin:0 0 5px}.admin-list{display:flex;flex-direction:column;gap:9px;margin-top:16px}.admin-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045)}.admin-item-main{min-width:0;flex:1}.admin-item-title{font-weight:800}.admin-item-meta{font-size:12px;color:#aaa;margin-top:3px}.admin-item form{margin:0}.admin-item .danger-btn{font-size:11px;padding:8px 10px}.section-heading{display:flex;align-items:center;gap:12px;margin:30px 0 14px}.section-heading h2{margin:0;font-size:21px;text-transform:uppercase;letter-spacing:2px}.section-heading:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,rgba(255,255,255,.25),transparent)}
.check-line{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.04);cursor:pointer}.check-line input{width:20px;height:20px;margin:0;accent-color:#fff}.check-line span{display:flex;flex-direction:column;gap:3px}.check-line small{color:#aaa}.dinner-tag{margin-left:6px;color:#ffe7a8;border:1px solid rgba(255,208,91,.25);background:rgba(255,183,0,.09)}.champ-tag{margin-left:6px;color:#cfe4ff;border:1px solid rgba(96,165,250,.28);background:rgba(59,130,246,.1)}
.management-sheet{margin-bottom:16px}.management-sheet summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px}.management-sheet summary::-webkit-details-marker{display:none}.management-sheet summary:before{content:"›";font-size:26px;transition:.2s}.management-sheet[open] summary:before{transform:rotate(90deg)}.management-content{margin-top:15px}.tag{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.1);font-size:11px;color:#d6d6d6}
.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.summary-box{padding:14px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.035)}.summary-box h3{margin:0 0 10px;text-transform:uppercase;font-size:16px}.summary-line{font-size:13px;line-height:1.5;padding:8px 0;border-top:1px solid rgba(255,255,255,.1)}.summary-line:first-of-type{border-top:0}.muted{color:#999}
.report-dashboard{margin-bottom:18px}.report-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.report-head h2{margin:0 0 4px;font-size:22px}.report-head p{margin:0;color:#999;font-size:12px}.report-head form{margin:0}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.kpi{min-height:105px;padding:14px;border-radius:15px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));display:flex;flex-direction:column;justify-content:center}.kpi span{color:#aaa;font-size:11px;text-transform:uppercase;letter-spacing:.8px}.kpi strong{font-size:27px;margin:5px 0;color:#fff}.kpi small{color:#a7a7a7;font-size:11px}.kpi.success{border-color:rgba(74,222,128,.27);background:linear-gradient(145deg,rgba(34,197,94,.13),rgba(34,197,94,.025))}.kpi.dinner{border-color:rgba(251,191,36,.28);background:linear-gradient(145deg,rgba(245,158,11,.12),rgba(245,158,11,.025))}.kpi.money{border-color:rgba(96,165,250,.28);background:linear-gradient(145deg,rgba(59,130,246,.12),rgba(59,130,246,.025))}.report-sheets{display:flex;flex-direction:column;gap:14px}.report-sheet{padding:0;overflow:hidden}.report-sheet summary{list-style:none;cursor:pointer;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:19px;font-weight:900;background:rgba(255,255,255,.045)}.report-sheet summary::-webkit-details-marker{display:none}.report-sheet summary span:before{content:"›";display:inline-block;margin-right:10px;font-size:25px;transition:.2s}.report-sheet[open] summary span:before{transform:rotate(90deg)}.report-sheet summary strong{color:#cfe4ff}.sheet-kpis{display:flex;gap:8px;flex-wrap:wrap;padding:13px 16px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.2)}.sheet-kpis span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.07);font-size:11px;color:#bbb}.sheet-kpis b{color:#fff}.report-rows{padding:10px}.report-row{display:grid;grid-template-columns:1.1fr 2fr .7fr 1fr;gap:12px;align-items:center;padding:11px 12px;margin-bottom:7px;border-radius:12px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.035)}.report-row:last-child{margin-bottom:0}.report-row.booked{border-left:4px solid #55b978}.report-row.free{opacity:.62;border-left:4px solid #777}.report-table-name,.report-status,.report-people,.report-money{display:flex;flex-direction:column;gap:3px}.report-table-name strong{font-size:16px}.report-status strong{font-size:13px}.report-status small,.report-people span,.report-money span{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#999}.report-people strong,.report-money strong{font-size:15px}.type-pill,.status-pill{display:inline-flex;width:max-content;padding:3px 7px;border-radius:999px;background:rgba(255,255,255,.08);font-size:10px;text-transform:uppercase}.type-pill.is-dinner{color:#ffe29a;background:rgba(245,158,11,.13)}.status-pill{color:#b9ffd0;background:rgba(34,197,94,.13)}.report-row.free .status-pill{color:#ddd;background:rgba(255,255,255,.09)}.pr-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.pr-report h3{margin:0 0 6px}.pr-total{display:block;font-size:23px;color:#cfe4ff;margin-bottom:12px}.pr-stats{display:flex;flex-wrap:wrap;gap:6px}.pr-stats span{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.07);font-size:11px;color:#bbb}
@keyframes popupIn{from{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:none}}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-row{grid-template-columns:1fr 1.5fr .7fr 1fr}.pr-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.admin-grid,.summary-grid{grid-template-columns:1fr}}
@media(max-width:700px){.page{padding:18px 9px 38px}.logo-box img{width:175px}.title{font-size:17px;letter-spacing:2px;margin-bottom:20px}.day-buttons{gap:8px;margin-bottom:20px;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start}.day-btn{min-width:104px;padding:12px 10px;font-size:13px;border-radius:12px}.card{padding:10px;border-radius:16px}.table-title{font-size:18px;text-align:center}.table-wrap{overflow:visible}table,thead,tbody,th,td,tr{display:block;width:100%}thead{display:none}.table-data-row{margin-bottom:7px;border-radius:12px;overflow:hidden}.table-data-row .numero{display:flex;align-items:center;flex-wrap:wrap;gap:4px;width:100%;padding:9px 38px 9px 13px;text-align:left;cursor:pointer;border:1px solid rgba(255,255,255,.24);position:relative;border-radius:11px;line-height:18px}.mobile-label{display:inline;color:#000;font-weight:900}.mobile-booking-info{display:inline;font-size:12px;font-weight:800;max-width:100%;overflow-wrap:anywhere}.mobile-people-info{white-space:nowrap}.table-code{font-weight:900}.table-data-row.status-empty .numero{background:linear-gradient(145deg,#91c891,#68a96f);color:#000}.table-data-row.status-filled .numero{background:linear-gradient(145deg,#bd6262,#8f3434);color:#fff}.table-data-row .numero:after{content:">";position:absolute;right:14px;top:50%;transform:translateY(-50%);transition:.2s}.table-data-row.expanded .numero:after{transform:translateY(-50%) rotate(90deg)}.table-data-row td:not(.numero){display:none}.table-data-row.expanded{padding:8px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05)}.table-data-row.expanded td:not(.numero){display:block;border:0;padding:4px 0}.table-data-row.expanded .numero{margin-bottom:7px}.table-data-row td:not(.numero):before{content:attr(data-label);display:block;margin-bottom:4px;font-size:10px;font-weight:800;color:#bfbfbf;text-transform:uppercase}.zone-row{margin:16px 0 8px}.zone-row td{padding:0}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.admin-item{align-items:flex-start;flex-wrap:wrap}.top-bar{gap:7px}.nav-btn{font-size:11px;padding:9px 10px}.top-spacer{display:none}.top-bar .logout{margin-left:auto}.report-head{align-items:flex-start;flex-direction:column}.report-head form,.report-head button{width:100%}.kpi-grid{grid-template-columns:1fr 1fr}.kpi{min-height:94px;padding:11px}.kpi strong{font-size:21px}.report-sheet{padding:0}.report-sheet summary{padding:14px;font-size:16px}.report-row{grid-template-columns:1fr 1fr;gap:9px}.report-status{grid-column:1/-1;grid-row:2}.report-people,.report-money{grid-row:3}.pr-report-grid{grid-template-columns:1fr}}
