:root{color-scheme:light;font-family:DM Sans,sans-serif;color:#202b27;background:#f4f7f4;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #202b27;--muted: #75817b;--line: #e5ebe6;--green: #286b57;--green-dark: #1d5746;--mint: #e6f3ed;--coral: #d97963;--shadow: 0 18px 50px rgb(28 52 42 / 12%);--surface: #fff;--surface-soft: #f8faf8;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--content-max: 1440px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;font-size:14px;background:#f4f7f4}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}.auth-loading,.admin-login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-loading{color:var(--muted)}.admin-login-panel{width:min(100%,390px);padding:28px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:var(--shadow)}.admin-login-mark{width:42px;height:42px;margin-bottom:22px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--green);font:600 24px Playfair Display,serif}.admin-login-panel .eyebrow{display:block;margin:0 0 5px}.admin-login-panel h1{font-size:26px}.admin-login-copy{margin:8px 0 20px;color:var(--muted);font-size:12px}.admin-login-form{display:grid;gap:14px}.admin-login-form .primary-button{width:100%}.admin-login-warning{margin-top:18px;padding:12px;display:flex;gap:10px;border-radius:6px;color:#795a20;background:#fbf3df;font-size:12px;line-height:1.5}.admin-login-warning svg{flex:0 0 auto}.sidebar{padding:27px 18px 22px;border-right:1px solid var(--line);background:#fbfcfb;display:flex;flex-direction:column;gap:27px}.brand{display:flex;align-items:center;gap:11px;padding:0 8px;color:inherit;text-decoration:none}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;color:#fff;background:var(--green);font:600 21px Playfair Display,serif}.brand strong{display:block;font:600 17px Playfair Display,serif}.brand small{display:block;margin-top:2px;color:var(--muted);font-size:10px;letter-spacing:.7px;text-transform:uppercase}.salon-switch{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.salon-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#f8e8df;color:#a65e4e}.salon-label{min-width:0;flex:1;font-size:12px}.salon-label strong,.salon-label small{display:block}.salon-label small{margin-top:3px;color:var(--muted);font-size:11px}.mini-head,.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:600}.mini-head>div{display:flex}.icon-button{width:30px;height:30px;padding:0;display:inline-grid;place-items:center;border:0;border-radius:6px;color:#68756e;background:transparent}.icon-button:hover{background:#eef3ef}.mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:8px;text-align:center}.mini-grid button,.mini-grid span{width:28px;height:28px;padding:0;justify-self:center;display:grid;place-items:center;border:0;border-radius:50%;color:#65716b;background:transparent;font-size:11px}.mini-grid .weekday{height:22px;color:#9aa39e;font-size:9px}.mini-grid .outside{color:#c5ccc7}.mini-grid .today:not(.selected){color:var(--green);box-shadow:inset 0 0 0 1px #8db7a5;font-weight:700}.mini-grid .selected{color:#fff;background:var(--green);font-weight:700}.side-heading,.eyebrow{margin:0 8px 10px;color:#8b9690;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.team-open{width:100%;min-height:41px;padding:7px 9px;display:flex;align-items:center;gap:9px;border:0;border-radius:6px;background:transparent;text-align:left;font-size:12px}.team-open:hover{background:#edf3ef}.team-open-mark{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;color:var(--green);background:var(--mint)}.team-count{margin-left:auto;color:var(--muted);font-size:10px}.sidebar-bottom{margin-top:auto}.hours{padding:12px;border:1px solid var(--line);border-radius:8px;background:#f5f8f5}.hours strong{font-size:11px}.hours p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.main-content{min-width:0;padding:0 28px 32px}.app-footer{margin-top:24px;color:var(--muted);font-size:12px;text-align:right}.topbar{height:73px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.crumb{color:var(--muted);font-size:12px}.crumb span{padding:0 5px}.crumb strong{color:var(--ink);font-weight:600}.top-actions{display:flex;align-items:center;gap:9px}.search{width:220px;height:36px;position:relative;display:flex;align-items:center;color:#88938d}.search svg{position:absolute;left:11px}.search input{width:100%;height:100%;padding:0 10px 0 34px;border:1px solid var(--line);border-radius:6px;outline:0;background:#fff;font-size:12px}.search input:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:#79a993;box-shadow:0 0 0 3px #286b5717}.user-avatar{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#f3d6cb;color:#855443;font-size:11px;font-weight:700}.page-heading{margin:25px 0 21px;display:flex;align-items:flex-end;justify-content:space-between;gap:18px}h1,.modal-head h2,.drawer-heading h2{margin:0;font:600 28px Playfair Display,serif}.page-heading p{margin:5px 0 0;color:var(--muted);font-size:12px}.primary-button,.save-button{min-height:38px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--green);border-radius:6px;color:#fff;background:var(--green);font-size:12px;font-weight:600}.primary-button:hover,.save-button:hover{background:var(--green-dark)}.primary-button:disabled,.save-button:disabled{opacity:.65;cursor:wait}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.stat{min-height:75px;padding:13px 15px;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:7px;background:#fff}.stat-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:7px;color:var(--green);background:var(--mint)}.stat:nth-child(2) .stat-icon{color:#aa634f;background:#faeee8}.stat:nth-child(3) .stat-icon{color:#59798a;background:#eaf2f4}.stat-value{display:block;font-size:19px;line-height:1}.stat-label{display:block;margin-top:5px;color:var(--muted);font-size:11px}.calendar-panel{overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff}.calendar-toolbar{min-height:60px;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.date-nav,.view-actions{display:flex;align-items:center;gap:5px}.date-nav strong{min-width:166px;padding-left:8px;font-size:14px}.outline-button,.cancel-button{min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:11px;font-weight:600}.outline-button:hover,.cancel-button:hover{background:#f6f8f6}.segmented{display:flex;padding:3px;border:1px solid var(--line);border-radius:6px}.segmented button{height:25px;padding:0 9px;border:0;border-radius:4px;color:var(--muted);background:transparent;font-size:10px}.segmented button.active{color:var(--green-dark);background:#eaf3ed;font-weight:700}.mobile-filter{display:none}.calendar-scroll{max-height:calc(100vh - 350px);min-height:430px;overflow:auto}.week-grid{min-width:840px;display:grid;grid-template-columns:54px repeat(7,minmax(105px,1fr))}.week-grid.day-mode{grid-template-columns:54px minmax(280px,1fr)}.time-spacer{height:55px;border-bottom:1px solid var(--line)}.day-head{height:55px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.day-name{color:var(--muted);font-size:10px;text-transform:uppercase}.day-number{width:26px;height:26px;margin-top:2px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:600}.day-head.today .day-number{color:#fff;background:var(--green)}.time-column{height:600px}.time-label{height:60px;padding-right:7px;position:relative;top:-7px;text-align:right;color:#8c9791;font-size:9px}.day-column{height:600px;position:relative;border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#edf0ed 59px,#edf0ed 60px)}.day-column.weekend{background-color:#fcfdfc}.day-column.drop-target{background-color:#edf7f0}.appointment{position:absolute;left:4px;right:4px;min-height:35px;overflow:hidden;padding:6px 6px 5px 8px;border:0;border-left:3px solid var(--green);border-radius:4px;color:#2a4f3d;background:#e7f3eb;text-align:left;cursor:grab;touch-action:none}.appointment:active{cursor:grabbing}.appointment.is-dragging{z-index:6;opacity:.55;box-shadow:0 8px 20px #19322338}.appointment:hover{filter:brightness(.97);box-shadow:0 2px 6px #1932231f;z-index:4}.appointment.tone-coral{color:#76483d;border-left-color:var(--coral);background:#f9e9e3}.appointment.tone-blue{color:#3e5f6d;border-left-color:#6ca3b8;background:#e7f1f4}.appointment strong,.appointment span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.appointment strong{font-size:10px;line-height:1.35}.appointment span{margin-top:2px;font-size:9px;opacity:.82}.appointment.compact span{display:none}.appointment.completed{padding-right:24px;filter:saturate(.65);cursor:pointer;touch-action:auto}.appointment .completion-indicator{position:absolute;top:4px;right:4px;width:15px;height:15px;margin:0;display:grid;place-items:center;color:var(--green);opacity:1}.appointment.compact .completion-indicator{display:grid}.empty-day{padding:12px 6px;color:var(--muted);font-size:10px}.loading-state{min-height:250px;display:grid;place-items:center;color:var(--muted)}.modal-backdrop,.drawer-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;border:0;background:#19251f6b}.modal{width:min(100%,490px);max-height:94vh;overflow:auto;padding:20px 22px 22px;border-radius:9px;background:#fff;box-shadow:var(--shadow);animation:arrive .18s ease-out}@keyframes arrive{0%{opacity:0;transform:translateY(7px) scale(.99)}to{opacity:1;transform:none}}.modal-head{margin:-20px -22px 18px;padding:18px 22px 14px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-head .eyebrow{margin:0 0 4px}.modal-head h2{font-size:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 12px}.field{min-width:0;display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600}.field.full{grid-column:1 / -1}.appointment-customer-picker{position:relative}.appointment-customer-field>label{font-size:11px;font-weight:600}.appointment-customer-search{display:flex;align-items:center;gap:9px;min-height:40px;padding:0 11px;border:1px solid #dce4de;border-radius:6px;background:#fff;color:#819087}.appointment-customer-search:focus-within{border-color:#7ca28a;box-shadow:0 0 0 3px #e9f1eb}.appointment-customer-picker .appointment-customer-search input{min-width:0;flex:1;min-height:40px;padding:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:12px;font-weight:400;box-shadow:none}.appointment-customer-search>svg{flex-shrink:0}.appointment-customer-search input::placeholder{color:#98a29b}.appointment-customer-selected{flex:0 0 auto;color:#4d8760}.appointment-customer-options{position:absolute;z-index:12;top:calc(100% - 1px);right:0;left:0;display:grid;max-height:245px;overflow-y:auto;padding:5px;border:1px solid #dce4de;border-radius:0 0 8px 8px;background:#fff;box-shadow:0 12px 24px #192d2021}.appointment-customer-options button{display:flex;align-items:center;gap:10px;width:100%;padding:9px;border:0;border-radius:5px;background:#fff;color:#577061;text-align:left;cursor:pointer}.appointment-customer-options button:hover,.appointment-customer-options button[aria-selected=true]{background:#f0f5ef}.appointment-customer-options button>span{display:grid;flex:1;gap:3px;min-width:0}.appointment-customer-options strong{overflow:hidden;color:#354a3c;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.appointment-customer-options small,.appointment-customer-hint{overflow:hidden;margin:0;color:#87938a;font-size:10px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.appointment-customer-options .appointment-add-customer{margin-top:4px;border-top:1px solid #edf0eb;border-radius:0 0 5px 5px;color:#357456}.appointment-customer-hint{padding:9px;white-space:normal}.appointment-customer-confirmation{display:inline-flex;align-items:center;gap:4px;color:#4b8059;font-size:10px;font-weight:500}.field input,.field select,.field textarea{width:100%;min-height:37px;padding:8px 10px;border:1px solid #dce4de;border-radius:5px;outline:0;background:#fff;color:var(--ink);font-size:12px;font-weight:400}.field textarea{min-height:66px;resize:vertical}.optional{color:#909a94;font-weight:400}.completion-control>span{display:inline-flex;align-items:center;gap:8px}.completion-control input{width:16px;min-height:16px;margin:0;accent-color:var(--green)}.form-error{color:#a34f42;font-size:12px}.modal-actions{margin-top:19px;display:flex;align-items:center;justify-content:space-between;gap:9px}.button-group{display:flex;gap:8px}.danger-button{min-height:35px;padding:0 10px;border:1px solid #efd4cf;border-radius:5px;color:#a34f42;background:#fff;font-size:11px}.save-button{min-height:35px;padding-inline:13px;font-size:11px}.toast{position:fixed;right:22px;bottom:22px;z-index:20;padding:11px 15px;border-radius:6px;color:#fff;background:#263a31;box-shadow:var(--shadow);font-size:12px;animation:arrive .2s ease-out}.drawer-backdrop{z-index:8;display:block;padding:0}.team-drawer{position:fixed;inset:0 auto 0 0;z-index:9;width:min(300px,88vw);padding:24px 17px;background:#fbfcfb;box-shadow:var(--shadow)}.drawer-heading{margin-bottom:24px}.drawer-heading .eyebrow{margin:0 0 4px}.drawer-heading h2{font-size:22px}.team-option{width:100%;min-height:43px;padding:7px;display:flex;align-items:center;gap:9px;border:0;border-radius:6px;background:transparent;text-align:left;font-size:12px}.team-option:hover,.team-option.active{background:#edf3ef}.avatar{width:27px;height:27px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#355344;background:#dbe9e1;font-size:10px;font-weight:700}.avatar.coral{color:#8d4c41;background:#f4dfd8}.avatar.blue{color:#416474;background:#dcebf0}.all-avatar{color:var(--green)}.team-name{flex:1}.check{width:16px;height:16px;display:grid;place-items:center;border:1px solid #c7d1ca;border-radius:4px;color:#fff}.team-option.active .check{border-color:var(--green);background:var(--green)}.staff-manager-backdrop{position:fixed;inset:0;z-index:11;padding:20px;display:grid;place-items:center;background:#19251f6b}.staff-manager{width:min(100%,590px);max-height:min(760px,92vh);overflow:auto;padding:20px 22px 22px;border-radius:9px;background:#fff;box-shadow:var(--shadow);animation:arrive .18s ease-out}.staff-manager-header{margin:-20px -22px 17px;padding:17px 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.staff-manager-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:7px;color:var(--green);background:var(--mint)}.staff-manager-title{flex:1}.staff-manager-title .eyebrow{display:block;margin:0 0 4px}.staff-manager-title h2{margin:0;font:600 21px Playfair Display,serif}.staff-list-heading,.staff-form-heading{margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.staff-list-heading>span{color:var(--muted);font-size:12px}.staff-list-heading .primary-button{min-height:33px;padding:0 10px}.customer-list-search{display:flex;align-items:center;gap:9px;margin:0 0 10px;padding:0 10px;min-height:38px;border:1px solid #dce4de;border-radius:6px;color:#829087;background:#fff}.customer-list-search:focus-within{border-color:#7ca28a;box-shadow:0 0 0 3px #e9f1eb}.customer-list-search input{flex:1;min-width:0;padding:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:11px}.customer-list-search input::placeholder{color:#98a29b}.staff-list{border-top:1px solid var(--line)}.staff-row{min-height:62px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line)}.staff-row.has-related{flex-wrap:wrap;padding:10px 0}.related-appointments-toggle{flex-basis:calc(100% - 46px);margin-left:46px;padding:3px 0;display:flex;align-items:center;justify-content:space-between;border:0;color:var(--green);background:transparent;text-align:left;font-size:10px;font-weight:600}.related-appointments-toggle:disabled{color:#98a29c;cursor:default}.related-appointments-list{flex-basis:calc(100% - 46px);margin-left:46px;border-top:1px solid var(--line)}.related-appointment{min-height:49px;padding:7px 0;display:grid;grid-template-columns:75px minmax(0,1fr);gap:10px;border-bottom:1px solid #edf1ed}.related-appointment:last-child{border-bottom:0}.related-appointment time,.related-appointment span{display:flex;flex-direction:column;justify-content:center;gap:2px;color:var(--muted);font-size:10px}.related-appointment time strong,.related-appointment span strong{color:var(--ink);font-size:10px;font-weight:600}.related-appointment span small{color:var(--muted);font-size:9px}.staff-avatar{width:35px;height:35px;font-size:11px}.avatar.yellow{color:#735f35;background:#fbf2d9}.staff-details{min-width:0;flex:1}.staff-details strong,.staff-details span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-details strong{font-size:12px}.staff-details span{margin-top:3px;color:var(--muted);font-size:10px}.staff-row-actions{display:flex}.staff-delete{color:#a34f42}.staff-delete:disabled{opacity:.5;cursor:not-allowed}.staff-empty{padding:22px 0;color:var(--muted);text-align:center;font-size:12px}.staff-list-error{margin-bottom:0}.staff-form{display:grid;gap:12px}.staff-form-heading{margin-bottom:0}.staff-form-heading h3{margin:0;font-size:14px}.text-button{padding:6px 0;border:0;color:var(--green);background:transparent;font-size:11px;font-weight:600}.staff-form-actions{display:flex;justify-content:flex-end;gap:8px}.treatment-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.treatment-icon{flex:0 0 auto}.customer-icon{flex:0 0 auto;color:#416474;background:#eaf2f4}.customer-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.appointment-modal{display:flex;flex-direction:column;width:min(100%,580px);padding:0;overflow:hidden;border-radius:14px}.appointment-modal .modal-head{flex-shrink:0;margin:0;padding:20px 22px}.appointment-form{display:flex;flex-direction:column;min-height:0;overflow:hidden}.appointment-form-body{display:grid;gap:20px;min-height:0;overflow:auto;padding:20px 22px}.appointment-section{display:grid;gap:12px;min-width:0}.appointment-section+.appointment-section{padding-top:18px;border-top:1px solid var(--line)}.appointment-section h3{margin:0;color:#53675a;font-size:12px;font-weight:600}.appointment-section .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.appointment-section .field{gap:7px}.appointment-section .field :is(input:not([type=checkbox]),select,textarea){min-height:42px;border-radius:7px}.appointment-section .field textarea{min-height:74px}.appointment-customer-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px}.appointment-customer-info .customer-wallet-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.appointment-field-hint{color:var(--muted);font-size:10px;font-weight:400;line-height:1.5}.appointment-actions{flex-shrink:0;margin-top:0;padding:16px 22px;border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;background:#fbfcfa}.appointment-actions .button-group{margin-left:auto}.appointment-actions :is(.save-button,.cancel-button,.danger-button){min-height:40px;white-space:nowrap}.staff-manager.customer-manager{display:flex;flex-direction:column;width:min(100%,650px);padding:0;overflow:hidden;border-radius:14px}.customer-manager .staff-manager-header{flex-shrink:0;margin:0;padding:20px 22px}.customer-manager-content{min-height:0;overflow:auto;padding:18px 22px 22px}.customer-list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:14px}.customer-list-toolbar .customer-list-search{margin:0;min-height:42px;border-radius:7px}.customer-list-toolbar .primary-button{min-height:42px}.customer-list-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--muted);font-size:11px}.customer-list .customer-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:8px 12px;padding:16px 0}.customer-row .staff-details span{white-space:normal;overflow-wrap:anywhere;line-height:1.5}.customer-row .staff-row-actions{gap:3px}.customer-row .staff-row-actions .icon-button{width:36px;height:36px;border:1px solid #e9eee9;border-radius:7px}.customer-row .related-appointments-toggle,.customer-row .related-appointments-list{grid-column:2 / -1;margin-left:0}.customer-row .related-appointments-toggle{padding:5px 0 0}.customer-manager .staff-form :is(input,textarea){min-height:42px;border-radius:7px}@media(max-width:480px){.appointment-modal{max-height:94dvh}.appointment-modal .modal-head,.appointment-form-body{padding:18px}.appointment-actions{padding:14px 18px}.customer-manager .staff-manager-header{padding:18px}.customer-manager-content{padding:16px 18px 18px}.appointment-section .form-grid{gap:14px 10px}.appointment-section .form-grid>.field:nth-child(-n+2){grid-column:1 / -1}.appointment-actions .button-group{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:0}.appointment-actions>.danger-button{order:1;width:100%}.customer-list-toolbar{grid-template-columns:1fr;gap:10px}.customer-list .customer-row{grid-template-columns:36px minmax(0,1fr)}.customer-row .staff-row-actions,.customer-row .related-appointments-toggle,.customer-row .related-appointments-list{grid-column:2}.customer-manager .customer-form-grid{grid-template-columns:1fr}}@media(max-width:1000px){.app-shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{padding-inline:12px}.main-content{padding-inline:20px}.search{width:175px}}@media(max-width:720px){.app-shell{display:block}.sidebar{display:none}.main-content{padding:0 13px 24px}.topbar{height:58px}.search{width:min(42vw,180px);height:33px}.page-heading{margin:20px 0 16px;align-items:center}h1{font-size:24px}.page-heading p{font-size:11px}.primary-button{min-height:35px;padding-inline:10px;font-size:11px}.stats{gap:7px;margin-bottom:13px}.stat{min-height:66px;padding:9px;gap:7px}.stat-icon{width:29px;height:29px}.stat-value{font-size:16px}.stat-label{font-size:9px;line-height:1.2}.calendar-toolbar{padding:9px}.date-nav{gap:1px}.date-nav strong{min-width:auto;padding-left:3px;font-size:11px}.outline-button{min-height:29px;padding-inline:7px;font-size:10px}.view-actions .segmented{display:none}.mobile-filter{display:inline-grid}.calendar-scroll{max-height:calc(100vh - 320px);min-height:400px}.week-grid{min-width:800px}.week-grid.day-mode{min-width:360px}.staff-manager-backdrop{padding:10px}.staff-manager{padding:16px;max-height:94vh}.staff-manager-header{margin:-16px -16px 14px;padding:14px 16px}}@media(max-width:390px){.main-content{padding-inline:9px}.top-actions{gap:6px}.search{width:130px}h1{font-size:22px}.primary-button{padding-inline:8px;gap:5px}.stat{padding:7px}.stat-icon{display:none}}.calendar-module{background:#f4f7f4}.calendar-module .sidebar{position:sticky;top:76px;height:calc(100dvh - 76px);overflow-y:auto;padding:24px 18px;gap:24px}.calendar-module .main-content{width:100%;max-width:var(--content-max);margin:0 auto;padding:0 clamp(20px,3vw,44px) 32px}.calendar-module .topbar{height:64px}.calendar-module .page-heading{margin:28px 0 20px}.calendar-module .page-heading h1{font-size:clamp(27px,3vw,34px);letter-spacing:-.35px}.calendar-module .page-heading .primary-button{min-height:42px;padding-inline:16px;border-radius:var(--radius-sm);box-shadow:0 6px 16px #286b571f}.calendar-module .search{width:min(260px,30vw);height:40px}.calendar-module .search input{border-radius:var(--radius-sm);background:var(--surface)}.calendar-module .stats{gap:14px;margin-bottom:18px}.calendar-module .stat{min-height:82px;padding:16px;border-radius:var(--radius);box-shadow:0 3px 12px #1c342a08}.calendar-module .stat-icon{width:40px;height:40px;border-radius:10px}.calendar-module .calendar-panel{border-radius:var(--radius);box-shadow:0 8px 28px #1c342a0d}.calendar-module .calendar-toolbar{min-height:64px;padding:11px 16px;background:#fcfdfc}.calendar-module .segmented{border-radius:var(--radius-sm);background:#f5f8f5}.calendar-module .calendar-scroll{max-height:calc(100dvh - 376px);min-height:440px}.calendar-module .salon-switch,.calendar-module .hours{border-radius:var(--radius)}.calendar-module .team-open{border-radius:var(--radius-sm)}.modal-backdrop,.drawer-backdrop,.staff-manager-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal,.staff-manager{border:1px solid rgb(229 235 230 / 90%)}.admin-login-shell{min-height:calc(100dvh - 76px);background:radial-gradient(circle at 50% 15%,#fff 0,#f4f7f4 52%)}.admin-login-panel{padding:34px;border-radius:var(--radius-lg);box-shadow:0 24px 70px #1c342a1f}.admin-login-panel h1{margin:6px 0 0;font-size:30px}.admin-login-copy{margin-block:10px 24px;line-height:1.6}.admin-login-form .field input,.admin-login-form .primary-button{min-height:44px;border-radius:var(--radius-sm)}@media(max-width:1000px){.calendar-module .main-content{padding-inline:22px}.calendar-module .sidebar{padding-inline:14px}}@media(max-width:720px){.calendar-module .main-content{padding:0 14px 24px}.calendar-module .topbar{height:auto;min-height:58px}.calendar-module .crumb{display:none}.calendar-module .top-actions,.calendar-module .search{width:100%}.calendar-module .page-heading{align-items:flex-start;margin:22px 0 16px}.calendar-module .page-heading .primary-button{flex-shrink:0;min-height:38px}.calendar-module .stats{grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:auto}.calendar-module .stat{min-width:0;min-height:76px;padding:11px}.calendar-module .stat-icon{display:none}.calendar-module .calendar-toolbar{min-height:58px;padding:10px}.calendar-module .calendar-scroll{max-height:calc(100dvh - 380px)}.admin-login-shell{min-height:calc(100dvh - 118px);padding:18px}.admin-login-panel{padding:26px 22px}}@media(max-width:430px){.calendar-module .page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.calendar-module .page-heading h1{font-size:25px}.calendar-module .page-heading .primary-button{width:40px;padding:0;font-size:0}.calendar-module .page-heading .primary-button svg{width:17px;height:17px}.calendar-module .stat{min-height:68px}.calendar-module .stat-value{font-size:15px}.calendar-module .stat-label{font-size:8px}}.module-header{min-height:76px;display:flex;align-items:center;gap:24px;padding:14px 32px;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px #1c342a05}.module-brand{display:inline-flex;align-items:center;flex:0 0 auto;gap:10px;color:var(--ink);text-decoration:none;font:600 21px Playfair Display,serif}.module-brand .brand-mark{width:32px;height:32px;border-radius:10px}.module-navigation{display:flex;align-items:center;gap:4px;margin:auto;padding:4px;border:1px solid var(--line);border-radius:12px;background:#f6f8f6}.module-navigation a{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:8px;color:#637269;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap}.module-navigation a:hover{color:var(--green);background:#edf3ef}.module-navigation a.active{color:var(--green-dark);background:#fff;box-shadow:0 1px 5px #1e3c2c17}.module-navigation a:focus-visible,.module-brand:focus-visible,.module-logout:focus-visible{outline:2px solid var(--green);outline-offset:3px}.module-logout{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#637269;font-size:12px}.module-logout:disabled{opacity:.6;cursor:wait}.module-content{min-width:0;min-height:calc(100dvh - 76px)}.module-content>.admin-login-shell,.module-content>.auth-loading{min-height:calc(100dvh - 76px)}.module-state{min-height:calc(100dvh - 76px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px 20px;text-align:center}.module-state h1{max-width:600px;margin:0;font-size:28px}.module-state p{max-width:540px;margin:0;color:var(--muted);line-height:1.65}.module-state .primary-button{text-decoration:none}.module-state-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.module-session-error{display:flex;align-items:center;justify-content:center;gap:18px;margin:0;padding:12px 24px;background:#fff0eb;color:#954a35}.module-session-error button{border:0;background:transparent;color:inherit;text-decoration:underline}.calendar-module{min-height:calc(100dvh - 76px)}.calendar-sidebar-title{display:flex;align-items:center;gap:10px;padding:0 8px;color:var(--green-dark);font-size:14px}.calendar-mobile-management{display:none}.customer-wallet-link{color:var(--green);text-decoration:none}@media(max-width:760px){.module-header{min-height:118px;display:grid;grid-template-columns:1fr auto;gap:12px;padding:12px 16px}.module-brand{font-size:19px}.module-navigation{grid-column:1 / -1;grid-row:2;width:100%;margin:0;overflow:hidden}.module-navigation a{flex:1 1 0;padding-inline:9px;font-size:11px}.module-logout{grid-column:2;grid-row:1;min-height:32px}.module-content>.admin-login-shell,.module-content>.auth-loading,.module-state,.calendar-module{min-height:calc(100dvh - 118px)}.module-state h1{font-size:24px}}@media(max-width:720px){.calendar-mobile-management{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px}.calendar-mobile-management button{display:inline-flex;align-items:center;gap:7px}}@media(max-width:390px){.module-header{padding-inline:12px}.module-navigation a{gap:6px;font-size:10px}.module-navigation svg{width:15px}}
