@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&family=DM+Sans:wght@300;400;500;600&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-bg:#0f0d0b;--sidebar-surface:#1a1714;--sidebar-border:#ffffff0f;--gold:#d4a853;--gold-light:#e8c070;--gold-muted:#d4a85326;--cream:#f5f0e8;--cream-muted:#ede6d8;--main-bg:#f7f4ef;--surface:#fff;--surface-2:#faf8f5;--border:#ede8e0;--border-strong:#ddd5c8;--text-primary:#1a1511;--text-secondary:#6b5f52;--text-muted:#a0968a;--green:#2d7a4f;--green-bg:#edf7f2;--red:#c0392b;--red-bg:#fdf0ee;--amber:#b45309;--amber-bg:#fef7ee;--blue:#1e4d8c;--blue-bg:#eef3fc;--shadow-sm:0 1px 3px #1a15110f,0 1px 2px #1a15110a;--shadow-md:0 4px 16px #1a151114,0 2px 6px #1a15110d;--shadow-lg:0 12px 40px #1a15111f,0 4px 12px #1a15110f;--radius-sm:8px;--radius:14px;--radius-lg:20px;--transition:0.2s cubic-bezier(0.4,0,0.2,1)}body{-webkit-font-smoothing:antialiased;background:#f7f4ef;background:var(--main-bg);color:#1a1511;color:var(--text-primary);font-family:DM Sans,-apple-system,sans-serif;font-size:14px;line-height:1.5}body:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.03'/%3E%3C/svg%3E");content:"";inset:0;opacity:.4;pointer-events:none;position:fixed;z-index:999}.app{display:flex;height:100vh;overflow:hidden}.sidebar{background:#0f0d0b;background:var(--sidebar-bg);border-right:1px solid #ffffff0a;display:flex;flex-direction:column;flex-shrink:0;padding:0;position:relative;width:228px}.sidebar:before{background:radial-gradient(ellipse at 50% 0,#d4a8531f 0,#0000 70%);content:"";height:200px;left:0;pointer-events:none;position:absolute;right:0;top:0}.sidebar-top{border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--sidebar-border);padding:28px 20px 24px}.logo{font-family:Playfair Display,serif;font-size:18px;font-weight:600;gap:11px;letter-spacing:.01em}.logo,.logo-icon{align-items:center;color:#d4a853;color:var(--gold);display:flex}.logo-icon{background:#d4a85326;background:var(--gold-muted);border:1px solid #d4a8534d;border-radius:9px;flex-shrink:0;height:34px;justify-content:center;width:34px}.sidebar nav{display:flex;flex:1 1;flex-direction:column;gap:2px;padding:16px 12px}.nav-section-label{color:#fff3;font-size:10px;font-weight:600;letter-spacing:.1em;padding:12px 8px 4px;text-transform:uppercase}.sidebar nav a{align-items:center;border-radius:10px;color:#ffffff73;display:flex;font-size:13.5px;font-weight:400;gap:10px;padding:9px 12px;position:relative;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.sidebar nav a:hover{background:#ffffff0f;color:#ffffffd9}.sidebar nav a.active{background:#d4a8531f;color:#d4a853;color:var(--gold);font-weight:500}.sidebar nav a.active:before{background:#d4a853;background:var(--gold);border-radius:0 2px 2px 0;content:"";height:18px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.sidebar-footer{border-top:1px solid #ffffff0f;border-top:1px solid var(--sidebar-border);padding:16px 12px}.sidebar-user{background:#ffffff0a;border-radius:10px;margin-bottom:6px;padding:10px 12px}.sidebar-user-email{color:#ffffff4d;font-size:11.5px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{align-items:center;background:none;border:none;border-radius:10px;color:#ffffff4d;cursor:pointer;display:flex;font-family:inherit;font-size:13px;gap:8px;padding:8px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:100%}.sidebar-logout:hover{background:#ffffff0f;color:#fff9}.main-content{background:#f7f4ef;background:var(--main-bg);flex:1 1;overflow-y:auto;padding:32px 36px}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:#0000}.main-content::-webkit-scrollbar-thumb{background:#ddd5c8;background:var(--border-strong);border-radius:3px}.page-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:28px}.page-title{color:#1a1511;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.2}.page-subtitle{color:#a0968a;color:var(--text-muted);font-size:13px;font-weight:400;margin-top:3px}.card{background:#fff;background:var(--surface);border:1px solid #ede8e0;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);box-shadow:0 1px 3px #1a15110f,0 1px 2px #1a15110a;box-shadow:var(--shadow-sm);padding:24px;transition:box-shadow .2s cubic-bezier(.4,0,.2,1);transition:box-shadow var(--transition)}.card:hover{box-shadow:0 4px 16px #1a151114,0 2px 6px #1a15110d;box-shadow:var(--shadow-md)}.stats-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:24px}.stat-card{background:#fff;background:var(--surface);border:1px solid #ede8e0;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);box-shadow:0 1px 3px #1a15110f,0 1px 2px #1a15110a;box-shadow:var(--shadow-sm);overflow:hidden;padding:20px 22px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.stat-card:after{background:linear-gradient(90deg,#d4a853,#0000);background:linear-gradient(90deg,var(--gold),#0000);bottom:0;content:"";height:2px;left:0;opacity:0;position:absolute;right:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);transition:opacity var(--transition)}.stat-card:hover{box-shadow:0 4px 16px #1a151114,0 2px 6px #1a15110d;box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-card:hover:after{opacity:1}.stat-label{color:#a0968a;color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:.07em;margin-bottom:8px;text-transform:uppercase}.stat-value{color:#1a1511;color:var(--text-primary);font-size:2rem;font-weight:700;letter-spacing:-.5px;line-height:1.1}.stat-sub{color:#a0968a;color:var(--text-muted);font-size:11px;margin-top:4px}.bookings-list{display:flex;flex-direction:column;gap:8px}.booking-row{align-items:center;background:#fff;background:var(--surface);border:1px solid #ede8e0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 1px 3px #1a15110f,0 1px 2px #1a15110a;box-shadow:var(--shadow-sm);display:flex;gap:0;padding:14px 18px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.booking-row:hover{border-color:#ddd5c8;border-color:var(--border-strong);box-shadow:0 4px 16px #1a151114,0 2px 6px #1a15110d;box-shadow:var(--shadow-md)}.booking-row:hover,.date-arrow-btn{background:#faf8f5;background:var(--surface-2)}.date-arrow-btn{align-items:center;border:1px solid #ede8e0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#6b5f52;color:var(--text-secondary);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:34px}.date-arrow-btn:hover{background:#fff;background:var(--surface);border-color:#ddd5c8;border-color:var(--border-strong);color:#1a1511;color:var(--text-primary)}.status-badge{border-radius:999px;font-size:11px;font-weight:500;letter-spacing:.02em;padding:4px 10px;white-space:nowrap}.status-confirmed{background:#edf7f2;background:var(--green-bg);color:#2d7a4f;color:var(--green)}.status-cancelled{background:#fdf0ee;background:var(--red-bg);color:#c0392b;color:var(--red)}.status-walkin{background:#eef3fc;background:var(--blue-bg);color:#1e4d8c;color:var(--blue)}.status-completed{background:#f5f4f2;color:#a0968a;color:var(--text-muted)}.status-no_show{background:#fef7ee;background:var(--amber-bg);color:#b45309;color:var(--amber)}.date-nav{gap:12px}.date-nav,.date-nav button{align-items:center;display:flex}.date-nav button{background:#faf8f5;background:var(--surface-2);border:1px solid #ede8e0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#6b5f52;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:13px;padding:8px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.date-nav button:hover{background:#fff;background:var(--surface);border-color:#ddd5c8;border-color:var(--border-strong);color:#1a1511;color:var(--text-primary)}.date-nav .today-btn{background:#1a1511;background:var(--text-primary);border-color:#1a1511;border-color:var(--text-primary);color:#fff;font-weight:500}.date-nav .today-btn:hover{background:#2d2722;border-color:#2d2722;color:#fff}.date-display{color:#1a1511;color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:15px;font-weight:500;min-width:200px;text-align:center}.btn{align-items:center;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:DM Sans,inherit;font-size:13px;font-weight:500;gap:6px;justify-content:center;letter-spacing:.01em;padding:9px 18px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);white-space:nowrap}.btn-primary{background:#1a1511;background:var(--text-primary);border-color:#1a1511;border-color:var(--text-primary);color:#fff}.btn-primary:hover{background:#2d2722;border-color:#2d2722;box-shadow:0 4px 12px #1a151133}.btn-gold{background:#d4a853;background:var(--gold);border-color:#d4a853;border-color:var(--gold);color:#1a1511;font-weight:600}.btn-gold:hover{background:#e8c070;background:var(--gold-light);border-color:#e8c070;border-color:var(--gold-light);box-shadow:0 4px 12px #d4a8534d}.btn-ghost{background:#faf8f5;background:var(--surface-2);border-color:#ede8e0;border-color:var(--border);color:#6b5f52;color:var(--text-secondary)}.btn-ghost:hover{background:#fff;background:var(--surface);border-color:#ddd5c8;border-color:var(--border-strong);color:#1a1511;color:var(--text-primary)}.btn-danger{background:#fdf0ee;background:var(--red-bg);border-color:#f5c5c1;color:#c0392b;color:var(--red)}.btn-danger:hover{background:#fce8e6;box-shadow:0 2px 8px #c0392b1f}.btn-sm{font-size:12px;padding:5px 11px}.btn:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.staff-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.staff-card{background:#fff;background:var(--surface);border:1px solid #ede8e0;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius);box-shadow:0 1px 3px #1a15110f,0 1px 2px #1a15110a;box-shadow:var(--shadow-sm);padding:22px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.staff-card:hover{box-shadow:0 4px 16px #1a151114,0 2px 6px #1a15110d;box-shadow:var(--shadow-md);transform:translateY(-2px)}.staff-avatar{align-items:center;background:linear-gradient(135deg,#d4a85326,#d4a8530d);background:linear-gradient(135deg,var(--gold-muted),#d4a8530d);border:1px solid #d4a8534d;border-radius:12px;color:#d4a853;color:var(--gold);display:flex;font-family:Playfair Display,serif;font-size:19px;font-weight:500;height:46px;justify-content:center;margin-bottom:12px;width:46px}.staff-name{color:#1a1511;color:var(--text-primary);font-weight:600;margin-bottom:3px}.staff-role{color:#a0968a;color:var(--text-muted);font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{border-bottom:1px solid #ede8e0;border-bottom:1px solid var(--border);color:#a0968a;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.07em;padding:10px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}td{border-bottom:1px solid #f5f0ea;color:#1a1511;color:var(--text-primary);font-size:13.5px;padding:13px 16px}tr:last-child td{border-bottom:none}.period-tabs,tr:hover td{background:#faf8f5;background:var(--surface-2)}.period-tabs{border:1px solid #ede8e0;border:1px solid var(--border);border-radius:10px;display:flex;gap:6px;padding:4px}.period-tab{background:#0000;border:none;border-radius:7px;color:#a0968a;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:500;padding:6px 16px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.period-tab:hover{color:#6b5f52;color:var(--text-secondary)}.period-tab.active{background:#fff;background:var(--surface);box-shadow:0 1px 3px #1a15110f,0 1px 2px #1a15110a;box-shadow:var(--shadow-sm);color:#1a1511;color:var(--text-primary)}.status-select{-webkit-appearance:none;appearance:none;background:#faf8f5;background:var(--surface-2);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23a0968a' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 7px center;background-repeat:no-repeat;border:1px solid #ede8e0;border:1px solid var(--border);border-radius:999px;color:#6b5f52;color:var(--text-secondary);cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:500;padding:4px 24px 4px 9px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition)}.status-select:hover{background-color:#fff;background-color:var(--surface);border-color:#ddd5c8;border-color:var(--border-strong)}.status-select:focus{border-color:#d4a853;border-color:var(--gold);box-shadow:0 0 0 3px #d4a85326;box-shadow:0 0 0 3px var(--gold-muted);outline:none}.status-select:disabled{cursor:not-allowed;opacity:.5}input[type=date],input[type=email],input[type=number],input[type=text],input[type=time],select,textarea{background:#fff;background:var(--surface);border:1px solid #ede8e0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#1a1511;color:var(--text-primary);font-family:DM Sans,inherit;font-size:13.5px;padding:9px 13px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:100%}input:focus,select:focus,textarea:focus{border-color:#d4a853;border-color:var(--gold);box-shadow:0 0 0 3px #d4a85326;box-shadow:0 0 0 3px var(--gold-muted);outline:none}input::placeholder{color:#a0968a;color:var(--text-muted)}.loading{font-size:13px;letter-spacing:.02em;padding:60px}.empty,.loading{color:#a0968a;color:var(--text-muted);text-align:center}.empty{padding:56px}.empty-icon{font-size:36px;margin-bottom:12px;opacity:.7}.empty p{font-size:14px}.divider{background:#ede8e0;background:var(--border);height:1px;margin:24px 0}.section-title{color:#1a1511;color:var(--text-primary);font-family:Playfair Display,serif;font-size:15px;font-weight:500;margin-bottom:16px}.chip{align-items:center;border-radius:999px;display:inline-flex;font-size:11.5px;font-weight:500;padding:3px 10px}.chip-green{background:#edf7f2;background:var(--green-bg);color:#2d7a4f;color:var(--green)}.chip-red{background:#fdf0ee;background:var(--red-bg);color:#c0392b;color:var(--red)}.chip-amber{background:#fef7ee;background:var(--amber-bg);color:#b45309;color:var(--amber)}.chip-blue{background:#eef3fc;background:var(--blue-bg);color:#1e4d8c;color:var(--blue)}.chip-gray{background:#f3f0ec;color:#a0968a;color:var(--text-muted)}.chip-gold{background:#d4a85326;color:#92620e}.card-header{align-items:center;border-bottom:1px solid #ede8e0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .35s cubic-bezier(.4,0,.2,1) both}.login-page{align-items:center;background:#0f0d0b;background:var(--sidebar-bg);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-page:before{background:radial-gradient(circle,#d4a8531f 0,#0000 70%);content:"";height:600px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:600px}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;padding:40px;position:relative;width:380px}.login-logo{align-items:center;color:#d4a853;color:var(--gold);display:flex;font-family:Playfair Display,serif;font-size:22px;font-weight:500;gap:12px;margin-bottom:32px}.login-field{margin-bottom:16px}.login-label{color:#ffffff59;display:block;font-size:11.5px;font-weight:500;letter-spacing:.07em;margin-bottom:6px;text-transform:uppercase}.login-input{background:#ffffff0f!important;border:1px solid #ffffff1a!important;border-radius:10px;color:#fff!important;font-size:14px;padding:11px 14px;width:100%}.login-input:focus{border-color:#d4a853!important;border-color:var(--gold)!important;box-shadow:0 0 0 3px #d4a85326!important}.login-input::placeholder{color:#fff3!important}.login-btn{background:#d4a853;background:var(--gold);border:none;border-radius:10px;color:#1a1511;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;letter-spacing:.02em;margin-top:8px;padding:12px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition);width:100%}.login-btn:hover{background:#e8c070;background:var(--gold-light);box-shadow:0 6px 20px #d4a8534d}.login-btn:disabled{cursor:not-allowed;opacity:.5}.login-error{background:#c0392b26;border:1px solid #c0392b33;border-radius:8px;color:#f1a89e;font-size:13px;margin-top:12px;padding:10px 14px;text-align:center}@keyframes spin{to{transform:rotate(1turn)}}.hamburger{align-items:center;background:#1a1511;background:var(--text-primary);border:none;border-radius:9px;box-shadow:0 2px 8px #00000040;color:#fff;cursor:pointer;display:none;height:38px;justify-content:center;left:14px;position:fixed;top:14px;width:38px;z-index:300}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;display:none;inset:0;position:fixed;z-index:199}@media (max-width:768px){.hamburger{display:flex}.sidebar{bottom:0;left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);width:240px;z-index:200}.sidebar.open{transform:translateX(0)}.sidebar-overlay.open{display:block}.main-content{padding:64px 16px 24px;width:100%}.stats-row{gap:10px;grid-template-columns:1fr 1fr;margin-bottom:14px}.stat-card{padding:12px 14px}.stat-label{font-size:10px;margin-bottom:4px}.stat-value{font-size:1.6rem}.page-header{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:14px}.page-title{font-size:18px}.analytics-grid-2col{grid-template-columns:1fr!important}.date-nav{flex-wrap:wrap;gap:6px}.date-display{font-size:13px;min-width:0;min-width:auto}.card{padding:16px}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.period-tabs{flex-shrink:0}.staff-grid{grid-template-columns:1fr}.conversations-layout{flex-direction:column!important;height:auto!important}.conversations-list{width:100%!important}.walkin-modal-inner{border-radius:0!important;height:100dvh;margin:0!important;max-width:100%!important;overflow-y:auto}.holiday-grid-4col{gap:10px!important;grid-template-columns:1fr 1fr!important}.holiday-grid-4col>:last-child{grid-column:1/-1}.staff-edit-grid{grid-template-columns:1fr!important}.staff-edit-grid>:last-child{grid-column:unset}.share-bar{width:70px!important}.mini-calendar-popup{left:50%!important;transform:translateX(-50%)!important;width:260px!important}.page-header-actions{flex-wrap:wrap;gap:8px}.slot-chips{gap:4px}.booking-row{flex-wrap:wrap;padding:0}.booking-row>div:first-child{padding:12px 0;width:60px}.booking-row>div:nth-child(2){flex:1 1;min-width:0;padding:12px}.booking-row>div:nth-child(2)>div:first-child>div{overflow:visible!important;text-overflow:clip!important;white-space:normal!important}.booking-row>div:nth-child(2)>div:last-child{flex-wrap:wrap!important}.booking-row>div:nth-child(3){display:flex}.booking-row>div:last-child{border-left:none!important;border-top:1px solid #ede8e0;justify-content:flex-end;padding:8px 12px;width:100%}.booking-row>div:last-child:before{content:none}.booking-row>div:nth-child(2)>div:first-child{flex-wrap:wrap}.booking-row>div:nth-child(2)>div:first-child>div:first-child{font-size:13px;overflow:visible!important;text-overflow:clip!important;white-space:normal!important}.booking-row>div:nth-child(2)>div:last-child>span:last-child{display:none}}@media (max-width:420px){.stats-row{grid-template-columns:1fr 1fr}.stat-value{font-size:1.4rem!important}.main-content{padding:60px 12px 20px}.card{padding:14px}.holiday-grid-4col{grid-template-columns:1fr!important}}
/*# sourceMappingURL=main.21cb5083.css.map*/