:root{
--petrol:#173F3C;--petrol-dark:#0D2827;--petrol-soft:#26534F;--wine:#5C1F2E;--wine-dark:#37121B;--wine-soft:#7A2E40;
--cream:#FAF5EA;--paper:#FFFFFF;--tomato:#C2412A;--gold:#C69A2E;--ink:#2B2621;--ink-soft:#6E6459;--line:#E4DCC9;--line-soft:#EFE8D8;
--online:#E2812E;--phone:#5C93BE;--arrived:#4C9A6A;--cancel:#B9AFA0;--radius:14px;--radius-sm:8px;--shadow:0 8px 24px rgba(23,63,60,0.10);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:'Manrope',sans-serif;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;}
h1,h2,h3,.display{font-family:'Fraunces',serif;font-weight:600;letter-spacing:-0.01em;color:var(--petrol-dark);}
.mono{font-family:'IBM Plex Mono',monospace;}
button{font-family:inherit;cursor:pointer;}
a{color:inherit;}
::selection{background:var(--gold);color:var(--petrol-dark);}
.compass{position:relative;width:46px;height:46px;flex:0 0 auto;}
.compass svg{width:100%;height:100%;display:block;}
.compass .needle{transform-origin:50% 50%;transition:transform .6s cubic-bezier(.22,1,.36,1);}
.topbar{position:sticky;top:0;z-index:40;background:linear-gradient(100deg,var(--wine) 0%,var(--wine-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;box-shadow:0 2px 12px rgba(0,0,0,0.12);}
.brand{display:flex;align-items:center;gap:10px;}
.brand-logo{height:44px;width:auto;display:block;border-radius:8px;}
.brand-text{display:flex;flex-direction:column;line-height:1.05;}
.brand-text b{font-family:'Fraunces',serif;font-size:18px;font-weight:600;}
.brand-text span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#CFE3DE;}
.topnav{display:flex;gap:6px;align-items:center;}
.topnav button{background:transparent;border:1px solid rgba(255,255,255,0.25);color:#fff;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;transition:.2s;}
.topnav .top-link{background:transparent;border:1px solid rgba(255,255,255,0.25);color:#fff;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;transition:.2s;}
.topnav .top-link:hover{background:rgba(255,255,255,0.12);border-color:rgba(255,255,255,0.55);}
#navPublic.active,#navAdmin.active{background:var(--gold);border-color:var(--gold);color:var(--wine-dark);}
.wrap{max-width:1100px;margin:0 auto;padding:22px 16px 60px;}
.hero{display:flex;align-items:center;gap:22px;padding:26px 4px 10px;}
.hero .compass{width:64px;height:64px;}
.hero-logo{flex-direction:column;text-align:center;padding-top:10px;}
.hero-logo-img{width:100%;max-width:340px;height:auto;display:block;margin:0 auto 6px;}
.hero h1{font-size:clamp(28px,5vw,42px);margin:0 0 4px;}
.hero p{margin:0;color:var(--ink-soft);font-size:15px;max-width:46ch;}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);}
.booker{padding:26px;margin-top:18px;}
.steps-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:22px;}
.step-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600;border:1.5px solid var(--line);color:var(--ink-soft);background:var(--cream);}
.step-dot.on{background:var(--petrol);border-color:var(--petrol);color:#fff;}
.step-dot.done{background:var(--gold);border-color:var(--gold);color:var(--petrol-dark);}
.step-line{width:34px;height:1px;background:var(--line);}
.field-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.field{flex:1 1 200px;}
.field label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin-bottom:6px;}
.field input,.field textarea{width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-family:inherit;font-size:14.5px;background:var(--cream);color:var(--ink);}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--petrol);background:#fff;}
.counter{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;background:var(--cream);width:fit-content;}
.counter button{width:36px;height:36px;background:transparent;border:none;font-size:18px;color:var(--petrol);}
.counter button:hover{background:var(--line-soft);}
.counter .val{width:34px;text-align:center;font-weight:700;font-family:'IBM Plex Mono',monospace;}
.day-picker{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;}
.day-chip{flex:0 0 auto;min-width:58px;text-align:center;padding:10px 8px;border-radius:var(--radius-sm);border:1.5px solid var(--line);background:var(--cream);}
.day-chip .dow{font-size:10.5px;text-transform:uppercase;color:var(--ink-soft);letter-spacing:.06em;}
.day-chip .num{font-family:'Fraunces',serif;font-size:19px;font-weight:600;}
.day-chip.sel{background:var(--petrol);border-color:var(--petrol);color:#fff;}
.day-chip.sel .dow{color:#CFE3DE;}
.day-chip.disabled{opacity:.35;pointer-events:none;}
.time-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.time-pill{padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--cream);font-family:'IBM Plex Mono',monospace;font-size:13.5px;font-weight:500;}
.time-pill:hover{border-color:var(--petrol);}
.time-pill.sel{background:var(--tomato);border-color:var(--tomato);color:#fff;}
.empty-note{color:var(--ink-soft);font-size:13.5px;padding:10px 2px;}
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:12px 22px;border-radius:999px;border:none;font-weight:700;font-size:14.5px;transition:.15s;}
.btn-primary{background:var(--tomato);color:#fff;}
.btn-primary:hover{background:#a8371f;}
.btn-primary:disabled{background:var(--cancel);cursor:not-allowed;}
.btn-ghost{background:transparent;color:var(--petrol);border:1.5px solid var(--line);}
.btn-ghost:hover{border-color:var(--petrol);}
.btn-dark{background:var(--petrol-dark);color:#fff;}
.actions-row{display:flex;justify-content:space-between;align-items:center;margin-top:22px;gap:10px;}
.confirm-box{text-align:center;padding:10px 4px 4px;}
.confirm-code{display:inline-block;margin:14px 0;padding:10px 20px;border-radius:999px;background:var(--petrol);color:#fff;font-family:'IBM Plex Mono',monospace;letter-spacing:.06em;font-weight:600;}
.summary-line{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--line);font-size:14px;}
.summary-line b{color:var(--petrol-dark);}
.banner{padding:12px 16px;border-radius:var(--radius-sm);background:#FBEFE6;color:#8C4A1F;font-size:13.5px;border:1px solid #F0D3B8;margin-bottom:16px;}
.admin-shell{display:flex;min-height:calc(100vh - 62px);position:relative;}
.admin-side{width:190px;flex:0 0 auto;color:#fff;padding:18px 10px;overflow:hidden;background:linear-gradient(165deg,var(--wine) 0%,var(--wine-dark) 60%,#23090f 100%);transition:width .25s ease,padding .25s ease;box-shadow:inset -1px 0 0 rgba(255,255,255,0.06);}
.admin-side.collapsed{width:0;padding-left:0;padding-right:0;}
.admin-side-inner{width:170px;display:flex;flex-direction:column;height:100%;}
.admin-side button{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:none;border-left:3px solid transparent;color:#E8C9C9;padding:10px 11px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;margin-bottom:4px;white-space:nowrap;transition:.15s;}
.admin-side button:hover{background:rgba(255,255,255,0.06);color:#fff;}
.admin-side button.active{background:rgba(255,255,255,0.10);color:#fff;border-left-color:var(--gold);}
.admin-side button[data-logout]{margin-top:auto;color:#F0A0A0;}
.side-handle{flex:0 0 auto;width:20px;border:none;cursor:pointer;background:var(--wine-dark);color:var(--gold);font-size:12px;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,0.08);}
.side-handle:hover{background:var(--wine-soft);}
.admin-main{flex:1;padding:20px;overflow-x:auto;}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px;}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;}
.stat-card .num{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--petrol-dark);}
.stat-card .lab{font-size:12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;}
.stat-blue{background:#E7F1F8;border-color:#CFE3F0;}
.stat-blue .num{color:#2E6C93;}
.stat-green{background:#E9F5EC;border-color:#CFE9D6;}
.stat-green .num{color:var(--arrived);}
.stat-purple{background:#F1EAF7;border-color:#DFCEEE;}
.stat-purple .num{color:#7A4FA0;}
.stat-orange{background:#FCEEE0;border-color:#F4D6B5;}
.stat-orange .num{color:var(--online);}
.stat-gold{background:#FBF2DD;border-color:#EEDCA6;}
.stat-gold .num{color:#9C7A17;}
.stat-tomato{background:#F7E5E0;border-color:#EAC3B8;}
.stat-tomato .num{color:var(--tomato);}
.diario-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--petrol-dark);padding:14px 16px;margin-bottom:12px;overflow:hidden;transition:max-height .25s ease,padding .25s ease,opacity .2s ease;}
.diario-panel.collapsed{max-height:0;padding-top:0;padding-bottom:0;border-width:0;margin-bottom:0;opacity:0;}
.diario-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.diario-panel-head h4{margin:0;color:#fff;font-family:'Fraunces',serif;font-weight:600;font-size:15px;}
.diario-panel .grid-cards{margin-bottom:0;}
.diario-panel .stat-card{padding:12px 14px;}
.diario-panel .stat-card .num{font-size:21px;}
.scrub-track{height:8px;background:var(--line);border-radius:999px;margin:4px 2px 12px;position:relative;cursor:pointer;}
.scrub-thumb{position:absolute;top:0;left:0;height:8px;min-width:24px;background:var(--petrol);border-radius:999px;cursor:grab;}
.view-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:16px;font-family:'Fraunces',serif;font-weight:600;font-size:14.5px;color:var(--petrol-dark);cursor:pointer;text-align:left;transition:.15s;}
.view-card:hover{border-color:var(--petrol);}
.view-card.on-blue{background:#E7F1F8;border-color:#CFE3F0;color:#2E6C93;}
.view-card.on-green{background:#E9F5EC;border-color:#CFE9D6;color:var(--arrived);}
.view-card.on-purple{background:#F1EAF7;border-color:#DFCEEE;color:#7A4FA0;}
.view-card.on-orange{background:#FCEEE0;border-color:#F4D6B5;color:var(--online);}
.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;}
.week-day{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:12px 8px;text-align:center;cursor:pointer;}
.week-day:hover{border-color:var(--petrol);}
.week-day.today{border-color:var(--petrol);box-shadow:inset 0 0 0 1px var(--petrol);}
.wd-dow{font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;}
.wd-num{font-family:'Fraunces',serif;font-size:22px;font-weight:600;margin:2px 0 8px;}
.wd-stats{display:flex;flex-direction:column;gap:4px;align-items:center;}
.wd-dash{color:var(--ink-soft);font-size:13px;}
.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.month-dow{text-align:center;font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;padding-bottom:4px;}
.month-cell{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:8px;min-height:64px;cursor:pointer;}
.month-cell:hover{border-color:var(--petrol);}
.month-cell.today{border-color:var(--petrol);box-shadow:inset 0 0 0 1px var(--petrol);}
.month-cell.empty{background:transparent;border-color:transparent;cursor:default;}
.mc-num{font-family:'Fraunces',serif;font-weight:600;font-size:14px;}
.mc-stats{display:flex;flex-direction:column;gap:3px;margin-top:6px;}
.mc-stats .badge{font-size:10px;padding:2px 6px;}
@media(max-width:640px){
.week-grid{grid-template-columns:repeat(7,minmax(40px,1fr));gap:5px;}
.week-day{padding:8px 3px;}
.month-cell{min-height:44px;padding:5px;}
.mc-stats .badge{display:block;width:fit-content;}
}
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.datenav{display:flex;align-items:center;gap:8px;}
.datenav button{background:#fff;border:1.5px solid var(--line);border-radius:999px;width:32px;height:32px;font-size:15px;}
.datenav .cur{font-family:'Fraunces',serif;font-weight:600;font-size:16px;min-width:150px;text-align:center;}
.diario-scroll{overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff; width: 100%;}
.diario-grid{display:grid;position:relative; width: 100%; min-width: 800px;}
.diario-head,.diario-rowlabel,.diario-cell{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);}
.diario-head{position:sticky;top:0;background:var(--cream);font-family:'IBM Plex Mono',monospace;font-size:11.5px;text-align:center;padding:8px 2px;color:var(--ink-soft);z-index:2;}
.diario-corner{position:sticky;left:0;top:0;z-index:3;background:var(--cream);}
.diario-rowlabel{position:sticky;left:0;background:#fff;z-index:2;padding:8px 10px;font-size:13px;font-weight:700;color:var(--petrol-dark);display:flex;flex-direction:column;justify-content:center;}
.diario-rowlabel .cap{font-weight:500;color:var(--ink-soft);font-size:11px;}
.diario-cell{position:relative;min-height:46px;}
.diario-cell:hover{background:#FBF8EF;cursor:pointer;}
.diario-area{grid-column:1/-1;background:var(--petrol-soft);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:6px 10px;position:sticky;left:0;}
.booking-block{border-radius:6px;margin:3px 2px;padding:4px 7px;font-size:11.5px;color:#fff;overflow:hidden;line-height:1.25;box-shadow:0 2px 6px rgba(0,0,0,0.15);z-index:2;align-self:stretch;cursor:grab;touch-action:none;user-select:none;transition:opacity .15s;}
.booking-block b{display:block;font-size:12px;}
.b-online{background:var(--online);}
.b-phone{background:var(--phone);}
.b-arrived{background:var(--arrived);}
.b-pending{background:#FFC107;color:#212B38;font-weight:bold;}
.b-cancelled{background:var(--cancel);color:#5a5348;text-decoration:line-through;cursor:pointer;opacity:.85;}
.b-arrived.origin-staff{box-shadow:inset 4px 0 0 var(--phone), 0 2px 6px rgba(0,0,0,0.15);}
.b-arrived.origin-online{box-shadow:inset 4px 0 0 var(--online), 0 2px 6px rgba(0,0,0,0.15);}
.drop-ok{background:#E4F1E8 !important;outline:2px solid var(--arrived);outline-offset:-2px;}
.drop-bad{background:#F6E3DE !important;outline:2px solid var(--tomato);outline-offset:-2px;}
.legend{display:flex;gap:16px;flex-wrap:wrap;margin:10px 2px 0;font-size:12.5px;color:var(--ink-soft);}
.legend span{display:inline-flex;align-items:center;gap:6px;}
.dot{width:10px;height:10px;border-radius:3px;display:inline-block;}
table.data{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;}
table.data th{background:var(--cream);text-align:left;padding:10px 12px;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);border-bottom:1px solid var(--line);}
table.data td{padding:11px 12px;border-bottom:1px solid var(--line-soft);font-size:13.5px;vertical-align:top;}
.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;}
.badge-accettato{background:#E4F1E8;color:var(--arrived);}
.badge-arrivato{background:#E4F1E8;color:var(--arrived);}
.badge-annullato{background:#F1E8E4;color:var(--tomato);}
.badge-noshow{background:#3B322A;color:#fff;}
.badge-pending{background:#FFF3CD;color:#856404;}
.badge-online{background:#FCEBDA;color:var(--online);}
.badge-phone{background:#E3EEF6;color:var(--phone);}
.small-btn{font-size:12px;padding:5px 10px;border-radius:999px;border:1.5px solid var(--line);background:#fff;margin-right:4px;}
.small-btn:hover{border-color:var(--petrol);}
.settings-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:16px;}
.settings-block h3{margin:0 0 4px;font-size:16px;}
.settings-block .desc{color:var(--ink-soft);font-size:13px;margin-bottom:14px;max-width:60ch;}
.hours-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft);flex-wrap:wrap;}
.hours-row .dayname{width:96px;font-weight:700;font-size:13.5px;}
.hours-row input[type=time]{padding:6px 8px;border:1.5px solid var(--line);border-radius:6px;font-family:inherit;}
.toggle{position:relative;width:40px;height:22px;flex:0 0 auto;}
.toggle input{opacity:0;width:0;height:0;}
.toggle span{position:absolute;inset:0;background:var(--line);border-radius:999px;transition:.2s;cursor:pointer;}
.toggle span:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.toggle input:checked + span{background:var(--petrol);}
.toggle input:checked + span:before{transform:translateX(18px);}
.table-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;}
.table-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px;}
.table-card .tname{font-family:'Fraunces',serif;font-weight:600;font-size:17px;}
.table-card .tarea{font-size:11.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;}
.table-card .trow{display:flex;justify-content:space-between;font-size:13px;margin-top:8px;}
.table-card input{width:52px;padding:5px 6px;border:1.5px solid var(--line);border-radius:6px;font-family:inherit;}
.modal-back{position:fixed;inset:0;background:rgba(23,25,20,0.5);display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;}
.modal{background:#fff;border-radius:var(--radius);max-width:600px;width:95%;padding:16px;box-shadow:0 20px 60px rgba(0,0,0,.25);max-height:90vh;overflow:auto; transition: background 0.3s, border 0.3s;}
.modal h3{margin:0 0 10px; font-size:18px;}
.modal .close-x{float:right;background:none;border:none;font-size:20px;color:var(--ink-soft); margin-top:-4px;}
.modal .field-row { margin-bottom: 8px; gap: 8px; }
.modal .field label { font-size: 10px; margin-bottom: 2px; }
.modal .field input, .modal .field select, .modal .field textarea { padding: 8px 10px; font-size: 14px; }
.pin-gate{max-width:320px;margin:60px auto;text-align:center;}
.pin-gate input{text-align:center;letter-spacing:.3em;font-size:20px;font-family:'IBM Plex Mono',monospace;}
footer.pubfoot{text-align:center;color:var(--ink-soft);font-size:12.5px;padding:30px 0 10px;}
@media(max-width:720px){
.admin-shell{flex-direction:column;}
.admin-side{width:100%;padding:8px;}
.admin-side.collapsed{width:100%;height:0;padding:0;}
.admin-side-inner{width:auto;flex-direction:row;overflow-x:auto;height:auto;}
.admin-side button{white-space:nowrap;width:auto;}
.admin-side button[data-logout]{margin-top:0;margin-left:auto;}
.side-handle{width:100%;height:20px;}
.hero{flex-direction:column;text-align:center;}
.brand-logo{height:36px;}
}
body.embed-mode .topbar,body.embed-mode .hero,body.embed-mode footer.pubfoot{display:none !important;}
body.embed-mode .wrap{padding:8px;max-width:680px;}
body.embed-mode .booker{margin-top:0;}
.copy-row{display:flex;gap:8px;align-items:stretch;margin-top:6px;flex-wrap:wrap;}
.copy-row input,.copy-row textarea{flex:1 1 260px;font-family:'IBM Plex Mono',monospace;font-size:12.5px;background:var(--cream);border:1.5px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;color:var(--petrol-dark);}
.copy-btn{flex:0 0 auto;background:var(--petrol);color:#fff;border:none;border-radius:var(--radius-sm);padding:10px 16px;font-weight:700;font-size:13px;display:inline-flex;align-items:center;gap:6px;transition:.15s;}
.copy-btn:hover{background:var(--petrol-dark);}
.integration-subcard{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;margin-top:12px;}
.integration-subcard h4{margin:0 0 4px;font-family:'Fraunces',serif;font-size:15px;color:var(--petrol-dark);display:flex;align-items:center;gap:8px;}
.integration-subcard .subdesc{font-size:12.5px;color:var(--ink-soft);margin:0 0 10px;}
.diario-now-line{position:absolute;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#E52525 0%,#D64545 100%);box-shadow:0 0 10px rgba(229,37,37,0.55);z-index:15;pointer-events:none;transform:translateX(-50%);}
.diario-now-line::before{content:"";position:absolute;top:28px;left:50%;transform:translateX(-50%);width:9px;height:9px;border-radius:50%;background:#E52525;box-shadow:0 0 0 3px rgba(229,37,37,0.25);}
.diario-now-pill{position:absolute;top:2px;transform:translateX(-50%);background:#E52525;color:#fff;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;z-index:16;white-space:nowrap;pointer-events:none;box-shadow:0 2px 8px rgba(229,37,37,0.45);}
.diario-head.diario-head-now{background:#FDECEC;color:#C91D1D;font-weight:700;border-bottom:2px solid #E52525;}
body.admin-dark{
--petrol:#1877F2;--petrol-dark:#E6EDF5;--petrol-soft:#264A78;--wine:#212B38;--wine-dark:#161E29;--wine-soft:#293545;
--cream:#161E29;--paper:#212B38;--tomato:#FF8000;--gold:#FFC107;--ink:#E6EDF5;--ink-soft:#8B9BB0;--line:#384659;--line-soft:#2B3646;
--online:#FF8000;--phone:#1877F2;--arrived:#48C764;--cancel:#526071;--shadow:0 8px 24px rgba(0,0,0,0.40);
background:#161E29;color:#E6EDF5;
}
body.admin-dark .topbar{background:#212B38;border-bottom:1px solid #384659;}
body.admin-dark .topnav .top-link{color:#E6EDF5;border-color:#384659;}
body.admin-dark .topnav .top-link:hover{background:#293545;border-color:#4DA3FF;}
body.admin-dark .admin-side{background:linear-gradient(180deg,#212B38 0%,#19222D 100%);border-right:1px solid #384659;}
body.admin-dark .admin-side button{color:#8B9BB0;}
body.admin-dark .admin-side button:hover{background:rgba(255,255,255,0.05);color:#E6EDF5;}
body.admin-dark .admin-side button.active{background:#264A78;color:#4DA3FF;border-left-color:#1877F2;}
body.admin-dark .side-handle{background:#1C2532;color:#8B9BB0;border-right:1px solid #384659;}
body.admin-dark .card,body.admin-dark .stat-card,body.admin-dark .settings-block,body.admin-dark .table-card,
body.admin-dark .modal,body.admin-dark .week-day,body.admin-dark .month-cell:not(.empty),body.admin-dark table.data{background:#212B38;color:#E6EDF5;border-color:#384659;}
body.admin-dark .diario-panel{background:#212B38;border-color:#384659;}
body.admin-dark .stat-blue{background:rgba(24,119,242,0.15);border-color:rgba(24,119,242,0.4);}
body.admin-dark .stat-blue .num{color:#4DA3FF;}
body.admin-dark .stat-green{background:rgba(72,199,100,0.15);border-color:rgba(72,199,100,0.4);}
body.admin-dark .stat-green .num{color:#48C764;}
body.admin-dark .stat-purple{background:rgba(138,79,255,0.15);border-color:rgba(138,79,255,0.4);}
body.admin-dark .stat-purple .num{color:#B085FF;}
body.admin-dark .stat-orange{background:rgba(255,128,0,0.15);border-color:rgba(255,128,0,0.4);}
body.admin-dark .stat-orange .num{color:#FF9833;}
body.admin-dark .stat-gold{background:rgba(255,193,7,0.15);border-color:rgba(255,193,7,0.4);}
body.admin-dark .stat-gold .num{color:#FFC107;}
body.admin-dark .stat-tomato{background:rgba(229,37,37,0.15);border-color:rgba(229,37,37,0.4);}
body.admin-dark .stat-tomato .num{color:#FF6B6B;}
body.admin-dark .view-card{background:#2E3A4B;border-color:#3D4C60;color:#E6EDF5;}
body.admin-dark .view-card:hover{border-color:#4DA3FF;}
body.admin-dark .view-card.on-blue,body.admin-dark .view-card.on-green,body.admin-dark .view-card.on-purple,body.admin-dark .view-card.on-orange{background:#264A78;border-color:#3B6FB6;color:#3897FF;}
body.admin-dark .datenav button,body.admin-dark .small-btn{background:#293545;color:#E6EDF5;border-color:#384659;}
body.admin-dark .datenav button:hover,body.admin-dark .small-btn:hover{border-color:#4DA3FF;background:#324154;}
body.admin-dark .datenav .cur{background:#FF8000;color:#FFFFFF;padding:6px 16px;border-radius:999px;font-size:13.5px;font-family:'Manrope',sans-serif;font-weight:700;}
body.admin-dark .diario-scroll{background:#161E29;border-color:#384659;padding:4px;}
body.admin-dark .diario-corner{background:#161E29;border-color:transparent;}
body.admin-dark .diario-head{background:#212B38;color:#8B9BB0;border:1px solid #384659;border-radius:6px;margin:2px;font-size:13.5px;font-weight:500;padding:10px 4px;}
body.admin-dark .diario-head.diario-head-now{background:rgba(229,37,37,0.22);color:#FF8080;border-color:#E52525;}
body.admin-dark .diario-area{background:#1C2532;color:#8B9BB0;border-top:1px solid #384659;border-bottom:1px solid #384659;}
body.admin-dark .diario-rowlabel{background:#161E29;color:#E6EDF5;border-right:1px solid #2B3646;border-bottom:1px solid #2B3646;flex-direction:row;align-items:center;justify-content:space-between;gap:6px;padding:6px 10px;}
body.admin-dark .diario-rowlabel .t-pill{background:#384659;color:#E6EDF5;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:700;}
body.admin-dark .diario-rowlabel .cap{color:#fff;font-weight:800;padding:4px 9px;border-radius:6px;font-size:12px;min-width:28px;text-align:center;}
body.admin-dark .diario-rowlabel .cap-c0{background:#1877F2;}
body.admin-dark .diario-rowlabel .cap-c1{background:#8A4FFF;}
body.admin-dark .diario-rowlabel .cap-c2{background:#FF8000;}
body.admin-dark .diario-rowlabel .cap-c3{background:#FFC107;color:#161E29;}
body.admin-dark .diario-cell{background:#212B38;border:1px solid #384659;border-radius:6px;margin:2px;}
body.admin-dark .diario-cell::after{content:"+";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#8B9BB0;font-size:17px;font-weight:500;opacity:0.65;pointer-events:none;}
body.admin-dark .diario-cell:hover{background:#293545;border-color:#4DA3FF;}
body.admin-dark .field input,body.admin-dark .field textarea,body.admin-dark select,body.admin-dark .table-card input,
body.admin-dark .hours-row input[type=time],body.admin-dark .pin-gate input,body.admin-dark .copy-row input,
body.admin-dark .copy-row textarea,body.admin-dark .integration-subcard{background:#161E29;color:#E6EDF5;border-color:#384659;}
body.admin-dark table.data th{background:#19222D;color:#8B9BB0;border-bottom-color:#384659;}
body.admin-dark table.data td{border-bottom-color:#2B3646;}
body.admin-dark .b-cancelled{background:#3B4A5E;color:#B0BDD0;}
body.admin-dark .b-pending { background: #FFC107; color: #161E29; }
.tables-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.tables-summary{display:flex;gap:8px;flex-wrap:wrap;}
.tables-summary .pill{background:#293545;border:1px solid #384659;border-radius:999px;padding:4px 12px;font-size:12px;color:#8B9BB0;}
.tables-summary .pill b{color:#E6EDF5;}
.new-table-form{background:#212B38;border:1px solid #384659;border-radius:14px;padding:14px;margin-bottom:16px;display:grid;grid-template-columns:1.2fr 1fr .6fr .6fr auto auto;gap:10px;align-items:end;}
.new-table-form label{display:block;font-size:11px;color:#8B9BB0;text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:4px;}
.new-table-form input,.new-table-form select{width:100%;padding:9px 10px;border:1.5px solid #384659;border-radius:8px;background:#161E29;color:#E6EDF5;font-family:inherit;font-size:13.5px;}
.new-table-form .vis-field{display:flex;flex-direction:column;gap:4px;}
.new-table-form .vis-field label{text-transform:none;letter-spacing:0;color:#E6EDF5;font-weight:600;display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;}
.new-table-form .vis-field input[type=checkbox]{width:16px;height:16px;cursor:pointer;}
@media(max-width:900px){.new-table-form{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.new-table-form{grid-template-columns:1fr;}}
.table-manage{width:100%;border-collapse:collapse;background:#212B38;border-radius:14px;overflow:hidden;}
.table-manage th{background:#19222D;color:#8B9BB0;text-align:left;padding:10px 12px;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #384659;}
.table-manage td{padding:10px 12px;border-bottom:1px solid #2B3646;font-size:13.5px;color:#E6EDF5;vertical-align:middle;}
.table-manage tr:last-child td{border-bottom:none;}
.table-manage .t-name{font-weight:700;}
.table-manage .t-area{font-size:11.5px;color:#8B9BB0;text-transform:uppercase;letter-spacing:.05em;}
.table-manage input[type=number]{width:60px;padding:5px 6px;border:1.5px solid #384659;border-radius:6px;background:#161E29;color:#E6EDF5;font-family:inherit;}
.table-manage .vis-cell{text-align:center;}
.table-manage .vis-cell input{width:18px;height:18px;cursor:pointer;}
.table-manage .row-actions{text-align:right;white-space:nowrap;}
.table-manage .status-badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;}
.table-manage .status-normal{background:rgba(72,199,100,0.18);color:#48C764;}
.table-manage .status-staff{background:rgba(255,128,0,0.18);color:#FF9833;}
.table-manage .status-off{background:rgba(82,96,113,0.35);color:#B0BDD0;}
.table-manage .status-online-only{background:rgba(24,119,242,0.18);color:#4DA3FF;}
@keyframes pulseRed {
  0% { box-shadow: 0 0 0 0 rgba(255, 59, 48, 0.85); border-color: #FF3B30; }
  50% { box-shadow: 0 0 0 8px rgba(255, 59, 48, 0); border-color: #FF3B30; }
  100% { box-shadow: 0 0 0 0 rgba(255, 59, 48, 0); border-color: #FF3B30; }
}
.booking-block.needs-reminder {
  animation: pulseRed 1.5s infinite;
  border: 2.5px solid #FF3B30 !important;
  z-index: 5;
}