*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0f0f;--bg-side:#141414;--bg-card:#1a1a1a;--bg-input:#111;--border:#272727;--border2:#333;--txt:#f0f0f0;--txt2:#9a9a9a;--accent:#ff6a00;--accent2:#ff8c38;--green:#3ecf6e;--red:#f04040;--yellow:#f5c518;--blue:#4fa3f7;--cyan:#22d3ee;--purple:#a78bfa;--gold:gold;--shadow:0 4px 24px #00000073}body{background:var(--bg);color:var(--txt);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,sans-serif;font-size:14px;line-height:1.5}body.scroll-locked{overflow:hidden!important}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;font-family:inherit}input,select,textarea{cursor:text;outline:none;font-family:inherit}h1{font-size:26px;font-weight:700}h2{font-size:17px;font-weight:600}h3{text-transform:uppercase;letter-spacing:.5px;color:var(--txt2);font-size:13px;font-weight:600}.app{min-height:100vh;display:flex}.sidebar{background:var(--bg-side);border-right:1px solid var(--border);z-index:100;scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;width:240px;min-width:240px;padding:28px 20px;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.logo{letter-spacing:1px;background:linear-gradient(120deg, #fff 30%, var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:36px;font-size:22px;font-weight:800}.nav{flex-direction:column;gap:4px;display:flex}.navItem{color:var(--txt2);border-radius:10px;padding:11px 14px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:block}.navItem:hover{color:var(--txt);background:#ff6a0012}.navItem.active{background:var(--accent);color:#fff;box-shadow:0 4px 18px #ff6a0059}.content{flex:1;margin-left:240px;padding:24px 30px}.page{min-height:100vh}.page-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.header-actions{gap:12px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:20px 22px}.stat-card h3{margin-bottom:10px}.stat-value{color:var(--txt);font-size:26px;font-weight:700}.stat-value.income{color:var(--green)}.stat-value.expense{color:var(--red)}.stat-value.profit{color:var(--green);text-shadow:0 0 16px #3ecf6e40}.stat-value.highlight{color:var(--accent)}.section{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;margin-bottom:24px;padding:22px 24px}.section h2{margin-bottom:20px}.section-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.filters-bar{flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}.filter-group{flex-direction:column;gap:6px;display:flex}.filter-group label{color:var(--txt2);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.filter-group input,.filter-group select{background:var(--bg-input);border:1px solid var(--border);color:var(--txt);border-radius:10px;min-width:160px;padding:9px 14px;font-size:13px;transition:border-color .15s}.filter-group input:focus,.filter-group select:focus{border-color:var(--accent)}.period-toggle{background:var(--bg-input);border:1px solid var(--border);border-radius:10px;padding:3px;display:flex}.period-toggle button{color:var(--txt2);background:0 0;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.period-toggle button.active{background:var(--border2);color:var(--txt)}.table-container{overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{color:var(--txt2);border-bottom:1px solid var(--border);white-space:nowrap;padding:11px 14px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid #ffffff0a;padding:14px;font-size:13px}.data-table tbody tr:hover td{background:#ffffff05}.data-table tbody tr:last-child td{border-bottom:none}.date-cell{color:var(--txt2);font-size:12px}.phone-cell{color:var(--txt2)}.amount{font-weight:700}.amount.income{color:var(--green)}.amount.expense{color:var(--red)}.service-cell{font-weight:500}.method-cell{color:var(--txt2)}.category-cell{color:var(--accent);font-weight:600}.desc-cell{color:var(--txt2)}.client-name-cell{font-weight:600}.remaining-cell{color:var(--accent);font-weight:700}.cloud-indicator{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.cloud-indicator.synced{color:#10b981;background:#10b9811a;border:1px solid #10b98133}.cloud-indicator.syncing{color:#3b82f6;background:#3b82f61a;border:1px solid #3b82f633;animation:1.5s infinite cloud-pulse}.cloud-indicator.error{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}@keyframes cloud-pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.status-pill{text-transform:uppercase;letter-spacing:.4px;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.status-pill.confirmed{color:var(--green);background:#3ecf6e1f}.status-pill.pending{color:var(--yellow);background:#f5c5181f}.status-pill.active{color:var(--accent);background:#ff6a001f}.status-pill.completed{color:var(--txt2);background:#9a9a9a1f}.status-pill.cancelled{color:var(--red);background:#f040401f}.status-pill.planned{color:var(--green);background:#3ecf6e1f}.status-pill.expiring{color:var(--yellow);background:#f5c5181f}.status-pill.expired{color:var(--txt2);background:#9a9a9a1f}.status-pill.frozen{color:var(--cyan);background:#22d3ee1f}.sim-type-badge,.format-badge{text-transform:uppercase;border-radius:6px;padding:3px 9px;font-size:10px;font-weight:700;display:inline-block}.sim-type-badge.standard{color:var(--txt2);background:#ffffff14}.sim-type-badge.pro,.format-badge{color:var(--accent);background:#ff6a001f}.client-type-badge{border-radius:6px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.client-type-badge.new{color:var(--green);background:#3ecf6e1f}.client-type-badge.regular{color:var(--blue);background:#4fa3f71f}.client-type-badge.subscription{color:var(--cyan);background:#22d3ee1f}.client-type-badge.vip{color:var(--gold);background:#ffd7001f}.sub-badge{color:var(--txt2);font-size:12px}.sub-badge.active{color:var(--green);font-weight:600}.action-btn{border:none;border-radius:11px;padding:10px 22px;font-size:13px;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s}.action-btn:active{transform:scale(.97)}.action-btn.primary{background:var(--accent);color:#fff}.action-btn.primary:hover{background:var(--accent2);box-shadow:0 4px 16px #ff6a004d}.action-btn.secondary{background:var(--bg-input);border:1px solid var(--border);color:var(--txt)}.action-btn.secondary:hover{background:var(--border2)}.icon-btn{border:1px solid var(--border);background:var(--bg-input);width:32px;height:32px;color:var(--txt2);border-radius:8px;justify-content:center;align-items:center;font-size:14px;transition:border-color .15s,color .15s;display:inline-flex}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.icon-btn.danger{color:var(--red);background:#f0404014;border-color:#0000}.icon-btn.delete:hover{border-color:var(--red);color:var(--red)}.actions-cell{gap:6px;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3000;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal{text-align:center;z-index:3100;max-width:400px}.modal-content{background:var(--bg-card);border:1px solid var(--border2);border-radius:22px;width:100%;max-width:580px;max-height:90vh;padding:30px;overflow-y:auto;box-shadow:0 24px 60px #0009}.modal-header{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.close-btn{color:var(--txt2);background:0 0;border:none;font-size:18px}.close-btn:hover{color:var(--txt)}.modal-actions{justify-content:flex-end;gap:12px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px;display:grid}.form-group{flex-direction:column;gap:7px;display:flex}.form-group.full-width{grid-column:span 2}.form-group label{color:var(--txt2);font-size:12px;font-weight:600}.form-group input,.form-group select,.form-group textarea{background:var(--bg-input);border:1px solid var(--border);color:var(--txt);border-radius:11px;padding:11px 14px;font-size:13px;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}.dashboard-grid{grid-template-columns:1fr 300px;gap:24px;display:grid}@media (width<=1100px){.dashboard-grid{grid-template-columns:1fr}}.status-legend{gap:16px;display:flex}.legend-item{color:var(--txt2);align-items:center;gap:6px;font-size:12px;display:flex}.dot{border-radius:50%;width:10px;height:10px;display:inline-block}.dot.available{background:var(--green)}.dot.occupied{background:var(--accent)}.dot.reserved{background:var(--yellow)}.simulators-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.sim-card{background:var(--bg-input);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:12px;padding:14px 12px;transition:transform .15s}.sim-card:hover{transform:translateY(-2px)}.sim-card.available{border-left-color:var(--green)}.sim-card.occupied{border-left-color:var(--accent)}.sim-card.reserved{border-left-color:var(--yellow)}.sim-card.maintenance{border-left-color:var(--red);opacity:.7}.sim-info{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sim-name{font-size:13px;font-weight:700}.sim-badge{color:var(--txt2);background:#ffffff12;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700}.sim-badge.pro{color:var(--accent);background:#ff6a0026}.sim-status-text{color:var(--txt2);font-size:11px}.actions-grid{flex-direction:column;gap:10px;display:flex}.promo-card{text-align:center;padding:8px 0}.promo-value{color:var(--accent);font-size:48px;font-weight:800;line-height:1.1}.hall-status-badge{background:var(--bg-card);border:1px solid var(--border);color:var(--accent);border-radius:10px;padding:8px 16px;font-size:13px;font-weight:600}.sims-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.sim-card-header{justify-content:space-between;align-items:center;display:flex}.sim-number{font-size:18px;font-weight:800}.sim-type-label{text-transform:uppercase;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:700}.sim-type-label.standard{color:var(--txt2);background:#ffffff12}.sim-type-label.pro{color:var(--accent);background:#ff6a001f}.sim-card-body{flex-direction:column;flex:1;gap:10px;margin:14px 0;display:flex}.status-text{text-transform:uppercase;font-size:13px;font-weight:700}.status-text.available{color:var(--green)}.status-text.occupied{color:var(--accent)}.status-text.maintenance{color:var(--red)}.current-session,.next-booking{grid-template-columns:72px 1fr;gap:4px;display:grid}.session-label{color:var(--txt2);font-size:11px}.session-value{font-size:12px;font-weight:600}.session-value.highlight{color:var(--accent);font-size:15px}.sim-card-actions{gap:8px;display:flex}.sim-btn{border:none;border-radius:9px;flex:1;padding:9px;font-size:12px;font-weight:600;transition:filter .15s}.sim-btn:hover{filter:brightness(1.15)}.sim-btn.start{background:var(--green);color:#fff}.sim-btn.stop{background:var(--bg-input);color:var(--txt);border:1px solid var(--border)}.sim-btn.service{background:var(--bg-input);color:var(--txt2);border:1px solid var(--border);flex:0 0 40px}.sim-btn.service.active{color:var(--red);border-color:var(--red)}.tournament-name-cell{font-weight:700}.date-time{flex-direction:column;gap:2px;display:flex}.time-sub{color:var(--accent);font-size:11px;font-weight:600}.prize-cell{color:var(--gold);font-weight:700}.format-tag{color:var(--txt2);background:var(--bg-input);border:1px solid var(--border);border-radius:5px;padding:3px 8px;font-size:11px}.rank-cell{text-align:center;font-size:15px;font-weight:800}.rank-1{color:var(--gold)}.rank-2{color:silver}.rank-3{color:#cd7f32}.pilot-name{font-weight:600}.points-cell{color:var(--accent);font-weight:800}.finance-tables-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=1400px){.finance-tables-grid{grid-template-columns:1.2fr .8fr}}.calendar-actions{align-items:center;gap:14px;display:flex}.date-picker-input{background:var(--bg-card);border:1px solid var(--border);color:var(--txt);border-radius:9px;padding:8px 12px;font-size:13px}.calendar-stats{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;gap:24px;margin-bottom:20px;padding:14px 22px;display:flex}.c-stat{color:var(--txt2);font-size:13px}.c-stat span{color:var(--txt);margin-left:4px;font-weight:700}.c-stat span.highlight{color:var(--accent)}.calendar-container{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;height:calc(100vh - 120px);position:relative;overflow:hidden}.calendar-scroll-area{height:100%;padding-bottom:20px;overflow:auto}.calendar-grid{min-width:100%;position:relative}.time-column{border-right:1px solid var(--border);z-index:10;background:var(--bg-card);width:60px;position:absolute;top:0;bottom:0;left:0}.time-label{text-align:center;color:var(--txt2);font-size:10px;font-weight:600;position:absolute;left:0;right:0;transform:translateY(-50%)}.sim-column{border-right:1px solid var(--border);position:absolute;top:0;bottom:0}.column-header{background:var(--bg-card);border-bottom:1px solid var(--border);height:60px;color:var(--txt);z-index:5;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex;position:sticky;top:0;box-shadow:0 4px 10px #0003}.grid-slot{border-bottom:1px solid #ffffff08;position:absolute;left:0;right:0}.grid-slot:hover{cursor:cell;background:#ffffff06}.booking-card{z-index:2;-webkit-user-select:none;user-select:none;border:1px solid #ffffff0d;border-left-width:4px;border-radius:8px;flex-direction:column;font-size:11px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex;position:absolute;left:5px;overflow:hidden;box-shadow:0 4px 12px #0000004d}.booking-card:not(.pending-operation):hover{z-index:100;cursor:grab;border-color:#ffffff59;box-shadow:0 6px 18px #0000008c,inset 0 0 10px #ffffff14}.booking-card.completed:hover,.booking-card.cancelled:hover{cursor:pointer}.booking-card:hover .resize-handle{display:block}.resize-handle{cursor:ns-resize;z-index:10;background:#ffffff26;border-bottom:2px solid #ffffff80;height:8px;display:none;position:absolute;bottom:0;left:0;right:0}.booking-card.resizing{cursor:ns-resize!important;border-color:var(--accent)!important;transition:none!important;transform:none!important}@media (width<=768px){.resize-handle{display:none!important}}.booking-card.dragging{opacity:.5;cursor:grabbing}.booking-card.standard{border-left-color:var(--blue);color:#fff;background:#1e293bf2}.booking-card.pro{border-left-color:var(--accent);color:#fff;background:#431407f2}.booking-card.tournament{border-left-color:var(--purple);color:#fff;background:#2e1065f2}.booking-card.completed{opacity:.6;border-left-color:var(--green)}.booking-card.cancelled{opacity:.4;border-left-color:var(--red);text-decoration:line-through}.booking-card.pending{border-left-color:var(--yellow)}.booking-card.confirmed{border-left-color:var(--blue)}.booking-card.active{z-index:5;background:#141414f5;border-color:#ffffff26}.booking-card.active.standard{border-left-color:var(--blue);animation:3s infinite alternate active-glow-blue}.booking-card.active.pro{border-left-color:var(--accent);animation:3s infinite alternate active-glow-orange}.booking-card.active.tournament{border-left-color:var(--purple);animation:3s infinite alternate active-glow-purple}@keyframes active-glow-blue{0%{box-shadow:0 0 6px #4fa3f726,inset 0 0 8px #4fa3f708}to{box-shadow:0 0 16px #4fa3f766,inset 0 0 12px #4fa3f714}}@keyframes active-glow-orange{0%{box-shadow:0 0 6px #ff6a0026,inset 0 0 8px #ff6a0008}to{box-shadow:0 0 16px #ff6a0066,inset 0 0 12px #ff6a0014}}@keyframes active-glow-purple{0%{box-shadow:0 0 6px #a78bfa26,inset 0 0 8px #a78bfa08}to{box-shadow:0 0 16px #a78bfa66,inset 0 0 12px #a78bfa14}}.booking-card.active.ending-soon{border-left-color:var(--red)!important;animation:1s infinite alternate ending-soon-pulse!important}@keyframes ending-soon-pulse{0%{border-color:#f040404d;box-shadow:0 0 8px #f0404040,inset 0 0 6px #f0404008}to{border-color:#f04040a6;box-shadow:0 0 18px #f0404099,inset 0 0 10px #f040401a}}.booking-card.pending-operation{opacity:.6;pointer-events:none}.booking-card.pending-operation:after{content:"";background:var(--yellow);width:6px;height:6px;box-shadow:0 0 6px var(--yellow);border-radius:50%;animation:.8s infinite alternate pending-dot-pulse;position:absolute;top:6px;right:6px}@keyframes pending-dot-pulse{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.booking-card.h-sm{gap:1px;padding:4px 6px}.booking-card.h-sm .b-status-tag{display:none}.booking-card.h-sm .b-chips{gap:2px;max-height:18px;margin-top:1px;margin-bottom:0;overflow:hidden}.booking-card.h-sm .b-chips .b-chip.duration,.booking-card.h-sm .b-chips .b-chip.payment,.booking-card.h-sm .b-chips .b-chip.group{display:none!important}.booking-card.h-sm .b-chip span{display:none}.booking-card.h-sm .b-name{font-size:11px}.booking-card.h-md{gap:3px;padding:8px}.booking-card.h-md .b-status-tag{font-size:8px}.booking-card.h-lg{gap:4px;padding:10px}.b-card-header{justify-content:space-between;align-items:center;width:100%;display:flex}.b-chips{flex-wrap:wrap;gap:4px;margin-top:2px;margin-bottom:2px;display:flex}.b-chip{color:var(--txt2);white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;align-items:center;gap:2px;padding:1px 4px;font-size:9px;font-weight:600;display:inline-flex}.b-chip span{text-transform:uppercase;font-size:8px}.b-chip.duration{color:var(--blue);background:#4fa3f70f;border-color:#4fa3f726}.b-chip.membership{color:var(--cyan);background:#22d3ee0f;border-color:#22d3ee26}.b-chip.free{color:var(--green);background:#3ecf6e0f;border-color:#3ecf6e26}.b-chip.stars{color:var(--gold);background:#ffd7000f;border-color:#ffd70026}.b-chip.cash{color:var(--accent);background:#ff6a000f;border-color:#ff6a0026}.b-chip.group{color:var(--purple);background:#a78bfa0f;border-color:#a78bfa26}.b-chip.nfc{color:var(--cyan);background:#22d3ee14;border-color:#22d3ee33}.b-chip.comment{cursor:help;padding:1px 3px}.b-quick-actions{border:1px solid var(--border);z-index:120;background:#0f0f0ff2;border-radius:6px;gap:2px;padding:2px;display:none;position:absolute;top:4px;right:4px;box-shadow:0 4px 10px #00000080}.b-action-btn{width:18px;height:18px;color:var(--txt);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:10px;transition:all .15s;display:flex}.b-action-btn:hover{background:var(--accent);color:#000;border-color:var(--accent)}.b-action-btn.cancel:hover{background:var(--red);color:#fff;border-color:var(--red)}.b-action-btn.start:hover,.b-action-btn.finish:hover{background:var(--green);color:#000;border-color:var(--green)}.b-actions-disabled{color:var(--yellow);padding:1px 4px;font-size:9px;font-weight:600}.booking-card.resizing .b-quick-actions{display:none!important}@media (hover:hover){.booking-card:not(.pending-operation):hover .b-quick-actions{display:flex}}.b-drawer-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:140;background:#0006;animation:.25s ease-out fade-in;position:fixed;inset:0}.b-drawer{background:var(--bg-card);border-left:1px solid var(--border);z-index:150;width:400px;height:100vh;color:var(--txt);flex-direction:column;animation:.25s ease-out slide-in-right;display:flex;position:fixed;top:0;right:0;box-shadow:-10px 0 30px #00000080}.b-drawer-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.b-drawer-title-group{flex-direction:column;gap:6px;display:flex}.b-drawer-title-group h3{margin:0;font-size:16px;font-weight:700}.b-drawer-close{color:var(--txt2);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:18px;transition:all .15s}.b-drawer-close:hover{color:var(--txt);background:#ffffff0d}.b-drawer-body{flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.b-drawer-section{flex-direction:column;gap:8px;display:flex}.b-section-title{text-transform:uppercase;color:var(--txt2);letter-spacing:.5px;margin:0;font-size:12px;font-weight:700}.b-profile-card{border:1px solid var(--border);background:#ffffff05;border-radius:8px;flex-direction:column;gap:8px;padding:14px;display:flex}.b-profile-name{color:var(--accent);font-size:16px;font-weight:700}.b-profile-detail{justify-content:space-between;font-size:13px;display:flex}.b-profile-detail .label{color:var(--txt2)}.b-profile-detail .value.link{color:var(--blue);text-decoration:none}.b-profile-detail .value.link:hover{text-decoration:underline}.b-profile-detail .value.text-gold{font-weight:600}.b-details-list{border:1px solid var(--border);background:#ffffff05;border-radius:8px;flex-direction:column;gap:10px;padding:14px;display:flex}.b-detail-row{justify-content:space-between;font-size:13px;display:flex}.b-detail-row .label{color:var(--txt2)}.b-detail-row .value{font-weight:600}.b-detail-row .value.highlight{color:var(--accent)}.b-detail-row .value.uppercase{text-transform:uppercase}.b-detail-row .value.price-tag{color:var(--green);font-size:14px}.active-timer-row{border-top:1px dashed var(--border);margin-top:2px;padding-top:8px}.b-comment-box{background:#ff6a000a;border:1px dashed #ff6a0033;border-radius:8px;flex-direction:column;gap:4px;margin-top:6px;padding:12px;display:flex}.b-comment-title{color:var(--accent);text-transform:uppercase;font-size:11px;font-weight:700}.b-comment-text{color:var(--txt);white-space:pre-wrap;font-size:13px;line-height:1.4}.b-drawer-metadata{color:var(--txt2);text-align:right;opacity:.6;margin-top:auto;font-size:11px}.b-drawer-footer{border-top:1px solid var(--border);background:#00000026;padding:18px 24px}.b-drawer-syncing{color:var(--yellow);justify-content:center;align-items:center;gap:8px;padding:8px;font-size:13px;font-weight:600;display:flex}.b-action-grid{flex-direction:column;gap:10px;display:flex}.b-action-grid .btn{justify-content:center;width:100%;padding:10px;font-size:13px;font-weight:600}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-in-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width<=768px){.b-drawer{border-left:none;border-top:1px solid var(--border);border-top-left-radius:16px;border-top-right-radius:16px;width:100%;height:70vh;animation:.25s ease-out slide-in-up;inset:auto 0 0;box-shadow:0 -10px 30px #0009}.b-drawer-body{gap:16px;padding:16px}}.realtime-badge{border:1px solid var(--border);color:var(--txt);background:#ffffff08;border-radius:20px;align-self:center;align-items:center;gap:8px;height:fit-content;padding:4px 12px;font-size:11px;font-weight:600;display:inline-flex}.realtime-badge .badge-dot{border-radius:50%;width:8px;height:8px;transition:background-color .25s,box-shadow .25s}.realtime-badge.connected .badge-dot{background:var(--green);box-shadow:0 0 6px var(--green)}.realtime-badge.syncing .badge-dot{background:var(--yellow);box-shadow:0 0 6px var(--yellow);animation:.8s infinite alternate badge-dot-pulse}.realtime-badge.disconnected .badge-dot{background:var(--red);box-shadow:0 0 6px var(--red);animation:.8s infinite alternate badge-dot-pulse}@keyframes badge-dot-pulse{0%{opacity:.4}to{opacity:1}}.realtime-badge-container{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.realtime-sync-time{color:var(--txt2);opacity:.7;font-size:9px}.calendar-connection-warning{z-index:2500;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffb84d;background:#181008f5;border:1px solid #ffa50073;border-radius:8px;align-items:center;gap:10px;width:auto;max-width:90vw;padding:12px 20px;font-size:13px;font-weight:600;animation:.25s ease-out slide-up-warning;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0000008c}@keyframes slide-up-warning{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.form-warning-banner{color:var(--red);background:#ff45001a;border:1px solid #ff45004d;border-radius:6px;align-items:center;gap:6px;width:100%;margin-bottom:12px;padding:8px 12px;font-size:12px;font-weight:700;display:flex}.b-drawer-warning{color:var(--red);background:#ff45001a;border-bottom:1px solid #ff450033;align-items:center;gap:6px;padding:10px 16px;font-size:12px;font-weight:700;display:flex}.booking-card.realtime-flash{animation:1.5s ease-out realtime-card-flash}@keyframes realtime-card-flash{0%{box-shadow:0 0 0 3px var(--accent), 0 0 15px var(--accent);z-index:10;transform:scale(1.02)}50%{box-shadow:0 0 0 3px var(--accent), 0 0 10px var(--accent);transform:scale(1.01)}to{box-shadow:none;transform:scale(1)}}.shift-attention-block{border:1px solid var(--border);background:#14141466;border-radius:8px;width:100%;margin-bottom:20px;padding:16px}.shift-attention-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:12px;padding-bottom:8px;display:flex}.shift-attention-header h2{color:var(--txt);margin:0;font-size:16px;font-weight:700}.shift-attention-header .text-warning{color:var(--yellow)}.shift-attention-list{flex-direction:column;gap:8px;display:flex}.shift-attention-item{background:#ffffff05;border:1px solid #ffffff0d;border-radius:6px;align-items:center;gap:12px;padding:8px 12px;font-size:13px;line-height:1.4;display:flex}.shift-attention-item.danger{border-left:4px solid var(--red);background:#f040400d}.shift-attention-item.warning{border-left:4px solid var(--yellow);background:#e6b41e0d}.shift-attention-item.info{border-left:4px solid var(--accent);background:#1e90ff0d}.attention-category{text-transform:uppercase;letter-spacing:.5px;background:#0000004d;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.shift-attention-item.danger .attention-category{color:var(--red)}.shift-attention-item.warning .attention-category{color:var(--yellow)}.shift-attention-item.info .attention-category{color:var(--accent)}.attention-text{color:var(--txt)}.b-chip.warn-balance{background:#ff450026;border:1px solid #ff450066;color:#ffb84d!important}.b-chip.warn-expiry{background:#ffa50026;border:1px solid #ffa50066;color:#ffb84d!important}.b-time-badge{background:#0000004d;border-radius:4px;width:fit-content;margin-bottom:2px;padding:1px 6px;font-size:9px;font-weight:700}.b-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800;line-height:1.2;overflow:hidden}.b-meta{opacity:.8;align-items:center;gap:4px;font-size:10px;line-height:1.2;display:flex}.b-meta .dot{background:currentColor;border-radius:50%;width:3px;height:3px}.b-status-tag{text-transform:uppercase;opacity:.9;margin-top:auto;font-size:9px;font-weight:800}.grid-slot.drag-over{border:2px dashed var(--accent);background:#ffffff14}.time-indicator{z-index:20;pointer-events:none;position:absolute;left:0;right:0}.indicator-line{background:var(--red);height:2px;box-shadow:0 0 10px #f0404099}.indicator-dot{background:var(--red);border-radius:50%;width:10px;height:10px;position:absolute;top:-5px;left:54px}.indicator-label{background:var(--red);color:#fff;text-align:center;border-radius:6px;min-width:46px;padding:2px 6px;font-size:11px;font-weight:800;line-height:16px;position:absolute;top:-11px;left:4px;box-shadow:0 0 10px #f0404073}.quick-info{background:var(--bg-input);color:var(--accent);text-align:center;border-radius:9px;margin-bottom:22px;padding:11px;font-weight:600}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:24px;display:grid}.admin-list{flex-direction:column;gap:10px;display:flex}.admin-item{background:var(--bg-input);border:1px solid var(--border);border-radius:11px;justify-content:space-between;align-items:center;padding:11px 14px;display:flex}.admin-name{font-size:13px;font-weight:600}.admin-role{color:var(--txt2);font-size:11px}.add-admin-btn{border:1px dashed var(--border);color:var(--txt2);background:0 0;border-radius:11px;margin-top:6px;padding:11px;font-size:13px;font-weight:500;transition:border-color .15s,color .15s}.add-admin-btn:hover{border-color:var(--accent);color:var(--accent)}.notifications-list{flex-direction:column;gap:14px;display:flex}.notify-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.notify-item:last-child{border-bottom:none}.notify-item label{color:var(--txt2);cursor:pointer;font-size:13px}.notify-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.success-toast{background:var(--green);color:#fff;z-index:2000;border-radius:12px;padding:12px 22px;font-size:13px;font-weight:600;animation:.3s toast-in;position:fixed;top:32px;right:36px;box-shadow:0 8px 24px #00000059}@keyframes toast-in{0%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}.analytics-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=1200px){.analytics-grid{grid-template-columns:1fr}}.chart-container{align-items:flex-end;gap:10px;height:200px;margin-top:10px;padding-top:20px;display:flex;position:relative}.bar-wrapper{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;height:100%;display:flex}.bar{background:var(--border2);border-radius:6px 6px 2px 2px;width:100%;transition:height .6s,background .3s;position:relative}.bar:hover,.bar.highlight{background:var(--accent)}.bar.weekend{background:#ff6a0033}.bar-value{color:var(--txt2);font-size:10px;font-weight:700;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.bar-label{color:var(--txt2);font-size:11px;font-weight:600}.horizontal-chart{flex-direction:column;gap:12px;margin-top:10px;display:flex}.h-bar-row{grid-template-columns:100px 1fr 40px;align-items:center;gap:12px;display:grid}.h-bar-bg{background:var(--bg-input);border-radius:4px;height:8px;overflow:hidden}.h-bar-fill{border-radius:4px;height:100%;transition:width .8s}.h-label{color:var(--txt2);font-size:12px}.h-value{text-align:right;font-size:12px;font-weight:700}.sources-list{flex-direction:column;gap:12px;margin-top:10px;display:flex}.source-item{align-items:center;gap:12px;display:flex}.source-dot{border-radius:50%;width:10px;height:10px}.source-label{color:var(--txt2);flex:1;font-size:13px}.source-value{font-weight:700}.recommendations-list{flex-direction:column;gap:14px;display:flex}.rec-card{background:var(--bg-input);border-left:4px solid var(--accent);border-radius:12px;gap:14px;padding:16px;transition:transform .2s;display:flex}.rec-card:hover{transform:translate(4px)}.rec-icon{font-size:20px}.rec-text{color:var(--txt);font-size:13px;line-height:1.5}.table-section{margin-bottom:0}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));align-items:start;gap:24px;display:grid}.danger-zone{border:1px solid #f0404033}.danger-zone h2{color:var(--red)}.demo-reset-container{padding:8px 0}.demo-reset-container .description{color:var(--txt2);margin-bottom:16px;font-size:14px;line-height:1.5}.action-btn.danger:hover{background:#ff5252;box-shadow:0 0 15px #f0404066}.notifications-container{z-index:10000;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;top:24px;right:24px}.notification{pointer-events:auto;background:var(--bg-card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:12px;min-width:300px;padding:16px 20px;animation:.3s cubic-bezier(.18,.89,.32,1.28) slideInRight;display:flex;box-shadow:0 10px 30px #0006}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.notification.success{border-left:4px solid var(--green)}.notification.error{border-left:4px solid var(--red)}.n-icon{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex}.success .n-icon{color:var(--green);background:#10b98133}.error .n-icon{color:var(--red);background:#ef444433}.n-message{color:var(--txt);font-size:14px;font-weight:500}.update-toast{z-index:10050;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1a1a1af5;border:1px solid #ff6a0052;border-radius:12px;align-items:center;gap:14px;max-width:min(430px,100vw - 32px);padding:14px 16px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 42px #0000006b}.update-toast div{flex-direction:column;gap:2px;min-width:0;display:flex}.update-toast strong{color:var(--txt);font-size:14px;line-height:1.2}.update-toast span{color:var(--txt2);font-size:12px}.update-primary-btn{background:var(--accent);color:#fff;white-space:nowrap;border-radius:8px;flex-shrink:0;min-height:36px;padding:0 14px;font-size:13px;font-weight:700;transition:background .15s,transform .15s}.update-primary-btn:hover{background:var(--accent2);transform:translateY(-1px)}.update-blocker{z-index:20000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d1;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.update-blocker-card{background:var(--bg-card);text-align:center;border:1px solid #ff6a0059;border-radius:18px;width:min(440px,100%);padding:28px;box-shadow:0 24px 70px #0000009e}.update-blocker-card h2{color:var(--txt);margin-bottom:12px;font-size:22px}.update-blocker-card p{color:var(--txt2);margin-bottom:20px}.update-kicker{letter-spacing:.5px;text-transform:uppercase;font-size:12px;font-weight:800;color:var(--accent)!important;margin-bottom:8px!important}@media (width<=520px){.update-toast{flex-direction:column;align-items:stretch;max-width:none;bottom:12px;left:12px;right:12px}.update-primary-btn{width:100%}.update-blocker-card{padding:24px 18px}}.current-shift-card{background:linear-gradient(135deg, var(--bg-card) 0%, #2563eb1a 100%);border:1px solid #2563eb33;margin-bottom:24px;padding:24px}.shift-card-header{align-items:center;gap:16px;margin-bottom:20px;display:flex}.shift-badge{text-transform:uppercase;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:700}.shift-badge.open{color:var(--green);background:#10b9811a;border:1px solid #10b98133}.shift-info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-bottom:24px;display:grid}.shift-info-grid .info-item label{color:var(--txt2);margin-bottom:4px;font-size:12px;display:block}.shift-info-grid .info-item span{color:var(--txt);font-size:16px;font-weight:600}.cash-col{flex-direction:column;gap:2px;display:flex}.cash-col .expected{color:var(--txt2);font-size:11px;text-decoration:line-through}.cash-col .actual,.diff-value{font-weight:700}.diff-value.negative{color:var(--red)}.diff-value.positive{color:var(--green)}.action-btn.danger{background:var(--red);color:#fff}.action-btn.danger:hover{background:#ff5252}.report-document{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:40px}.report-header{border-bottom:2px solid var(--border);margin-bottom:32px;padding-bottom:16px}.report-header h2{margin-bottom:8px;font-size:24px}.report-meta{color:var(--txt2);font-size:14px}.report-content h3{color:var(--blue);margin:32px 0 16px;font-size:18px}@media print{.sidebar,.filters-bar,.no-print,.header-actions{display:none!important}.content{margin-left:0!important;padding:0!important}body{color:#000!important;background:#fff!important}.page{padding:0!important}.report-document{background:0 0!important;border:none!important;padding:0!important}.stat-card{color:#000!important;background:0 0!important;border:1px solid #eee!important}.stat-card h3,.stat-card .stat-value,.data-table{color:#000!important}.data-table th{color:#000!important;background:#f5f5f5!important;border-bottom:1px solid #ddd!important}.data-table td{border-bottom:1px solid #eee!important}.report-header{border-bottom:2px solid #000!important}.report-header h2,.report-content h3{color:#000!important}}.orange-accent{background-color:#f97316!important}.orange-accent:hover{background-color:#ea580c!important}.stat-value.orange{color:#f97316}.promo-code-cell{letter-spacing:1px;color:#f97316;font-family:Courier New,Courier,monospace;font-weight:700}.days-selector{flex-wrap:wrap;gap:8px;display:flex}.day-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--txt2);cursor:pointer;border-radius:6px;padding:6px 12px;transition:all .2s}.day-btn.active{color:#fff;background:#f97316;border-color:#f97316}.day-btn:hover:not(.active){color:#f97316;border-color:#f97316}.login-page{background:radial-gradient(circle,#1a1a2e 0%,#0a0a12 100%);justify-content:center;align-items:center;height:100vh;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:400px;padding:40px;box-shadow:0 20px 40px #0006}.login-header{text-align:center;margin-bottom:32px}.login-logo{color:#f97316;letter-spacing:-1px;margin-bottom:8px;font-size:32px;font-weight:800}.login-header p{color:var(--txt2);font-size:14px}.login-form .form-group{margin-bottom:20px}.login-error{color:var(--red);text-align:center;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;margin-bottom:20px;padding:12px;font-size:14px}.login-submit-btn[disabled]{opacity:.75;cursor:wait}.auth-state-page{min-height:100vh;color:var(--txt);background:#0a0a0a;justify-content:center;align-items:center;padding:20px;display:flex}.auth-state-card{border:1px solid var(--border);background:var(--bg-card);text-align:center;width:min(420px,100%);box-shadow:var(--shadow);border-radius:12px;padding:28px}.auth-state-card h2{color:var(--txt);margin-bottom:8px}.auth-state-card p{color:var(--txt2)}.login-btn{width:100%;margin-top:10px;padding:14px;font-size:16px;font-weight:600}.demo-info{border-top:1px solid var(--border);text-align:center;margin-top:32px;padding-top:24px}.demo-info p{color:var(--txt2);margin-bottom:8px;font-size:12px}.demo-info code{color:var(--txt);background:#ffffff0d;border-radius:4px;margin-bottom:4px;padding:4px;font-size:12px;display:block}.sidebar{flex-direction:column;display:flex}.nav{flex:1}.sidebar-footer{border-top:1px solid var(--border);padding:20px;padding-bottom:max(20px, env(safe-area-inset-bottom));flex-shrink:0;margin-top:auto}.user-profile{align-items:center;gap:12px;margin-bottom:16px;display:flex}.user-avatar{color:#fff;background:#f97316;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.user-name{color:var(--txt);font-size:14px;font-weight:600}.user-role{color:var(--txt2);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.logout-btn{border:1px solid var(--border);width:100%;color:var(--txt2);cursor:pointer;background:#ffffff0d;border-radius:6px;padding:8px;font-size:13px;transition:all .2s}.logout-btn:hover{color:var(--red);background:#ef44441a;border-color:#ef444433}.public-booking-page{color:#f3f4f6;background:radial-gradient(circle,#1b1b3a 0%,#080811 100%);justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;font-family:Outfit,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.booking-card-public{-webkit-backdrop-filter:blur(16px);background:#1e1e3273;border:1px solid #ffffff14;border-radius:24px;width:100%;max-width:620px;padding:40px;transition:transform .3s,box-shadow .3s;box-shadow:0 40px 80px #0009}.booking-card-public:hover{border-color:#f9731626;box-shadow:0 50px 100px #000000b3}.booking-header{text-align:center;margin-bottom:36px}.club-logo{color:#f97316;letter-spacing:-.5px;text-shadow:0 0 20px #f973164d;text-transform:uppercase;margin-bottom:6px;font-size:32px;font-weight:900}.booking-header p{color:#9ca3af;font-size:15px;font-weight:500}.form-section{border-bottom:1px solid #ffffff0f;margin-bottom:32px;padding-bottom:24px}.form-section h3{color:#f97316;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:20px;font-size:14px;font-weight:700}.availability-status-advisory{border-radius:12px;align-items:center;gap:12px;margin-top:20px;padding:14px 20px;font-size:14px;font-weight:600;line-height:1.4;animation:.3s fadeIn;display:flex}.availability-status-advisory.available{color:#34d399;background:#10b98114;border:1px solid #10b98133}.availability-status-advisory.warning{color:#fbbf24;background:#f59e0b14;border:1px solid #f59e0b40}.availability-status-advisory.conflict{color:#f87171;background:#ef444414;border:1px solid #ef444433}.availability-status-advisory .icon{font-size:18px}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;width:100%;margin-top:12px;display:grid}.time-slot-pill{color:#e5e7eb;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:48px;padding:10px 6px;font-size:14px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.time-slot-pill:hover:not(:disabled){background:#ffffff14;border-color:#f9731666;transform:translateY(-2px);box-shadow:0 4px 12px #f973161a}.time-slot-pill.selected{color:#fff;background:linear-gradient(135deg,#f97316 0%,#ea580c 100%);border-color:#f97316;transform:translateY(-2px)scale(1.03);box-shadow:0 8px 20px #f9731666}.time-slot-pill.available{border-left:3px solid #10b981}.time-slot-pill.warning{border-left:3px solid #f59e0b}.time-slot-pill.conflict{color:#6b7280;cursor:not-allowed;opacity:.4;background:#ffffff03;border:1px dashed #ffffff0a;text-decoration:line-through}.slot-badge{margin-top:1px;font-size:10px}.availability-loading{color:#9ca3af;align-items:center;gap:8px;padding:16px 0;font-size:14px;font-weight:500;display:flex}.public-booking-page .input-field{color:#f3f4f6;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:12px;width:100%;padding:14px 16px;font-family:inherit;font-size:15px;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000001a}.public-booking-page .input-field:focus{background:#ffffff12;border-color:#f97316;outline:none;box-shadow:0 0 0 4px #f9731626,inset 0 2px 4px #0000000d}.public-booking-page .input-field.error{background:#ef44440d;border-color:#f87171}.public-booking-page .input-field.error:focus{box-shadow:0 0 0 4px #ef444426}.public-booking-page .error-text{color:#f87171;margin-top:6px;font-size:12px;font-weight:500;display:block}.promo-input-group{gap:12px;margin-top:8px;display:flex}.applied-promo-tag{color:#34d399;align-items:center;gap:6px;margin-top:10px;font-size:13px;font-weight:600;display:flex}.booking-footer{flex-direction:column;align-items:center;gap:24px;margin-top:16px;display:flex}.price-display{flex-direction:column;align-items:center;gap:4px;display:flex}.price-display .label{color:#9ca3af;text-transform:uppercase;letter-spacing:1px;font-size:13px;font-weight:600}.price-display .value{color:#fff;text-shadow:0 0 30px #ffffff26;font-size:38px;font-weight:900}.submit-booking-btn{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:#f97316;border:none;border-radius:14px;width:100%;padding:18px 24px;font-size:17px;font-weight:800;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 10px 20px #f9731640}.submit-booking-btn:hover:not(:disabled){background:#ea580c;transform:translateY(-2px);box-shadow:0 14px 28px #f9731659}.submit-booking-btn:active:not(:disabled){transform:translateY(0)}.submit-booking-btn:disabled{color:#ffffff4d;cursor:not-allowed;box-shadow:none;background:#ffffff14}.success-screen{text-align:center;padding:50px 30px}.success-icon{color:#34d399;background:#10b9811a;border:2px solid #34d399;border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;margin:0 auto 28px;font-size:44px;display:flex;box-shadow:0 0 30px #34d39940}.success-screen h1{color:#fff;margin-bottom:12px;font-size:28px;font-weight:800}.success-message-text{color:#d1d5db;margin-bottom:32px;font-size:15px;line-height:1.6}.booking-details-summary{text-align:left;background:#ffffff05;border:1px solid #ffffff0f;border-radius:16px;margin-bottom:32px;padding:24px}.detail-item{color:#9ca3af;border-bottom:1px dashed #ffffff0f;justify-content:space-between;padding:10px 0;font-size:14px;display:flex}.detail-item:last-child{border-bottom:none}.detail-item span{font-weight:500}.detail-item strong{color:#fff}.detail-item.price-item{border-top:1px solid #ffffff1a;margin-top:4px;padding-top:14px}.detail-item.price-item span{color:#f97316;font-weight:700}.detail-item.price-item strong{color:#34d399;font-size:16px}.action-btn-reload{color:#fff;cursor:pointer;text-transform:uppercase;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;width:100%;padding:16px;font-size:15px;font-weight:700;transition:all .2s}.action-btn-reload:hover{background:#ffffff1a;border-color:#fff3}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=480px){.public-booking-page{background:#080811;align-items:flex-start;padding:0}.booking-card-public{box-shadow:none;background:0 0;border:none;border-radius:0;padding:32px 20px}.booking-header{margin-bottom:28px}.club-logo{font-size:26px}}.data-source-info{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.source-item{border:1px solid var(--border);background:#ffffff05;border-radius:12px;padding:20px;position:relative}.source-item.active{border-color:var(--green);background:#10b9810d}.source-item.pending{border-color:var(--blue);opacity:.8}.source-status{text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;top:12px;right:12px}.active .source-status{background:var(--green);color:#fff}.pending .source-status{background:var(--blue);color:#fff}.source-name{margin-bottom:8px;font-size:16px;font-weight:700}.source-item .description{color:var(--txt2);margin-bottom:16px;font-size:13px}@media (width<=1200px){.sidebar{width:200px;min-width:200px}.content{margin-left:200px}}.mobile-header{background:var(--bg-side);border-bottom:1px solid var(--border);z-index:10000;justify-content:space-between;align-items:center;height:60px;padding:0 20px;display:none;position:fixed;top:0;left:0;right:0}.mobile-header .logo{text-overflow:ellipsis;white-space:nowrap;max-width:44vw;margin-bottom:0;overflow:hidden}.menu-toggle{color:var(--txt);background:0 0;border:none;font-size:24px}.desktop-only{display:block}@media (width<=768px){.app{flex-direction:column}.mobile-header{display:flex}.sidebar{z-index:1001;border-right:1px solid var(--border);transition:left .3s;position:fixed;top:60px;bottom:0;left:-240px}.sidebar.open{left:0}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;position:fixed;inset:60px 0 0}.content{margin-left:0;padding:80px 16px 24px}.desktop-only{display:none}.stats-grid{grid-template-columns:1fr;gap:12px}.form-grid,.settings-grid{grid-template-columns:1fr}.full-width{grid-column:span 1}.table-container{-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px;overflow-x:auto}.data-table{min-width:600px}.modal-content{width:95%;max-height:90vh;margin:20px auto;padding:20px;overflow-y:auto}.modal-header h2{font-size:18px}.page-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}.page-header h1{font-size:22px}.filters-bar{flex-direction:column;align-items:stretch;gap:16px}.filter-group{width:100%}.action-btn{justify-content:center;width:100%;padding:12px}}@media (width<=390px){.stat-card{padding:16px}.stat-value{font-size:24px}.logo{font-size:18px}}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}@media (width<=768px){.calendar-container{height:auto;overflow:visible}.calendar-scroll-area{overflow-x:auto}.calendar-grid{min-width:800px}}@media (width<=600px){.form-grid{grid-template-columns:1fr!important}.modal-content{width:calc(100% - 20px);margin:10px}}.table-container:after{content:"→";color:#fff;pointer-events:none;background:#00000080;border-radius:4px;padding:4px 8px;font-size:12px;display:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}@media (width<=768px){.table-container:after{display:block}}.calendar-mobile-list h2{margin-bottom:20px;font-size:18px}.mobile-booking-list{flex-direction:column;gap:12px;display:flex}.m-booking-card{background:var(--bg-card);border:1px solid var(--border);border-left:4px solid #0000;border-radius:12px;align-items:center;gap:16px;padding:16px;transition:all .2s;display:flex}.m-time{color:var(--accent);min-width:50px;font-size:16px;font-weight:700}.m-info{flex:1;min-width:0}.m-client{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:600;overflow:hidden}.m-meta{color:var(--txt2);font-size:12px}.m-status .status-pill{border-radius:20px;width:auto;height:auto;display:inline-block}.m-booking-card.confirmed{border-left-color:var(--blue)}.m-booking-card.pending{border-left-color:var(--yellow)}.m-booking-card.active{border-left-color:var(--accent)}.m-booking-card.completed{border-left-color:var(--green);opacity:.7}.m-booking-card.cancelled{border-left-color:var(--red);opacity:.5;text-decoration:line-through}.m-booking-card.active.ending-soon{animation:1s infinite alternate ending-soon-pulse;border-left-color:var(--red)!important}.m-chips-inline{vertical-align:middle;align-items:center;gap:6px;margin-left:8px;display:inline-flex}.m-indicator{opacity:.9;font-size:11px}.m-timer{background:#00000040;border-radius:6px;align-items:center;gap:2px;padding:2px 6px;font-size:11px;display:inline-flex}.sidebar-status{background:#ffffff08;border-radius:8px;justify-content:space-between;align-items:center;margin-top:auto;margin-bottom:16px;padding:10px 12px;display:flex}.data-mode-badge{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.data-mode-badge.supabase{color:var(--blue);background:#4fa3f733}.data-mode-badge.local{color:var(--txt2);background:#9a9a9a1a}.sync-indicator{font-size:14px}.sync-indicator.online{color:var(--green)}.sync-indicator.syncing{color:var(--blue);animation:1.5s infinite pulse}.sync-indicator.offline{color:var(--red)}.realtime-recovery-card{width:100%;color:var(--txt2);box-sizing:border-box;background:#ffffff08;border:1px solid #ffffff0f;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:.72rem;display:flex}.realtime-recovery-card.ok{color:#9ca3af}.realtime-recovery-card.warn{color:#fbbf24;background:#f59e0b14;border-color:#f59e0b38}.realtime-recovery-card.danger{color:#fca5a5;background:#ef444414;border-color:#ef444438}.realtime-recovery-main{align-items:center;gap:6px;min-width:0;display:inline-flex}.realtime-recovery-main span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.realtime-recovery-dot{font-size:.7rem;line-height:1}.realtime-refresh-btn{color:var(--txt);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:5px;flex-shrink:0;padding:3px 7px;font-size:.68rem}.realtime-refresh-btn:hover{background:#ffffff1a}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.db-status-container{flex-direction:column;gap:12px;display:flex}.status-row{justify-content:space-between;align-items:center;display:flex}.status-row .label{color:var(--txt2);font-size:14px}.status-row .value{font-size:14px;font-weight:600}.value-badge{border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700}.value-badge.supabase{background:var(--blue);color:#fff}.value-badge.local{background:var(--bg-input);border:1px solid var(--border)}.value-badge.online{color:var(--green);border:1px solid var(--green);background:#3ecf6e1a}.value-badge.syncing{color:var(--blue);border:1px solid var(--blue);background:#4fa3f71a}.value-badge.offline{color:var(--red);border:1px solid var(--red);background:#f040401a}.loading-state{height:60vh;color:var(--txt2);justify-content:center;align-items:center;gap:12px;font-size:16px;display:flex}.loader{border:3px solid #ffffff1a;border-top-color:var(--blue,#4fa3f7);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.live-clock{font-variant-numeric:tabular-nums;letter-spacing:1px;color:var(--txt);align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.live-dot{background:var(--green);border-radius:50%;width:8px;height:8px;animation:2s infinite live-pulse;box-shadow:0 0 #3ecf6e99}@keyframes live-pulse{0%{box-shadow:0 0 #3ecf6e99}70%{box-shadow:0 0 0 8px #3ecf6e00}to{box-shadow:0 0 #3ecf6e00}}.header-right{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.page-subtitle{color:var(--txt2);margin:2px 0 0;font-size:13px}.live-stats-row{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.live-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:14px;display:flex;position:relative;overflow:hidden}.live-stat:before{content:"";height:3px;position:absolute;bottom:0;left:0;right:0}.live-stat.available:before{background:var(--green)}.live-stat.occupied:before{background:var(--accent)}.live-stat.maintenance:before{background:var(--red)}.live-stat.total:before{background:var(--blue)}.ls-val{font-size:28px;font-weight:800;line-height:1}.live-stat.available .ls-val{color:var(--green)}.live-stat.occupied .ls-val{color:var(--accent)}.live-stat.maintenance .ls-val{color:var(--red)}.live-stat.total .ls-val{color:var(--blue)}.ls-label{color:var(--txt2);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.sim-card.live{flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex}.sim-card.live:hover{transform:translateY(-3px);box-shadow:0 8px 32px #0000004d}.sim-header-left{align-items:center;gap:8px;display:flex}.sim-status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:700;display:flex}.sim-status-badge.available{color:var(--green);background:#3ecf6e1a}.sim-status-badge.occupied{color:var(--accent);background:#ff6a001a}.sim-status-badge.reserved{color:var(--yellow,#ffc83c);background:#ffc83c1a}.sim-status-badge.maintenance{color:var(--red);background:#f851491a}.status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.sim-status-badge.occupied .status-dot{animation:1.5s infinite live-pulse}.active-session-info,.next-booking-info{flex-direction:column;gap:6px;display:flex}.client-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.info-label{color:var(--txt2)}.info-value{color:var(--txt);font-weight:600}.info-value.bold{font-weight:800}.info-value.accent{color:var(--accent);font-weight:700}.sim-free-state{color:var(--txt2);text-align:center;padding:8px 0;font-size:13px}.session-timer{border:1px solid var(--border);background:#ffffff0a;border-radius:8px;flex-direction:column;align-items:center;gap:2px;margin-top:4px;padding:10px 12px;display:flex;position:relative;overflow:hidden}.session-timer.warning{background:#ffc83c0d;border-color:#ffc83c66;animation:2s ease-in-out infinite warning-flicker}.session-timer.expired{border-color:var(--red);background:#f8514914}@keyframes warning-flicker{0%,to{background:#ffc83c0d}50%{background:#ffc83c1f}}.timer-label{letter-spacing:1px;text-transform:uppercase;color:var(--txt2);font-size:9px;font-weight:700}.session-timer.warning .timer-label{color:#ffc83c}.session-timer.expired .timer-label{color:var(--red)}.timer-value{font-variant-numeric:tabular-nums;letter-spacing:2px;color:var(--txt);font-size:26px;font-weight:800;line-height:1}.session-timer.warning .timer-value{color:#ffc83c}.session-timer.expired .timer-value{color:var(--red)}.timer-pulse-ring{border:2px solid #ffc83c66;border-radius:8px;animation:1.5s ease-in-out infinite ring-pulse;position:absolute;inset:0}@keyframes ring-pulse{0%{opacity:0;transform:scale(.95)}50%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}.next-booking-info{border-top:1px dashed var(--border);padding-top:8px}.next-timer{color:var(--txt2);text-align:right;font-size:12px}.next-timer.soon{color:#ffc83c;font-weight:700}.sim-btn.extend{color:var(--blue,#4fa3f7);background:#4fa3f726;border:1px solid #4fa3f74d;flex:1;font-weight:600}.sim-btn.extend:hover{background:#4fa3f740}.sim-btn.start-next{color:#ffc83c;background:#ffc83c1f;border:1px solid #ffc83c4d;flex:1;font-weight:600}.sim-btn.start-next:hover{background:#ffc83c38}@media (width<=768px){.live-stats-row{grid-template-columns:repeat(2,1fr)}.header-right{gap:10px}.live-clock{font-size:15px}}@media (width<=480px){.live-stats-row{grid-template-columns:repeat(2,1fr)}}.notification-bell-container{flex-shrink:0;position:relative}.bell-btn{border:1px solid var(--border);background:#ffffff0d;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:relative}.bell-btn:hover{background:#ffffff1a;border-color:#fff3}.bell-icon{font-size:16px}.unread-badge{background:var(--red);color:#fff;border-radius:10px;padding:2px 5px;font-size:10px;font-weight:800;line-height:1;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 4px #00000080}.notification-dropdown{background:var(--bg-card);border:1px solid var(--border);z-index:20050;border-radius:16px;flex-direction:column;width:380px;max-width:calc(100vw - 24px);max-height:min(500px,100vh - 24px);animation:.2s cubic-bezier(0,0,.2,1) slideDown;display:flex;position:fixed;overflow:hidden;box-shadow:0 15px 50px #0009}@media (width<=768px){.notification-dropdown{z-index:20050;position:fixed;width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;max-height:min(70vh,100vh - 90px)!important;left:12px!important;right:12px!important}}@keyframes slideDown{0%{opacity:0;transform:translateY(-15px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.dropdown-header{border-bottom:1px solid var(--border);background:#ffffff08;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.dropdown-header h3{color:#fff;margin:0;font-size:16px;font-weight:700}.dropdown-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.text-btn{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:11px;font-weight:700;transition:opacity .2s}.text-btn:hover{opacity:.8}.text-btn.danger{color:var(--red)}.dropdown-scroll-area{max-height:inherit;scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;overflow-y:auto}.dropdown-list{flex-direction:column;display:flex}.no-notifications{text-align:center;color:var(--txt2);padding:40px 20px;font-size:14px}.dropdown-item{cursor:pointer;border-bottom:1px solid #ffffff0d;flex-direction:column;gap:6px;padding:15px 20px;transition:all .2s;display:flex}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#ffffff0d}.dropdown-item.unread{border-left:4px solid var(--blue);background:#4fa3f70f;padding-left:16px}.item-header{justify-content:space-between;align-items:center;display:flex}.item-badge{letter-spacing:.5px;border-radius:4px;padding:2px 8px;font-size:9px;font-weight:800}.item-badge.system{color:#c5dcf5;background:#4fa3f733}.item-badge.promo{color:var(--green);background:#10b98133}.item-badge.alert{color:var(--red);background:#ef444433}.item-time{color:var(--txt2);font-size:10px;font-weight:600}.item-text{color:#ffffffe6;font-size:13px;line-height:1.5}@media (width<=768px){.notification-dropdown{border-radius:16px;animation:.2s cubic-bezier(0,0,.2,1) slideDown;box-shadow:0 18px 50px #000000bf}}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.activity-log-page .data-table th,.activity-log-page .data-table td{padding:12px 16px}.log-type-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.type-client{color:var(--green);background:#3ecf6e1a;border:1px solid #3ecf6e4d}.type-booking{color:var(--blue);background:#4fa3f71a;border:1px solid #4fa3f74d}.type-membership{color:var(--purple);background:#a78bfa1a;border:1px solid #a78bfa4d}.type-shift{color:var(--yellow);background:#ffc83c1a;border:1px solid #ffc83c4d}.type-promo{color:var(--accent);background:#ff6a001a;border:1px solid #ff6a004d}.type-system{color:var(--txt);background:#ffffff1a;border:1px solid #ffffff4d}.type-default{color:#8b949e;background:#8b949e1a;border:1px solid #30363d}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent2);border-color:var(--accent2);box-shadow:0 4px 12px #ff6a004d}.btn-outline{color:var(--txt);border-color:var(--border);background:0 0}.btn-outline:hover{border-color:var(--txt2);background:#ffffff0d}.btn-danger{color:var(--red);background:#f040401a;border-color:#f040404d}.btn-danger:hover{background:var(--red);color:#fff;box-shadow:0 4px 12px #f040404d}.btn-text{color:var(--txt2);background:0 0;padding:8px 12px}.btn-text:hover{color:var(--txt);background:#ffffff0d}.empty-state{text-align:center;border:1px dashed var(--border);background:#ffffff03;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;margin:20px 0;padding:60px 20px;display:flex}.empty-state-icon{opacity:.8;margin-bottom:16px;font-size:48px}.empty-state-title{color:var(--txt);margin-bottom:8px;font-size:18px;font-weight:600}.empty-state-desc{color:var(--txt2);max-width:400px;margin-bottom:24px;font-size:14px}.skeleton-container{flex-direction:column;gap:12px;display:flex}.skeleton-row{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;gap:16px;padding:16px;display:flex}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.skeleton-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;padding:20px;display:flex}.skeleton-cell,.skeleton-title,.skeleton-text{background:linear-gradient(90deg, var(--border) 25%, #333 50%, var(--border) 75%);background-size:200% 100%;border-radius:4px;height:20px;animation:1.5s infinite loading}.skeleton-title{width:60%;height:24px}.skeleton-text{width:100%;height:16px}.w-10{width:10%}.w-20{width:20%}.w-30{width:30%}.w-50{width:50%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.confirm-modal{text-align:center;max-width:400px;padding:32px 24px}.confirm-icon{margin-bottom:16px;font-size:40px}.confirm-title{margin-bottom:12px;font-size:20px}.confirm-message{color:var(--txt2);margin-bottom:24px;line-height:1.5}.confirm-actions{justify-content:center;gap:12px;display:flex}.form-group{margin-bottom:16px}.form-group label{color:var(--txt2);margin-bottom:6px;font-size:13px;display:block}.input-field{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--txt);border-radius:8px;padding:10px 14px;transition:border-color .2s,box-shadow .2s}.error-text{color:var(--red);margin-top:4px;font-size:12px}.system-check-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-bottom:24px;display:grid}.check-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:24px}.check-card h3{color:var(--txt);border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:12px;font-size:16px}.storage-bar-container{background:var(--bg-input);border-radius:4px;height:8px;margin-top:8px;overflow:hidden}.storage-bar{background:var(--accent);height:100%;transition:width .3s}.storage-text{color:var(--txt2);text-align:right;margin-top:6px;font-size:12px}.check-item{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:12px 0;display:flex}.check-item:last-child{border-bottom:none}.check-item .label{color:var(--txt2);font-size:14px}.check-item .value{color:var(--txt);font-size:16px;font-weight:700}.validation-results{flex-direction:column;gap:12px;margin-top:16px;display:flex}.validation-msg{border-radius:10px;justify-content:space-between;align-items:center;padding:14px;font-size:14px;font-weight:500;display:flex}.validation-msg.success{color:var(--green);background:#10b9811a;border:1px solid #10b98133}.validation-msg.warning{color:var(--yellow);background:#f5c5181a;border:1px solid #f5c51833}.validation-msg.error{color:var(--red);background:#ef44441a;border:1px solid #ef444433}.readiness-header{padding:30px}.readiness-summary{justify-content:space-around;margin-bottom:24px;display:flex}.r-stat{text-align:center;flex-direction:column;align-items:center;display:flex}.r-stat .value{font-size:32px;font-weight:800}.r-stat .label{color:var(--txt2);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:13px}.progress-bar-container{background:var(--bg-input);border-radius:6px;height:12px;overflow:hidden;box-shadow:inset 0 1px 3px #0003}.progress-bar-fill{height:100%;transition:width .5s ease-in-out,background-color .3s}.prod-tasks .tasks-list{flex-direction:column;gap:12px;display:flex}.prod-task-item{border:1px solid var(--border);background:#ffffff05;border-radius:8px;align-items:center;gap:12px;padding:8px;font-size:14px;display:flex}.prod-task-item .checkbox{font-size:16px}.module-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:24px;display:grid}.module-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;flex-direction:column;padding:20px;display:flex}.module-card.status-ready{border-top:3px solid var(--green)}.module-card.status-warning{border-top:3px solid var(--yellow)}.module-card.status-error{border-top:3px solid var(--red)}.module-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.module-header h3{color:var(--txt);margin:0;font-size:16px}.module-desc{color:var(--txt2);flex-grow:1;margin-bottom:16px;font-size:13px}.module-content{border-top:1px solid #ffffff0d;padding-top:16px}.feature-list h4,.issue-list h4{text-transform:uppercase;color:var(--txt2);margin-bottom:8px;font-size:12px}.feature-list ul,.issue-list ul{margin:0;padding:0;list-style:none}.feature-list li{color:var(--txt);margin-bottom:4px;padding-left:16px;font-size:13px;position:relative}.feature-list li:before{content:"✓";color:var(--green);position:absolute;left:0}.issue-list{background:#ef44440d;border:1px solid #ef444433;border-radius:8px;margin-top:16px;padding:12px}.status-warning .issue-list{background:#f5c5180d;border-color:#f5c51833}.issue-list li{color:var(--red);margin-bottom:4px;padding-left:16px;font-size:13px;position:relative}.status-warning .issue-list li{color:var(--yellow)}.issue-list li:before{content:"•";position:absolute;left:4px}.nfc-scanner-modal{text-align:center;max-width:400px!important}.nfc-scan-area{flex-direction:column;align-items:center;gap:20px;padding:30px 0;display:flex}.nfc-icon-large{background:var(--bg-card);border:4px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;font-size:64px;transition:all .3s;display:flex}.nfc-icon-large.scanning{border-color:var(--accent);animation:1.5s infinite pulse-nfc}.nfc-icon-large.error{border-color:var(--red);color:var(--red)}@keyframes pulse-nfc{0%{transform:scale(1);box-shadow:0 0 #ff6a0066}70%{transform:scale(1.05);box-shadow:0 0 0 20px #ff6a0000}to{transform:scale(1);box-shadow:0 0 #ff6a0000}}.nfc-dev-input{text-align:left;width:100%;margin-top:20px}.nfc-badge{text-transform:uppercase;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:700}.nfc-badge.active{color:#00c853;background:#00c85333}.nfc-badge.blocked{color:#ff5252;background:#ff525233}.nfc-badge.lost{color:#ffc107;background:#ffc10733}.nfc-badge.not_assigned{background:var(--bg-input);color:var(--txt2)}.nfc-info-block{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;margin-top:20px;padding:16px}.nfc-info-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.nfc-card-id{color:var(--accent);font-family:Courier New,Courier,monospace;font-weight:700}.nfc-actions{gap:8px;margin-top:16px;display:flex}.nfc-actions .btn{flex:1;padding:8px;font-size:12px}.realtime-badge{border:1px solid var(--border);color:var(--txt2);background:#ffffff0d;border-radius:20px;align-items:center;gap:10px;padding:6px 14px;font-size:13px;font-weight:600;display:flex}.realtime-badge.online{color:var(--green);background:#3ecf6e14;border-color:#3ecf6e33}.realtime-badge.reconnecting{color:var(--yellow);background:#f5c51814;border-color:#f5c51833}.realtime-badge.offline{color:var(--red);background:#f0404014;border-color:#f0404033}.pulse-dot{background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 #fff6}.realtime-badge.online .pulse-dot{animation:2s infinite pulse-green}@keyframes pulse-green{0%{box-shadow:0 0 #3ecf6e66}70%{box-shadow:0 0 0 10px #3ecf6e00}to{box-shadow:0 0 #3ecf6e00}}.syncing-icon{font-size:12px;animation:1s linear infinite spin;display:inline-block}.cloud-indicator{border:1px solid var(--border);color:var(--txt2);background:#ffffff0d;border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.cloud-indicator.synced{color:var(--green)}.cloud-indicator.syncing{color:var(--yellow)}.cloud-indicator.error{color:var(--red)}.avatar-mini{color:#fff;background:var(--border);text-transform:uppercase;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;font-weight:600;display:flex}.badge.pro{color:var(--blue);background:#0070f31a;border:1px solid #0070f333}.badge.standard{color:var(--txt2);border:1px solid var(--border);background:#ffffff0d}.btn-sm{padding:4px 8px;font-size:11px}.shift-mode-page{flex-direction:column;gap:18px;display:flex}.shift-hero{justify-content:space-between;align-items:center;gap:16px;display:flex}.shift-eyebrow{color:var(--txt2);text-transform:uppercase;letter-spacing:0;margin:0 0 4px;font-size:12px}.shift-live{min-width:160px;color:var(--txt2);justify-content:flex-end;align-items:center;gap:10px;font-size:12px;display:flex}.shift-live strong{color:var(--txt);font-size:18px;display:block}.shift-live-dot{background:var(--red);border-radius:50%;width:10px;height:10px}.shift-live-dot.online{background:var(--green);box-shadow:0 0 12px #3ecf6e73}.shift-top-strip{grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(180px,1.4fr);gap:10px;display:grid}.shift-stat{background:var(--bg-card);border:1px solid var(--border);min-height:74px;color:var(--txt);text-align:left;border-radius:8px;padding:12px}.shift-stat span,.shift-stat small{color:var(--txt2);font-size:12px;display:block}.shift-stat strong{margin-top:4px;font-size:26px;line-height:1;display:block}.shift-stat.occupied strong{color:var(--accent)}.shift-stat.free strong{color:var(--green)}.shift-stat.maintenance strong{color:var(--red)}.shift-stat.payments strong{color:var(--blue)}.shift-stat.clickable{cursor:pointer}.shift-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.shift-main,.shift-rail,.shift-secondary{min-width:0}.shift-section,.shift-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.shift-section{padding:16px}.shift-section-header,.shift-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.shift-section-header h2,.shift-panel-title{margin:0;font-size:16px;font-weight:800}.shift-section-header p{color:var(--txt2);margin:4px 0 0;font-size:12px}.shift-sync-tags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.shift-sync-tags span,.shift-count{border:1px solid var(--border);color:var(--txt2);background:#ffffff0a;border-radius:999px;padding:3px 8px;font-size:11px}.shift-sim-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:14px;display:grid}.shift-sim-card{border:1px solid var(--border);border-left:4px solid var(--txt3);background:#ffffff06;border-radius:8px;flex-direction:column;justify-content:space-between;gap:10px;min-height:146px;padding:12px;display:flex}.shift-sim-card.occupied{border-left-color:var(--accent)}.shift-sim-card.free{border-left-color:var(--green)}.shift-sim-card.maintenance{border-left-color:var(--red);opacity:.82}.shift-sim-card.drift{box-shadow:inset 0 0 0 1px #f5c51847}.shift-sim-top{justify-content:space-between;gap:8px;display:flex}.shift-sim-top strong,.shift-sim-booking strong,.shift-line-main strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.shift-sim-top span,.shift-sim-booking span,.shift-line-main span{color:var(--txt2);margin-top:2px;font-size:12px;display:block}.shift-status{border-radius:999px;align-self:flex-start;padding:3px 8px;font-size:11px;font-weight:700}.shift-status.occupied{color:var(--accent);background:#ff6a001f}.shift-status.free{color:var(--green);background:#3ecf6e1f}.shift-status.maintenance{color:var(--red);background:#f040401f}.shift-sim-idle{color:var(--txt2);font-size:13px}.shift-drift{color:var(--yellow);border-top:1px dashed #f5c51840;align-items:flex-start;gap:6px;padding-top:8px;font-size:11px;display:flex}.shift-rail{flex-direction:column;gap:10px;display:flex}.shift-panel{padding:12px}.shift-panel.active{border-color:#ff6a0040}.shift-panel.warning{border-color:#f5c51840}.shift-panel.danger{border-color:#f0404040}.shift-panel-title{align-items:center;gap:8px;display:flex}.shift-panel-body{flex-direction:column;gap:8px;margin-top:10px;display:flex}.shift-line{background:#ffffff06;border:1px solid #ffffff0f;border-radius:8px;justify-content:space-between;gap:10px;min-width:0;padding:9px;display:flex}.shift-line.warning{border-color:#f5c51838}.shift-line.danger{border-color:#f0404038}.shift-line.active{border-color:#ff6a0038}.shift-line-main{min-width:0}.shift-line-meta{color:var(--yellow);text-align:right;flex-shrink:0;align-self:center;font-size:11px;font-weight:800}.shift-empty{color:var(--txt3);padding:8px 0;font-size:12px}.shift-secondary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.shift-link-button{border:1px solid var(--border);width:100%;color:var(--txt);cursor:pointer;background:#ffffff0a;border-radius:8px;padding:9px}.shift-readonly-note{color:var(--cyan);background:#22d3ee0f;border:1px solid #22d3ee38;border-radius:8px;padding:10px 12px;font-size:12px}@media (width<=1280px){.shift-layout{grid-template-columns:1fr}.shift-rail,.shift-secondary{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=820px){.shift-hero,.shift-section-header{flex-direction:column;align-items:stretch}.shift-live{justify-content:flex-start}.shift-top-strip,.shift-rail,.shift-secondary{grid-template-columns:1fr}.shift-line{flex-direction:column}.shift-line-meta{text-align:left;align-self:flex-start}}@media (width<=375px){.modal-content{border-radius:14px!important;padding:12px!important}.modal-actions{flex-direction:column!important;align-items:stretch!important;gap:8px!important}}.modal-content{animation:.22s cubic-bezier(.16,1,.3,1) modal-zoom-in}@keyframes modal-zoom-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.error-text{color:var(--red);margin-top:4px;font-size:11px;font-weight:500;animation:.18s ease-out error-slide-in;display:block}@keyframes error-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.spinner-ring{border:2px solid #ffffff1a;border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:.8s linear infinite spin-anim;display:inline-block}@keyframes spin-anim{to{transform:rotate(360deg)}}.shake-animation{animation:.4s ease-in-out form-shake}@keyframes form-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.input-field{transition:border-color .15s,box-shadow .15s}.input-field:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px #ff6a0026!important}.input-field.error{border-color:var(--red)!important;box-shadow:0 0 0 3px #f0404026!important}.public-booking-shell{color:#f8fafc;box-sizing:border-box;background:#0b0d12;justify-content:center;width:100%;min-height:100%;padding:24px 12px;display:flex}.public-booking-shell.is-embed{background:0 0;padding:0}.pb-card{box-sizing:border-box;background:linear-gradient(#111827f5,#0a0d14fa);border:1px solid #ffffff14;border-radius:20px;flex-direction:column;gap:16px;width:min(100%,680px);min-height:min(760px,100vh);padding:18px 18px 96px;display:flex;position:relative;overflow:hidden;box-shadow:0 22px 60px #00000047}.is-embed .pb-card{min-height:100vh;box-shadow:none;border-radius:18px}.pb-topline{color:#94a3b8;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.pb-topline strong{color:#f8fafc;font-size:15px}.pb-progress{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.pb-progress span{background:#ffffff1a;border-radius:999px;height:4px}.pb-progress span.active{background:#f97316}.pb-summary-row{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.pb-summary-row::-webkit-scrollbar{display:none}.pb-summary-chip{color:#e5e7eb;text-align:left;cursor:pointer;background:#ffffff0b;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:2px;min-width:max-content;padding:9px 11px;display:flex}.pb-summary-chip span{color:#94a3b8;font-size:11px}.pb-summary-chip strong{color:#f8fafc;font-size:13px}.pb-step-panel{flex-direction:column;gap:16px;animation:.18s ease-out pb-panel-in;display:flex}@keyframes pb-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pb-kicker{color:#f97316;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.pb-step-panel h1,.pb-success h1{color:#f8fafc;margin:0;font-size:24px;font-weight:800;line-height:1.15}.pb-choice-grid{gap:10px;display:grid}.pb-choice-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-choice{color:#f8fafc;text-align:left;cursor:pointer;background:#ffffff0b;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;justify-content:space-between;gap:12px;min-height:108px;padding:16px;display:flex}.pb-choice:hover,.pb-choice:focus-visible,.pb-time:hover,.pb-time:focus-visible,.pb-summary-chip:hover,.pb-summary-chip:focus-visible{border-color:#f973168c;outline:none}.pb-choice.selected,.pb-time.selected{background:#f9731629;border-color:#f97316;box-shadow:0 0 0 3px #f973161f}.pb-choice strong{font-size:17px}.pb-choice span{color:#aeb8c8;font-size:13px;line-height:1.35}.pb-choice.wide{grid-column:1/-1;min-height:86px}.pb-stepper-row,.pb-confirm-card,.pb-final-summary{background:#ffffff0b;border:1px solid #ffffff14;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.pb-counter{align-items:center;gap:10px;display:inline-flex}.pb-counter button{color:#f8fafc;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:12px;width:38px;height:38px;font-size:19px}.pb-field{flex-direction:column;gap:7px;display:flex}.pb-field span{color:#cbd5e1;font-size:13px;font-weight:700}.pb-field input,.pb-field textarea{color:#f8fafc;width:100%;min-height:48px;font:inherit;box-sizing:border-box;background:#00000038;border:1px solid #ffffff1c;border-radius:14px;outline:none;padding:12px 13px}.pb-field textarea{resize:vertical}.pb-field input:focus,.pb-field textarea:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161f}.pb-field input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23f8fafc' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:20px 20px;padding-right:42px;position:relative}.pb-field input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;-webkit-appearance:none;width:100%;height:100%;position:absolute;inset:0}.pb-field em,.pb-error-text,.pb-error-banner{color:#fca5a5;font-size:13px;font-style:normal}.pb-error-banner{background:#ef44441f;border:1px solid #ef444438;border-radius:14px;padding:11px 12px}.pb-time-group{flex-direction:column;gap:8px;display:flex}.pb-time-group h2{color:#94a3b8;text-transform:uppercase;margin:0;font-size:13px;font-weight:800}.pb-time-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px;display:grid}.pb-time{color:#f8fafc;cursor:pointer;background:#ffffff0b;border:1px solid #ffffff1a;border-radius:14px;min-height:48px;font-weight:800}.pb-time small{color:#aeb8c8;margin-top:2px;font-size:11px;font-weight:600;display:block}.pb-time.warning{color:#fbbf24;border-color:#fbbf2440}.pb-time:disabled{cursor:not-allowed;opacity:.38;background:#94a3b814}.pb-advisory{border-radius:14px;margin:0;padding:10px 12px;font-size:13px}.pb-advisory.available{color:#86efac;background:#22c55e1a}.pb-advisory.warning{color:#fcd34d;background:#f59e0b1a}.pb-confirm-card,.pb-final-summary{color:#cbd5e1;flex-direction:column;align-items:flex-start}.pb-confirm-card strong,.pb-final-summary strong{color:#f8fafc;font-size:18px}.pb-bottom-bar{background:linear-gradient(#0a0d1400,#0a0d14f5 18%,#0a0d14);gap:10px;padding:14px 18px 18px;display:flex;position:absolute;bottom:0;left:0;right:0}.pb-primary,.pb-secondary{cursor:pointer;border:0;border-radius:14px;min-height:48px;font-size:15px;font-weight:800}.pb-primary{color:#111827;background:#f97316;flex:1}.pb-primary:disabled{opacity:.5;cursor:not-allowed}.pb-secondary{color:#f8fafc;background:#ffffff14;min-width:104px}.pb-skeleton-list{gap:10px;display:grid}.pb-skeleton-list span{background:linear-gradient(90deg,#ffffff0a,#ffffff1a,#ffffff0a);border-radius:14px;height:52px;animation:1.2s linear infinite pb-skeleton}@keyframes pb-skeleton{0%{opacity:.55}50%{opacity:1}to{opacity:.55}}.pb-success{text-align:center;justify-content:center;align-items:center;padding-bottom:18px}.pb-success p{color:#aeb8c8;margin:0}.pb-success .pb-primary{flex:none;justify-content:center;align-items:center;width:min(100%,260px);min-height:48px;padding:0 18px;line-height:1.2;display:inline-flex}.pb-success-mark{color:#86efac;background:#22c55e21;border:1px solid #86efac4d;border-radius:50%;place-items:center;width:62px;height:62px;font-size:32px;font-weight:900;display:grid}@media (width<=560px){.public-booking-shell,.public-booking-shell.is-embed{padding:0}.pb-card{border-left:0;border-right:0;border-radius:0;width:100%;min-height:100vh;padding:14px 14px 88px}.pb-step-panel h1,.pb-success h1{font-size:22px}.pb-choice-grid.two{grid-template-columns:1fr}.pb-choice{min-height:94px}.pb-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pb-bottom-bar{padding:12px 14px calc(12px + env(safe-area-inset-bottom));position:fixed}}
