@font-face{font-family:FiraGO;src:url(/assets/FiraGO-Bold-K4aq8onw.woff)}@font-face{font-family:FiraGOUPP-Bold;src:url(/assets/FiraGOUPP-Bold-COmefG68.ttf)}@font-face{font-family:FiraGOUPP-Medium;src:url(/assets/FiraGOUPP-Medium-B4Q0tYrU.ttf)}@font-face{font-family:FiraGOUPP-Regular;src:url(/assets/FiraGOUPP-Regular-DVNMCojA.ttf)}@font-face{font-family:FiraGO-Book;src:url(/assets/FiraGO-Book-BBrMVHkR.woff)}@font-face{font-family:FiraGO-Regukar;src:url(/assets/FiraGO-Regular-DgAYIwnw.woff)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #6366f1;--primary-dark: #4f46e5;--secondary: #ec4899;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--sidebar-width: 240px;--sidebar-collapsed-width: 60px;--font-body: "FiraGO-Book", sans-serif;--font-heading: "FiraGOUPP-Bold", sans-serif;--fw-body: 400;--fw-ui: 500;--fw-heading: 700;--fw-display: 800}body{font-family:var(--font-body);font-weight:var(--fw-body);background:#f8fafc;color:#1e293b;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--fw-heading)}a{color:inherit;text-decoration:none}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:14px;font-family:var(--font-body);font-weight:var(--fw-ui);cursor:pointer;border:none;transition:all .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:#e2e8f0;color:#475569}.btn-secondary:hover{background:#cbd5e1}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-success{background:var(--success);color:#fff}.btn-sm{padding:5px 10px;font-size:12px}.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000014}.input,select,textarea{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;outline:none;transition:border-color .15s;font-family:inherit;background:#fff}.input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}label{font-size:13px;font-weight:500;color:#475569;margin-bottom:4px;display:block}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600}.badge-booked{background:#dbeafe;color:#1d4ed8}.badge-confirmed,.badge-completed{background:#d1fae5;color:#065f46}.badge-cancelled{background:#fee2e2;color:#991b1b}.badge-no_show,.badge-pending{background:#fef3c7;color:#92400e}.badge-paid{background:#d1fae5;color:#065f46}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;border-bottom:1px solid #e2e8f0}td{padding:12px;font-size:14px;border-bottom:1px solid #f1f5f9}tr:hover td{background:#f8fafc}.stat-card{text-align:center}.stat-card .value{font-size:28px;font-weight:700;color:var(--primary)}.stat-card .label{font-size:13px;color:#64748b;margin-top:4px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:#fff;border-radius:16px;padding:24px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-title{font-size:18px;font-weight:700}.modal-close{background:none;border:none;font-size:20px;cursor:pointer;color:#94a3b8}.form-group{margin-bottom:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sidebar{width:var(--sidebar-width);background:#1e1b4b;height:100vh;position:fixed;left:0;top:0;display:flex;flex-direction:column;overflow:hidden;transition:width .22s cubic-bezier(.4,0,.2,1);z-index:100}.sidebar.collapsed{width:var(--sidebar-collapsed-width);overflow:visible}.sidebar-logo{padding:16px 20px;font-size:18px;font-family:var(--font-heading);font-weight:var(--fw-display);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;white-space:nowrap;overflow:hidden}.sidebar-logo-text{transition:opacity .15s,width .22s;opacity:1}.sidebar.collapsed .sidebar-logo-text{opacity:0;width:0;overflow:hidden}.sidebar-toggle{background:none;border:none;color:#ffffff80;cursor:pointer;font-size:18px;padding:2px 0;line-height:1;flex-shrink:0;transition:color .15s}.sidebar-toggle:hover{color:#fff}.sidebar-nav{padding:12px;flex:1;overflow-y:auto;overflow-x:clip;min-height:0}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:#ffffffb3;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s;margin-bottom:2px;text-decoration:none;white-space:nowrap;overflow:hidden;position:relative}.nav-item:hover,.nav-item.active{background:#ffffff1a;color:#fff}.nav-item svg{width:18px;height:18px}.nav-label{transition:opacity .15s}.sidebar.collapsed .sidebar-nav{overflow:visible}.sidebar.collapsed .nav-item{justify-content:center;padding:10px 0;overflow:visible;gap:0}.sidebar.collapsed .nav-label{opacity:0;width:0;overflow:hidden;display:inline-block}.nav-tooltip{display:none;position:fixed;left:auto;background:#312e81;color:#fff;padding:5px 12px;border-radius:8px;font-size:13px;font-weight:500;white-space:nowrap;z-index:9999;box-shadow:0 4px 16px #00000040;pointer-events:none;transform:translateY(-50%)}.sidebar.collapsed .nav-item:hover .nav-tooltip{display:block;position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%)}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.1)}.sidebar-footer-text{transition:opacity .15s}.sidebar.collapsed .sidebar-footer-text{opacity:0;width:0;overflow:hidden;height:0;margin:0}.sidebar.collapsed .sidebar-footer{padding:12px 0;display:flex;flex-direction:column;align-items:center;gap:8px}.sidebar-nav::-webkit-scrollbar{width:3px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.main-content{margin-left:var(--sidebar-width);padding:24px;min-height:100vh;transition:margin-left .22s cubic-bezier(.4,0,.2,1)}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:22px;font-family:var(--font-heading);font-weight:var(--fw-heading)}.modal-title{font-family:var(--font-heading);font-weight:var(--fw-heading)}.search-bar{position:relative}.search-bar input{padding-left:36px}.search-bar svg{position:absolute;left:30px;top:50%;transform:translateY(-50%);color:#94a3b8;width:16px;height:16px}.fc .fc-toolbar-title{font-size:16px!important;font-weight:700!important}.fc .fc-button{border-radius:6px!important;font-size:13px!important}.fc .fc-button-primary{background:var(--primary)!important;border-color:var(--primary)!important}.fc-event{cursor:pointer}.chip-group{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;border:2px solid transparent;transition:all .15s}.chip.selected{border-color:var(--primary);background:#6366f11a;color:var(--primary)}.chip:not(.selected){background:#f1f5f9;color:#64748b}.text-sm{font-size:13px}.text-xs{font-size:11px}.text-muted{color:#94a3b8}.fw-600{font-weight:600}.gap-2{gap:8px}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.mb-4{margin-bottom:16px}.mt-4{margin-top:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.mobile-topbar{display:none}@media(max-width:1024px){.main-content{margin-left:var(--sidebar-collapsed-width);padding:16px}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.grid-3,.grid-4,.grid-5{grid-template-columns:1fr 1fr}}@media(max-width:640px){.sidebar,.sidebar.collapsed{width:100%!important;height:60px!important;top:auto;bottom:0;flex-direction:row;overflow:visible;transition:none}.sidebar-logo,.sidebar-footer{display:none!important}.sidebar-nav{display:flex!important;flex-direction:row!important;flex:1;padding:0!important;overflow-x:auto;overflow-y:hidden;align-items:stretch;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-item{flex-direction:column!important;flex:0 0 auto;gap:2px!important;padding:6px 10px!important;justify-content:center!important;align-items:center!important;min-width:58px;margin-bottom:0!important;border-radius:0!important;overflow:visible!important}.nav-item>span:first-child{font-size:19px!important}.nav-label,.sidebar.collapsed .nav-label{opacity:1!important;width:auto!important;overflow:visible!important;display:block!important;font-size:9px!important;line-height:1.2!important}.sidebar.collapsed .nav-item:hover:after,.sidebar.collapsed .nav-item:hover:before{display:none!important}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:50}.main-content,.main-content.sidebar-collapsed{margin-left:0!important;padding:12px 12px 72px!important}.card{padding:14px;border-radius:10px}.stat-card .value{font-size:22px}.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr;gap:10px}.form-row{grid-template-columns:1fr;gap:12px}.page-header{flex-wrap:wrap;gap:10px}.page-title{font-size:18px}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}th,td{white-space:nowrap}.modal-overlay{padding:0;align-items:flex-end}.modal{border-radius:16px 16px 0 0;max-height:92vh;padding:20px 16px}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes cashBannerPulse{0%,to{background:#dc2626;box-shadow:0 2px 12px #dc262673}50%{background:#b91c1c;box-shadow:0 2px 20px #dc2626bf}}.cash-closed-banner{display:flex;align-items:center;gap:10px;padding:11px 18px;border-radius:10px;margin-bottom:18px;color:#fff;font-weight:700;font-size:14px;cursor:pointer;animation:cashBannerPulse 2s ease-in-out infinite;-webkit-user-select:none;user-select:none}
