:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#1f1a1d;--muted:#5f5560;--line:#dfe3ec;--purple:#6b3a52;--purple-dark:#552c41;--lavender:#fbeff2;--surface:#fff;--background:#eef2f8;--lilac-tint:#fdf3f5;--lilac-rule:#ecc9d4;--editable-lilac:#e9dcf6;--editable-ink:#3b2463;--heading-mauve:#a0637a;--closed-grey:#f2f1f4;--closed-ink:#6f6875;--arrived-mint:#eaf6ee;--arrived-ink:#2d6b45;--complete-green:#2f7d4f;--in-service-sky:#e7f0fb;--in-service-blue:#2f6fb5;--waiting-honey:#fff4df;--waiting-ink:#7a5520;--danger-brick:#a33d32;--danger-rule:#e3b4ae;--now-red:#c9352b;--placeholder:#8a7880;--aura:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 .07'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"), linear-gradient(180deg in oklab, #6f9fcc 0%, #9db4d8 48%, #e6a8b8 100%)}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html{touch-action:manipulation}.drag-scrolling,.drag-scrolling *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}*{scrollbar-width:none}::-webkit-scrollbar{display:none}.column-body,.calendar-scroll,.schedule-side,.day-board-columns{overscroll-behavior:contain}body{background:var(--aura) fixed;color:var(--ink);font-family:var(--font-inter),Arial,Helvetica,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,input[type=date]{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.app-shell{min-height:calc(100vh / var(--ui-zoom,1))}.topbar{background:#fff;justify-content:space-between;align-items:center;gap:16px;height:76px;padding:0 20px;display:flex;position:relative}.brand{letter-spacing:-.24px;color:#1f1a1d;align-items:center;gap:8px;font-size:24px;font-weight:800;display:flex}.topbar:after{content:"";pointer-events:none;background:linear-gradient(90deg,#c79d72,#b98d63);height:3px;position:absolute;bottom:0;left:0;right:0}.product-tag{color:var(--muted);letter-spacing:1.3px;background:#e9eef7;border:1px solid #cfd8e8;border-radius:5px;margin-left:8px;padding:5px 7px;font-size:12px;font-weight:800}.app-shell .product-tag{margin:2px 0 0}.brand-mark{color:#fff;background:radial-gradient(circle at 35% 30%,#e9cf9a,#b8925a 60%,#94713f);border-radius:50%;place-items:center;width:34px;height:34px;margin-right:3px;font-size:24px;display:grid}.brand-light{color:var(--purple)}.topbar-right{color:#666471;align-items:center;gap:10px;font-size:12px;display:flex}.live-dot{background:#74af87;border-radius:50%;width:7px;height:7px}.topbar-divider{border-left:1px solid #d8d6dc;height:15px;margin:0 9px}.main-content{max-width:1220px;margin:auto;padding:29px 24px 70px}.warning-banner{color:#745c30;background:#fff9ed;border:1px solid #f1dfbc;border-radius:11px;align-items:center;gap:12px;padding:12px 16px;font-size:14px;line-height:1.5;display:flex}.warning-icon{color:#76541c;background:#f3dcab;border-radius:50%;flex:none;place-items:center;width:21px;height:21px;font-weight:700;display:grid}.page-heading{justify-content:space-between;align-items:end;gap:25px;margin:43px 0 29px;display:flex}.eyebrow{color:var(--heading-mauve);letter-spacing:2.2px;margin:0 0 11px;font-size:12px;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-1.5px;margin-bottom:10px;font-size:34px;line-height:1.15}.subheading{color:var(--muted);margin:0;font-size:14px}.date-control{background:#fff;border:1px solid #e6e3eb;border-radius:9px;align-items:center;height:42px;display:flex;box-shadow:0 2px 8px #27203506}.date-control button{color:#78717e;background:0 0;border:0;width:36px;height:100%;font-size:24px}.date-control button:hover{color:var(--purple);background:var(--lavender)}.date-control input{color:#4b4556;background:0 0;border:0;outline:none;width:148px;height:100%;padding:0 5px;font-weight:600}.stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;min-height:126px;padding:21px 23px;display:flex;box-shadow:0 3px 12px #32243e04}.stat-card>span{color:#777480;font-size:12px;font-weight:600}.stat-card strong{letter-spacing:-1px;margin:9px 0 3px;font-size:32px;line-height:1}.stat-card small{color:var(--muted);font-size:13px}.workspace-grid{flex-direction:column;gap:20px;display:flex}.panel{border:1px solid var(--line);background:#fff;border-radius:13px;min-height:460px;box-shadow:0 3px 14px #32243e05}.form-panel{min-height:0;padding:27px 28px 30px}.form-panel .segmented{max-width:410px;margin:22px 0}.form-panel form{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:15px;display:grid}.form-panel form label{margin:0}.form-panel .walkin-note,.form-panel .conflict-box{grid-column:1/-1;margin:0}.form-panel .duration-line{align-items:center;min-height:42px;padding:0}.schedule-panel{padding:27px 29px}.panel-head{justify-content:space-between;align-items:start;gap:10px;display:flex}.panel-head .eyebrow{margin-bottom:9px}.schedule-heading{color:var(--heading-mauve);letter-spacing:2.2px;text-transform:uppercase;margin-bottom:9px;font-size:12px;font-weight:800}.schedule-date-row{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.schedule-date-label{color:#393440;font-size:17px;font-weight:700;line-height:1.35}h2{letter-spacing:-.6px;margin-bottom:0;font-size:22px;line-height:1.25}.panel-symbol{color:#aa90bf;font-size:22px;font-weight:300}.count-pill{color:#6b4a80;white-space:nowrap;background:#f6f2f8;border-radius:30px;padding:7px 11px;font-size:13px;font-weight:700}.segmented{gap:8px;margin:25px 0 24px;display:flex}.segmented button{background:var(--surface);min-height:44px;color:var(--ink);cursor:pointer;border:1.5px solid #a3899a;border-radius:8px;flex:1;padding:0 10px;font-size:15px;font-weight:700;transition:background-color .12s,border-color .12s,transform 80ms;box-shadow:0 1px 2px #3b24431a}.segmented button:not(:disabled):hover{border-color:var(--purple)}.segmented button:not(:disabled):active{transform:scale(.97)}.segmented button.active{background:var(--purple);border-color:var(--purple);color:#fff;box-shadow:0 2px 6px #6b3a5240}.segmented button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}form label{color:#47434c;margin:0 0 18px;font-size:14px;font-weight:700;display:block}form input,form select{color:#393440;background:#fff;border:1px solid #e4e1e8;border-radius:7px;outline:none;width:100%;height:44px;margin-top:8px;padding:0 12px;font-size:16px;font-weight:400}form input:focus,form select:focus,.date-control:focus-within{border-color:#9d7ab6;box-shadow:0 0 0 3px #a982c42b}form input::placeholder,form textarea::placeholder{color:var(--placeholder)}form textarea{color:#393440;resize:vertical;background:#fff;border:1px solid #e4e1e8;border-radius:7px;width:100%;min-height:78px;margin-top:8px;padding:11px 12px;font-size:16px;font-weight:400}form textarea:focus{border-color:#9d7ab6;outline:none;box-shadow:0 0 0 3px #a982c42b}.form-panel form .note-field{grid-column:1/-1}.identity-row{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-width:680px;display:grid}.identity-row label{min-width:0;margin:0}.history-panel{min-height:0;margin-top:20px;padding:27px 29px}.history-search{align-items:end;gap:12px;max-width:550px;margin-top:18px;display:flex}.history-search label{flex:1;margin:0}.history-search .primary-button{flex:none;width:120px}.history-message{color:var(--muted);margin:16px 0 0}.history-item{border-top:1px solid var(--line);padding:13px 0;line-height:1.5}.history-item p{color:#625b69;white-space:pre-wrap;margin:4px 0 0}.appointment-note{white-space:pre-wrap;background:#f7f4fa;border-radius:8px;padding:10px}.service-builder{background:#fcfafe;border:1px solid #e8e2ee;border-radius:10px;grid-column:1/-1;padding:14px}.service-builder-head,.service-entry-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.service-builder-head{margin-bottom:13px}.service-builder-head strong{font-size:15px}.service-builder-head button,.service-entry-title button{min-height:44px;color:var(--purple);background:#fff;border:1px solid #ded3ea;border-radius:8px;padding:0 14px;font-size:15px;font-weight:700}.service-entry-title{color:#67517b;margin-bottom:8px;font-size:14px}.service-entry-title>div{gap:4px;display:flex}.appointment-time{min-width:0;position:relative}.same-time-switch{align-items:center;gap:10px;min-height:44px;font-size:15px;display:flex}.same-time-switch input{width:22px;height:22px;accent-color:var(--purple);margin:0}.service-builder+.service-builder{margin-top:10px}.same-time-mini{min-height:40px;color:var(--muted);align-items:center;gap:6px;padding:0 4px;font-size:13px;font-weight:700;display:inline-flex}.same-time-mini input{width:20px;height:20px;accent-color:var(--purple);margin:0}.service-builder-foot:not(:empty){margin-top:8px}.service-hint,.service-summary{color:#6b6572;margin:8px 0 0;font-size:14px;line-height:1.4}.service-preview{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.service-preview span{color:#5b4473;background:#f2edf8;border-radius:20px;padding:6px 10px;font-size:13px}.group-detail{border:1px solid #ece4f3;border-radius:8px;margin:12px 0;padding:10px}.group-detail>strong{color:#594778;margin-bottom:7px;font-size:14px;display:block}.appointment-dialog .group-detail p{margin:4px 0;font-size:14px}@media (max-width:600px){.identity-row{grid-template-columns:1fr}}.walkin-note{color:#6b4f80;background:#f7f4fa;border-radius:8px;margin-bottom:18px;padding:13px;font-size:14px;line-height:1.5}.walkin-note span{margin-right:7px;font-size:17px}.duration-line{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:18px 0;font-size:14px;display:flex}.duration-line strong{color:#4a4054}.primary-button{background:var(--purple);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;width:100%;height:45px;font-size:15px;font-weight:700;display:flex;box-shadow:0 4px 10px #5944902e}.primary-button:hover{background:var(--purple-dark)}.primary-button span{font-size:16px}.conflict-box{color:#805a25;background:#fff7eb;border:1px solid #f1dbb5;border-radius:8px;margin:0 0 15px;padding:13px;font-size:14px}.conflict-box p{margin:7px 0 10px;line-height:1.5}.conflict-box button{color:#72471c;background:#fff;border:1px solid #d9ad72;border-radius:8px;min-height:44px;padding:0 14px;font-size:15px;font-weight:700}.toast{max-width:min(450px,calc(calc(100vw / var(--ui-zoom,1)) - 48px));color:#fff;z-index:10;background:#302840;border-radius:9px;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;font-size:15px;line-height:1.4;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #251c3550}.toast-error{background:#8a443d}.toast button{color:#fff;background:0 0;border:0;min-width:44px;min-height:44px;font-size:22px}.calendar-scroll{border:1px solid #e8e4ed;border-radius:10px;max-height:870px;overflow:auto}.calendar-board{background:#fff;width:100%;display:grid}.calendar-corner,.technician-header{z-index:4;background:#faf8fc;border-bottom:1px solid #e8e4ed;align-items:center;gap:9px;height:66px;padding:9px;display:flex;position:sticky;top:0}.calendar-corner{z-index:6;color:var(--closed-ink);letter-spacing:1px;justify-content:center;font-size:12px;font-weight:800;left:0}.technician-header{border-left:1px solid #e8e4ed;min-width:0}.technician-header strong{font-size:12px;line-height:1.25}.technician-avatar{color:#634b86;background:#eae0f4;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.technician-dot{border-radius:50%;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #0000001f}.calendar-time-axis{z-index:3;background:#fff;border-right:1px solid #e8e4ed;position:sticky;left:0}.calendar-tick{width:100%;color:var(--closed-ink);padding:4px 7px;font-size:13px;font-weight:700;position:absolute;left:0}.calendar-tick:last-of-type{display:none}.calendar-lane{background:repeating-linear-gradient(#eae6ed 0 1px,#0000 1px 30px);border-left:1px solid #eeeaf0;transition:background-color .15s;position:relative}.calendar-lane.drop-target{background-color:#f2ebfa;box-shadow:inset 0 0 0 2px #aa80cc}.calendar-booking{z-index:1;color:#3c3150;text-align:left;cursor:pointer;background:#f4effa;border:1px solid #b8a7d5;border-left:3px solid #8063a8;border-radius:6px;flex-direction:column;align-items:start;gap:2px;padding:5px 7px;line-height:1.15;display:flex;position:absolute;overflow:hidden}.calendar-booking[draggable=true]{cursor:grab}.calendar-booking:active{cursor:grabbing}.calendar-booking:hover,.calendar-booking:focus-visible{z-index:3;outline:2px solid #9e7ebc;box-shadow:0 3px 12px #4b2c6840}.calendar-booking.dragging{opacity:.45}.calendar-booking strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.booking-clock{color:#6e5a84;white-space:nowrap;font-size:10px;font-weight:700}.booking-service{font-size:10px}.booking-status{color:#6b4a80;font-size:10px}.status-card-arrived{background:var(--arrived-mint);color:#294938;border-color:#9bc5a7 #9bc5a7 #9bc5a7 #55a474}.status-card-waiting{background:var(--waiting-honey);color:#604624;border-color:#e7bd82 #e7bd82 #e7bd82 #c8944e}.status-card-completed,.status-card-canceled,.status-card-no_show{background:var(--closed-grey);color:#706b75;border-color:#d5d1d9 #d5d1d9 #d5d1d9 #a49ba9}.calendar-empty{color:var(--muted);text-align:center;padding:14px;font-size:14px}.detail-backdrop{z-index:20;background:#241a3480;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.appointment-dialog{background:#fff;border-radius:13px;width:min(460px,100%);padding:26px;position:relative;box-shadow:0 20px 60px #231a3460}.appointment-dialog h3{letter-spacing:-.6px;margin:0 0 14px;padding-right:40px;font-size:22px}.appointment-dialog.edit-dialog{width:min(760px,100%);max-height:calc(calc(100vh / var(--ui-zoom,1)) - 36px);overflow:auto}.appointment-dialog.edit-dialog.settings{width:min(1200px,100%);height:calc(calc(100vh / var(--ui-zoom,1)) - 36px);flex-direction:column;display:flex;overflow:hidden}.settings-body{flex:1;grid-template-columns:200px 1fr;gap:18px;min-height:0;display:grid}.settings-nav{border-right:1px solid var(--line);flex-direction:column;gap:8px;padding-right:18px;display:flex}.settings-nav button{min-height:48px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:8px;padding:0 14px;font-size:16px;font-weight:700}.settings-nav button.active{background:var(--purple);color:#fff}.settings-pane{min-height:0;padding-right:4px;overflow:auto}.settings-pane>.start-edit:first-child{margin-top:0}.detail-service-picker{color:#5c4c70;margin-bottom:12px;font-size:14px;font-weight:700;display:block}.detail-service-picker select,.edit-service-fields select{background:#fff;border:1px solid #ddd5e7;border-radius:6px;width:100%;height:44px;margin-top:5px;padding:0 10px;font-size:15px;display:block}.group-detail button{text-align:left;color:#625b69;background:0 0;border:0;border-radius:6px;width:100%;min-height:40px;padding:6px 8px;font-size:14px;display:block}.group-row{border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.group-row>button{overflow-wrap:anywhere;min-width:0}.group-row .service-chip{vertical-align:1px;border-radius:4px;margin-right:6px;padding:0 6px;font-size:12px;line-height:20px}.tech-cell{align-items:center;gap:6px;display:flex}.tech-cell>select,.tech-cell>b{width:150px;min-height:40px}.tech-cell>select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:0 8px;font-size:14px;font-weight:800}.tech-cell>b{color:var(--ink);align-items:center;padding:0 9px;display:flex}.group-detail .row-star{color:#c9c1cf;background:#fff;border:1px solid #d9cfc2;border-radius:8px;width:40px;min-height:40px;padding:0;font-size:20px;line-height:1}.group-detail .row-star.on{color:#d39a12;background:#fff6dc;border-color:#e0b23c}.group-detail .row-star:disabled{opacity:.45}.appointment-dialog.visit-detail{width:min(600px,100%)}.visit-detail .group-row>button,.visit-detail .tech-cell>select{font-size:16px}.visit-detail .tech-cell>select,.visit-detail .tech-cell>b{width:170px;min-height:44px}.visit-detail .group-detail .row-star{min-height:44px}.group-detail-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;display:flex}.group-detail .group-detail-head>strong{color:#594778;margin:0;font-size:14px}.group-row.droppable{grid-template-columns:32px minmax(0,1fr) auto;gap:4px 8px}.group-detail .group-row>.row-remove{color:#81788b;text-align:center;background:#fff;border:1px solid #d9cfc2;border-radius:50%;width:32px;min-height:32px;padding:0;font-size:16px;font-weight:800}.group-detail button:hover,.group-row.current-service{color:var(--purple);background:#f2edf8}.group-row.current-service>button{color:var(--purple)}.tech-pick-backdrop{z-index:60;background:#2a1f3a73;place-items:center;padding:24px;animation:.18s cubic-bezier(.16,1,.3,1) tech-pick-fade;display:grid;position:fixed;inset:0}.tech-pick{width:min(760px,100%);max-height:calc(calc(100vh / var(--ui-zoom,1)) - 48px);color:var(--ink);background:#fff;border-radius:16px;padding:22px 24px 24px;animation:.22s cubic-bezier(.16,1,.3,1) tech-pick-rise;overflow:auto;box-shadow:0 24px 60px #2a1f3a40,0 4px 14px #2a1f3a1f}.tech-pick-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.tech-pick-head h3{letter-spacing:-.4px;margin:0;font-size:22px;font-weight:700;line-height:1.2}.tech-pick-head p{color:var(--muted);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:15px}.tech-pick-request{border:1px solid var(--lilac-rule);min-height:44px;color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:0 14px;font-size:15px;font-weight:700;display:flex}.tech-pick-request:has(input:checked){border-color:var(--purple);background:var(--lilac-tint);color:var(--purple)}.tech-pick-request input{width:22px;height:22px;accent-color:var(--purple);margin:0}.tech-pick-close{background:var(--lilac-tint);width:44px;height:44px;color:var(--purple);cursor:pointer;border:0;border-radius:50%;flex:0 0 44px;font-size:26px;line-height:1}.tech-pick-close:hover{background:#e9dcf6}.tech-pick-close:focus-visible,.tech-tile:focus-visible{outline-offset:2px;outline:2px solid #a982c4}.tech-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.tech-tile{border:1px solid var(--line);min-height:68px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;font-size:17px;font-weight:800;transition:transform .12s cubic-bezier(.16,1,.3,1),box-shadow .12s,border-color .12s;display:flex;position:relative;box-shadow:0 1px 2px #2a1f3a14}.tech-tile:hover{border-color:var(--lilac-rule);box-shadow:0 4px 12px #2a1f3a1f}.tech-tile:active{transform:scale(.98)}.tech-tile:disabled{cursor:progress;opacity:.6}.tech-tile.chosen{border-color:var(--purple);background:var(--lilac-tint);box-shadow:0 0 0 2px var(--purple) inset}.tech-tile.chosen:after{content:"✓";color:var(--purple);font-size:16px;position:absolute;top:8px;right:12px}.tech-tile.off{color:#6f6875;background:#faf9fb}.tech-tile.off .tech-tile-dot{opacity:.55}.tech-tile-name{text-overflow:ellipsis;white-space:nowrap;gap:2px;min-width:0;display:grid;overflow:hidden}.tech-tile-name small{color:var(--muted);font-size:13px;font-weight:600}.tech-tile-dot{letter-spacing:.5px;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;font-size:15px;font-weight:800;display:inline-grid;box-shadow:inset 0 0 0 1px #2a1f3a14}.tech-pick-error{color:var(--danger-brick);margin:16px 0 0;font-size:15px;font-weight:700}@keyframes tech-pick-fade{0%{opacity:0}}@keyframes tech-pick-rise{0%{opacity:0;transform:translateY(8px)scale(.985)}}@media (prefers-reduced-motion:reduce){.tech-pick-backdrop,.tech-pick{animation:none}}@media (max-width:640px){.tech-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.edit-services>p{font-size:14px}.edit-service-row{border:1px solid #e9e2f0;border-radius:8px;margin:10px 0;padding:11px}.edit-service-row .service-entry-title button,.add-edit-service{min-height:44px;color:var(--purple);background:#fff;border:1px solid #ded3ea;border-radius:8px;padding:0 14px;font-size:15px;font-weight:700}.edit-service-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.edit-service-fields label{color:#5d5366;min-width:0;font-size:13px;font-weight:700}.add-edit-service{margin:5px 0 14px}.edit-preview{background:#f7f4fa;border-radius:7px;margin:10px 0;padding:10px}.appointment-dialog .edit-preview p{margin:3px 0;font-size:13px}.appointment-dialog .edit-error{background:#fff4e8;border-radius:6px;padding:9px;color:#914b35!important}.edit-error button{color:#804622;background:#fff;border:1px solid #c78f65;border-radius:8px;min-height:44px;margin-top:7px;padding:0 14px;font-size:15px;font-weight:700;display:block}@media (max-width:600px){.edit-service-fields{grid-template-columns:1fr 1fr}}.appointment-dialog p:not(.eyebrow){color:#625b69;margin:0 0 10px;line-height:1.5}.dialog-close{width:44px;height:44px;color:var(--closed-ink);background:0 0;border:0;border-radius:8px;place-items:center;font-size:28px;display:grid;position:absolute;top:6px;right:8px}.dialog-close:hover{background:var(--lilac-tint)}.dialog-actions{flex-wrap:wrap;align-items:end;gap:10px;margin-top:22px;display:flex}.dialog-actions label{color:#6c6373;flex:1;min-width:150px;font-size:13px;font-weight:700}.dialog-actions select{background:#fff;border:1px solid #ddd5e7;border-radius:6px;width:100%;height:44px;margin-top:5px;padding:0 10px;font-size:15px;display:block}.dialog-actions button,.confirm-actions button,.confirm-primary{border:1px solid var(--lilac-rule);background:var(--lilac-tint);min-height:44px;color:var(--purple);border-radius:8px;padding:0 16px;font-size:15px;font-weight:700}.confirm-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.confirm-actions .confirm-primary,.confirm-primary{color:#fff;background:var(--purple);border-color:var(--purple)}@media (max-width:900px){.topbar{padding:0 24px}.panel{min-height:0}.form-panel form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.topbar{height:64px;padding:0 16px}.topbar-right{display:none}.main-content{padding:18px 14px 50px}.page-heading{flex-direction:column;align-items:start;margin:29px 0 20px}h1{font-size:29px}.stats{gap:8px}.stat-card{min-height:105px;padding:14px}.stat-card strong{font-size:26px}.stat-card small{display:none}.form-panel,.schedule-panel{padding:20px 18px}.form-panel form{grid-template-columns:1fr}.schedule-panel .panel-head{flex-wrap:wrap}}.topbar-actions{align-items:center;gap:14px;display:flex}.topbar-button{border:1px solid var(--purple);background:var(--purple);color:#fff;white-space:nowrap;border-radius:8px;min-height:44px;padding:0 12px;font-size:13px;font-weight:700}@media (max-width:1180px){.topbar{padding:0 16px}.topbar-actions{gap:6px}.view-tabs button{padding:0 12px}.topbar-button{padding:0 10px}}.topbar-button:hover{background:var(--purple-dark)}.manager-backdrop{place-items:stretch stretch;padding:24px}.service-manager{width:min(1240px,100%);max-height:calc(calc(100vh / var(--ui-zoom,1)) - 48px);background:#fff;border-radius:14px;flex-direction:column;margin:auto;display:flex;overflow:hidden;box-shadow:0 20px 60px #231a3460}.manager-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.manager-head h2{letter-spacing:-.6px;margin:0;font-size:22px}.manager-head .eyebrow{margin-bottom:6px}.manager-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.manager-tools>button:not(.manager-close){border:1px solid var(--lilac-rule);background:var(--lilac-tint);min-height:44px;color:var(--purple);border-radius:8px;padding:0 16px;font-size:15px;font-weight:700}.manager-check,.editor-check{color:#47434c;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:700;display:flex!important}.manager-check input,.editor-check input{accent-color:var(--purple);width:22px!important;height:22px!important;margin:0!important}.manager-close{width:44px;height:44px;color:var(--closed-ink);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;font-size:28px;line-height:1;display:grid}.manager-close:hover{background:var(--lilac-tint)}.manager-body{flex:1;grid-template-columns:minmax(0,1fr) 380px;min-height:0;display:grid}.manager-lists{background:var(--background);padding:18px 22px 24px;overflow:auto}.manager-label{letter-spacing:1.4px;text-transform:uppercase;color:var(--closed-ink);margin:6px 0 10px;font-size:12px;font-weight:800}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;margin-bottom:20px;display:grid}.addon-divider,.pay-tile-box .addon-divider{letter-spacing:1px;text-transform:uppercase;color:var(--muted);grid-column:1/-1;align-items:center;gap:10px;margin:2px 0 10px;font-size:13px;font-weight:800;display:flex}button.addon-divider{cursor:pointer;background:0 0;border:0;width:100%;min-height:40px;padding:0}button.addon-divider[aria-pressed=true]{color:var(--purple)}.addon-divider:before,.addon-divider:after{content:"";opacity:.5;border-top:1px solid;flex:1}.catalog-tile{text-align:center;border:2px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:92px;padding:22px 8px 10px;display:flex;position:relative;box-shadow:0 2px 6px #2a1f3a14}.catalog-tile strong{overflow-wrap:anywhere;font-size:14px;line-height:1.2}.catalog-tile small{opacity:.8;font-size:12px;font-weight:700}.category-tile{min-height:74px;padding-top:10px}.catalog-tile.selected{border-color:#2d2438;box-shadow:0 0 0 3px #5a449040}.catalog-tile.stopped{opacity:.5;background-image:repeating-linear-gradient(135deg,#0000 0 8px,#fff6 8px 16px)!important}.tile-meta{opacity:.75;justify-content:space-between;font-size:12px;font-weight:700;display:flex;position:absolute;top:6px;left:8px;right:8px}.tile-price{font-size:16px;font-weight:800}.add-tile{background:var(--lilac-tint);color:var(--purple);box-shadow:none;border:1.5px dashed #c9b6dc;font-size:34px;font-weight:300}.add-tile:hover{background:#efe6f7}.manager-empty{color:var(--muted);font-size:15px;line-height:1.5}.service-picker{height:calc(calc(100vh / var(--ui-zoom,1)) - 48px);grid-template-columns:300px minmax(0,1fr);display:grid;position:relative}.service-picker .manager-lists{padding-top:56px}.picker-close{min-width:44px;min-height:44px;position:absolute;top:10px;right:14px}.picker-chosen{border-right:1px solid var(--line);background:#fff;flex-direction:column;gap:10px;padding:16px;display:flex;overflow:auto}.picker-confirm{color:#fff;background:#23833f;border:0;border-radius:10px;justify-content:space-between;align-items:center;min-height:60px;padding:0 18px;font-size:20px;font-weight:800;display:flex}.picker-confirm:disabled{background:#b9c9bd}.picker-chosen .board-error{flex:none}.picker-guest{color:var(--muted);margin:0;font-size:15px;font-weight:700}.picker-group{border-bottom:1px solid var(--line);padding-bottom:6px}.picker-group-head,.picker-line{align-items:center;gap:8px;display:flex}.picker-group-head strong{flex:1;font-size:17px}.picker-group-head .picker-group-name{min-height:44px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;padding:0 8px;font-size:17px;font-weight:800;transition:transform .12s ease-out,background-color .2s ease-out}.picker-group-head .picker-group-name:active,.catalog-tile:active{transform:scale(.96)}.picker-group-head.picked .picker-group-name{box-shadow:inset 4px 0 0 var(--purple);background:#f6e4ec}.catalog-tile{transition:transform .12s ease-out}@media (prefers-reduced-motion:reduce){.picker-group-head .picker-group-name,.catalog-tile{transition:none}.picker-group-head .picker-group-name:active,.catalog-tile:active{transform:none}}.picker-line span:first-child{flex:1;font-size:14px}.picker-line span:nth-child(2){font-weight:800}.picker-group-head button,.picker-line button{color:#81788b;background:0 0;border:0;min-width:44px;min-height:44px;font-size:22px}.picker-reason{color:#47434c;gap:6px;font-size:13px;font-weight:700;display:grid}.picker-reason input{border:1px solid #e4e1e8;border-radius:7px;height:44px;padding:0 10px;font-size:15px}.picker-line small{color:var(--muted);font-size:13px}.walkin-lines{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.walkin-lines li{background:#fff;border:1px solid #ece8f0;border-radius:9px;grid-template-columns:minmax(0,1fr) auto auto minmax(0,140px) 44px;align-items:center;gap:12px;min-height:44px;padding:0 0 0 12px;font-size:15px;display:grid}.walkin-lines li span:first-child{font-weight:700}.walkin-lines li select{min-height:40px}.walkin-lines li button{color:#81788b;background:0 0;border:0;min-height:44px;font-size:22px}.walkin-lines .walkin-empty{color:var(--closed-ink);border-style:dashed;padding:12px;display:block}.form-chips{row-gap:14px;margin:4px 0 10px;padding-top:8px}.form-chips .chip{min-width:44px;min-height:44px;color:var(--ink);background:#fff;border:1px solid #d9cfc2;border-radius:8px;padding:0 12px;font-size:15px;position:relative}.form-chips .chip.selected{color:#fff;background:#1f5f9e;border-color:#1f5f9e}.form-chips .chip-tech{white-space:nowrap;color:#3a3340;background:#fff;border-radius:4px;padding:0 4px;font-size:11px;font-style:normal;font-weight:700;line-height:16px;position:absolute;top:-9px;left:6px}.form-chips .chip-add{background:var(--lilac-tint);color:var(--purple);border:1.5px dashed #c9b6dc;padding:0;font-size:20px;font-weight:800}.form-chips .chip-pick{align-items:center;display:inline-flex}.form-chips .chip-pick select{opacity:0;cursor:pointer;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.form-chips .chip-pick:focus-within{border-color:#1f5f9e;box-shadow:0 0 0 2px #1f5f9e33}.form-chips .chip-pick .chip-tech{left:20px}.form-chips .chip-remove{z-index:1;color:#81788b;background:#fff;border:1px solid #d9cfc2;border-radius:50%;place-items:center;width:22px;height:22px;padding:0;font-size:14px;font-weight:800;line-height:1;display:grid;position:absolute;top:-11px;left:-11px}.form-chips .chip-remove:before{content:"";position:absolute;inset:-9px}.manager-editor{border-left:1px solid var(--line);background:#fff;padding:18px 20px 22px;overflow:auto}.manager-editor form label{margin-bottom:12px}.manager-editor form input[type=color]{cursor:pointer;padding:3px}.editor-top{grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-bottom:14px;display:grid}.editor-order{flex-direction:column;gap:6px;display:flex}.editor-order button{border:1px solid var(--lilac-rule);background:var(--lilac-tint);min-width:70px;min-height:44px;color:var(--purple);border-radius:8px;font-size:14px;font-weight:800}.preview-tile{cursor:default;min-height:100px}.editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;column-gap:12px;display:grid}.editor-grid .span-2{grid-column:1/-1}.swatch-field{color:#393440;grid-column:1/-1;gap:6px;margin-top:8px;font-size:14px;font-weight:700;display:grid}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{cursor:pointer;border:1px solid #d5d0db;border-radius:50%;width:40px;height:40px;position:relative}.swatch[aria-checked=true],.swatch-custom.checked{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--purple)}.swatch-custom{background:conic-gradient(#e53935,#fbc02d,#43a047,#1e88e5,#8e24aa,#e53935)}.swatch-custom input{opacity:0;cursor:pointer;border:0;border-radius:50%;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.editor-grid .editor-check{min-height:42px}.editor-hint{color:var(--muted);margin:4px 0 12px;font-size:13px;line-height:1.5}.editor-stopped{background:var(--closed-grey);color:#625b69;border-radius:6px;margin:0 0 12px;padding:8px 10px;font-size:14px}.editor-error{color:#914b35;background:#fff4e8;border-radius:6px;margin:0 0 12px;padding:9px 10px;font-size:14px}.editor-notice{background:var(--arrived-mint);color:#294938;border-radius:6px;margin:0 0 12px;padding:9px 10px;font-size:14px}.editor-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.editor-actions button{background:var(--closed-grey);color:#3d3844;border:1px solid #d5d1d9;border-radius:8px;min-height:44px;font-size:14px;font-weight:800}.editor-actions .dup-button{background:var(--complete-green);border-color:var(--complete-green);color:#fff}.editor-actions .update-button{color:#2b1d05;background:#d99a2b;border-color:#d99a2b}.editor-actions .stop-button{color:#fff;background:#c9453c;border-color:#c9453c}.editor-actions .restore-button{background:var(--purple);border-color:var(--purple);color:#fff}.service-chip{vertical-align:1px;border-radius:3px;min-width:10px;min-height:10px;margin-right:4px;padding:0 4px;font-size:9px;font-weight:800;line-height:14px;display:inline-block;box-shadow:inset 0 0 0 1px #0000001a}@media (max-width:1000px){.manager-body{grid-template-columns:1fr;overflow:auto}.manager-lists,.manager-editor{overflow:visible}.manager-editor{border-left:0;border-top:1px solid var(--line)}}@media (max-width:600px){.manager-backdrop{padding:0}.service-manager{max-height:calc(100vh / var(--ui-zoom,1));border-radius:0}.manager-head,.manager-lists,.manager-editor{padding-left:16px;padding-right:16px}.tile-grid,.editor-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-button{padding:0 10px}}.now-line{z-index:2;border-top:2px solid var(--now-red);pointer-events:none;height:0;position:absolute;left:0;right:0}.now-label{z-index:2;background:var(--now-red);color:#fff;pointer-events:none;border-radius:3px;padding:1px 4px;font-size:11px;font-weight:800;line-height:1.2;position:absolute;left:2px;transform:translateY(-50%)}.start-edit{background:#faf8fc;border:1px solid #e4dcef;border-radius:8px;margin:0 0 12px;padding:12px}.start-edit-fields{grid-template-columns:130px 1fr;gap:10px;display:grid}.start-edit label{margin:0;font-size:13px}.start-edit input{height:44px;margin-top:5px}.appointment-dialog .start-edit-hint{margin:8px 0 0;font-size:13px}.start-edit .confirm-actions{margin-top:10px}.receipt-actions{flex-wrap:wrap}.receipt-actions button{white-space:nowrap}.start-history{color:#625b69;margin:0 0 10px;font-size:14px}.start-history summary{cursor:pointer;align-items:center;min-height:40px;font-weight:700;display:flex}.appointment-dialog .start-history p{margin:4px 0;font-size:14px}@media (max-width:600px){.start-edit-fields{grid-template-columns:1fr}}fieldset.edit-service-fields{border:0;min-width:0;margin:0;padding:0}fieldset.edit-service-fields:disabled{opacity:.6}.status-actions{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.status-actions button{border:1px solid var(--lilac-rule);background:var(--lilac-tint);min-height:44px;color:var(--purple);border-radius:8px;padding:0 16px;font-size:15px;font-weight:700}.status-actions .status-start{background:var(--in-service-blue);border-color:var(--in-service-blue);color:#fff}.status-actions .status-complete{background:var(--complete-green);border-color:var(--complete-green);color:#fff}.status-actions .status-danger{border-color:var(--danger-rule);color:var(--danger-brick);background:#fff}.status-card-in_service{background:var(--in-service-sky);border-color:#9dbde3;border-left-color:var(--in-service-blue);color:#1d3d63}.status-card-completed .booking-status:before{content:"✓ "}.customer-results{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:6px 0 16px;display:grid}.customer-results button{text-align:left;background:#fff;border:1px solid #e4dcef;border-radius:8px;flex-direction:column;align-items:start;gap:3px;min-height:56px;padding:10px 12px;font-size:15px;display:flex}.customer-results button.selected{border-color:var(--purple);box-shadow:0 0 0 2px #5a449030}.customer-results span{color:var(--muted);font-size:13px}.customer-edit{background:#faf8fc;border:1px solid #ece8f0;border-radius:9px;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;margin:6px 0 10px;padding:14px;display:grid}.customer-edit .customer-note{grid-column:1/-1}.customer-edit small{color:#8a6a3f;margin-top:6px;font-weight:400;display:block}.customer-edit .primary-button{width:auto;padding:0 22px}.customer-edit .history-message{grid-column:1/-1}.customer-error{color:#914b35}@media (max-width:600px){.customer-edit{grid-template-columns:1fr}}.technician-body{padding:18px 22px 22px;overflow:auto}.technician-list{margin:0 0 14px;padding:0;list-style:none}.technician-list li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.technician-list li.stopped{opacity:.55}.technician-list strong{flex:1;min-width:0}.technician-actions{flex-wrap:wrap;gap:6px;display:flex}.technician-actions button{border:1px solid var(--lilac-rule);background:var(--lilac-tint);min-width:34px;min-height:34px;color:var(--purple);border-radius:8px;padding:0 12px;font-size:14px;font-weight:700}.technician-actions .status-danger,.confirm-actions .status-danger,.dialog-actions .status-danger{border-color:var(--danger-rule);color:var(--danger-brick);background:#fff}.dialog-actions .confirm-primary{color:#fff;background:var(--purple);border-color:var(--purple);min-width:96px;margin-left:auto}.technician-add{width:auto;margin-bottom:12px;padding:0 18px}.technician-form{grid-template-columns:1fr 120px;align-items:end;gap:10px;display:grid}.technician-form .confirm-actions{grid-column:1/-1}.technician-form input[type=color]{padding:3px}.editor-error ul,.editor-notice ul{margin:6px 0;padding-left:18px}.booking-note{text-overflow:ellipsis;white-space:nowrap;color:#6b5520;background:#fff6dc;border-radius:3px;max-width:100%;padding:1px 4px;font-size:11px;font-weight:700;overflow:hidden}.note-box{width:100%;font:inherit;text-align:left;cursor:pointer;border:1px dashed #cdbfe0;justify-content:space-between;align-items:start;gap:10px;display:flex}.note-box:hover,.note-box:focus-visible{border-color:var(--purple);background:#f2ecf9}.note-box em{color:var(--muted)}.note-edit-hint{color:var(--purple);flex:none;font-size:14px;font-weight:800}.note-editor textarea{min-height:70px}.click-edit{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:0 4px;font-weight:800;display:inline}.click-edit:focus-visible{outline-offset:1px;outline:2px solid #a982c4}.status-badge{color:#5a4490;vertical-align:3px;background:#f4effa;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:13px;font-weight:800;display:inline-block}.status-badge-arrived{background:var(--arrived-mint);color:var(--arrived-ink)}.status-badge-waiting{background:var(--waiting-honey);color:var(--waiting-ink)}.status-badge-in_service{background:var(--in-service-sky);color:#1d4f86}.status-badge-completed{color:#246b3e;background:#e3f3e8}.status-badge-canceled,.status-badge-no_show{background:var(--closed-grey);color:var(--closed-ink)}.segmented.pick-mode{margin:0 0 10px}.request-note{color:var(--muted);font-size:14px}.click-edit-label{font-weight:800}.appointment-dialog .visit-line{color:var(--ink);font-size:15px}.appointment-dialog .visit-line .click-edit-label{font-size:16px}.hen-line{flex-wrap:wrap;align-items:flex-end;gap:12px;margin:0 0 12px;display:flex}.hen-label{padding:0 4px 14px;font-size:16px;font-weight:800}.hen-line .edit-error{flex-basis:100%;margin:0}.hen-fields{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hen-clock{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;height:52px;padding:0 8px;display:inline-flex}.hen-clock select{appearance:none;min-height:48px;color:var(--ink);text-align:center;text-align-last:center;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:24px;font-weight:800}.hen-colon{padding:0 2px 3px;font-size:24px;font-weight:800}.hen-ampm{border:1px solid var(--line);background:#fff;border-radius:999px;gap:2px;margin:0;padding:3px;display:inline-flex}.hen-ampm button{min-width:52px;min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:0 12px;font-size:15px;font-weight:800}.hen-ampm button.active{color:var(--purple);background:#ecdde6}.click-edit{vertical-align:middle;align-items:center;min-height:40px;padding:0 4px;display:inline-flex}.click-edit.client-name{min-height:44px;padding:0 4px;font-size:20px}.dialog-customer{background:#faf8fc;border:1px solid #e4dcef;border-radius:8px;margin:0 0 14px;padding:12px}.dialog-customer-close{border:1px solid var(--lilac-rule);min-height:44px;color:var(--purple);background:#fff;border-radius:8px;margin-top:8px;padding:0 14px;font-size:15px;font-weight:700}.tap-rows{gap:6px;margin:4px 0 12px;display:grid}.tap-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tap-row-label{color:#6c6373;min-width:120px;font-size:14px;font-weight:700}.tap-row .click-edit{white-space:pre-wrap;text-align:left}.tap-row em{color:var(--muted);font-weight:400}.service-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.technician-rename{flex:1;align-items:center;gap:6px;display:flex}.technician-rename input{border:1px solid #e4e1e8;border-radius:7px;flex:1;height:44px;padding:0 10px;font-size:16px}.technician-rename button{border:1px solid var(--lilac-rule);background:var(--lilac-tint);min-height:44px;color:var(--purple);border-radius:8px;padding:0 14px;font-size:15px;font-weight:700}.technician-rename .confirm-primary{background:var(--purple);color:#fff;border-color:var(--purple)}.color-tap{cursor:pointer;width:44px;height:44px;position:relative}.color-tap input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.technician-actions button{min-width:44px;min-height:44px}.booking-note{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.auth-screen{min-height:calc(100vh / var(--ui-zoom,1));place-items:center;padding:24px 16px;display:grid}.auth-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:16px;flex-direction:column;align-items:center;gap:14px;width:min(460px,100%);padding:28px 24px;display:flex;box-shadow:0 10px 30px #32243e14}.auth-card h1{margin:6px 0 0;font-size:26px}.auth-sub{color:var(--muted);margin:0;font-size:13px}.auth-message{color:#745c30;background:#fff9ed;border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.auth-error{color:var(--danger-brick);margin:0;font-size:13px;font-weight:700}.auth-link{min-height:44px;color:var(--purple);background:0 0;border:0;font-size:13px;font-weight:700;text-decoration:underline}.auth-name{text-align:left;color:#47434c;width:100%;font-size:14px;font-weight:700}.auth-name input{border:1px solid #e4e1e8;border-radius:8px;width:100%;height:48px;margin-top:6px;padding:0 12px;font-size:16px}.staff-tiles{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;width:100%;display:grid}.staff-tiles button{background:#faf8fc;border:1px solid #e4dcef;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:72px;font-size:16px;display:flex}.staff-tiles button span{color:var(--muted);font-size:13px}.staff-tiles button.selected{border-color:var(--purple);box-shadow:0 0 0 3px #5a449030}.staff-tiles.compact button{min-height:56px}.appointment-dialog.approve-dialog.shift-board{width:min(760px,100%)}.staff-tiles button.on-shift{background:#eef8f0;border-color:#9fcfab}.staff-tiles button.leaving{border-color:var(--danger-rule);background:#fdf0ee}.pin-pad{flex-direction:column;align-items:center;gap:14px;display:flex}.pin-dots{gap:12px;min-height:18px;display:flex}.pin-dots span{border:2px solid #b8a7d5;border-radius:50%;width:16px;height:16px}.pin-dots span.filled{background:var(--purple);border-color:var(--purple)}.pin-keys{grid-template-columns:repeat(3,72px);gap:10px;display:grid}.pin-keys button{height:64px;color:var(--ink);background:#fff;border:1px solid #e4dcef;border-radius:14px;font-size:24px;font-weight:700}.pin-keys button:active{background:#efe6f7}.pin-keys .pin-ok{background:var(--purple);border-color:var(--purple);color:#fff;font-size:16px}.number-pad{z-index:35;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2a1f3599;border:1px solid #ffffff40;border-radius:14px;grid-template-columns:repeat(3,72px);gap:8px;padding:10px;display:grid;position:fixed;box-shadow:0 14px 34px #251c3566}.number-pad button{height:60px;color:var(--ink);background:#ffffffe6;border:0;border-radius:10px;padding:0;font-size:26px;font-weight:700}.number-pad button:active{background:#efe6f7}.number-pad .number-pad-done{background:var(--purple);color:#fff;border:1px solid #fff6;font-size:17px}.number-pad.decimal .number-pad-done,.number-pad.words .number-pad-done{grid-column:1/-1}.text-pad{flex-direction:column;gap:8px;display:flex}.text-pad>div{justify-content:center;gap:6px;display:flex}.text-pad button{width:58px;height:56px;font-size:22px}.text-pad .text-pad-wide{width:88px;font-size:18px}.text-pad .text-pad-space{width:300px;font-size:15px}.text-pad .number-pad-done{width:88px}.number-pad button.active{background:#efe6f7}@media print{.number-pad{display:none}}.approve-backdrop{z-index:40}.approve-dialog{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.approve-dialog h1{letter-spacing:-.6px;margin:0;font-size:22px}.approve-dialog .confirm-actions button{min-height:44px;padding:0 16px;font-size:15px}.user-chip{color:#5a4490;white-space:nowrap;background:#f4effa;border-radius:999px;align-items:center;gap:4px;min-height:36px;padding:0 12px;font-size:14px;display:inline-flex}.topbar-actions{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.workspace-grid.technician-only{grid-template-columns:1fr}.click-edit:disabled,.note-box:disabled{opacity:1;cursor:default;box-shadow:none;background:0 0}.note-box:disabled .note-edit-hint{display:none}.account-meta{color:var(--muted);margin-top:2px;font-size:13px;font-weight:400;display:block}.account-pin,.account-create{width:100%;margin-top:8px}.account-create{gap:10px;display:grid}.account-create select{border:1px solid #e4e1e8;border-radius:7px;width:100%;height:42px;margin-top:6px;padding:0 10px}.technician-list li{flex-wrap:wrap}@media (max-width:600px){.topbar{flex-wrap:wrap;gap:8px;height:auto;min-height:64px;padding:10px 16px}.topbar-right{display:none}}.station-chip{background:var(--arrived-mint);color:var(--arrived-ink);font-weight:700}.unlocked-chip{background:var(--editable-lilac);color:var(--editable-ink)}.station-button{background:var(--complete-green);border-color:var(--complete-green);color:#fff}.customer-close{border:1px solid var(--lilac-rule);min-height:42px;color:var(--purple);background:#fff;border-radius:8px;padding:0 14px;font-weight:700}.station-off{margin:10px 0}.checkout h4{color:var(--purple-dark);margin:18px 0 8px;font-size:15px}.appointment-dialog .checkout-note{background:var(--lilac-tint);color:var(--editable-ink);border-radius:6px;padding:9px 11px;font-size:14px}.checkout-fields{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.checkout-fields label{color:#6c6373;flex-direction:column;gap:4px;font-size:13px;font-weight:700;display:flex}.checkout-fields input,.checkout-tips input{border:1px solid #ddd5e7;border-radius:6px;width:110px;height:42px;padding:0 10px;font-size:15px}.checkout-fields .checkout-reason{flex:1;min-width:200px}.checkout-fields .checkout-reason input{width:100%}.checkout-discount{gap:6px;display:flex}.checkout-discount input{width:80px}.checkout .segmented{margin:0}.checkout-discount .segmented button{flex:none;width:44px;height:44px;font-size:15px}.checkout-staff button{flex:none;min-width:60px;height:44px;padding:0 12px;font-size:15px}.checkout-quick button.active{background:var(--purple);border-color:var(--purple);color:#fff}.checkout-quick button:disabled{opacity:.45}.checkout-discount-panel{border:1px solid var(--lilac-rule);background:#fbf9fd;border-radius:8px;gap:10px;margin:10px 0;padding:12px 14px;display:grid}.checkout-discount-panel h5{color:var(--purple);margin:0;font-size:14px}.checkout .tip-method{margin:10px 0}.checkout .tip-method button{height:42px}.checkout-quick{gap:8px;display:flex}.checkout-quick button,.pay-payment>button{border:1px solid var(--lilac-rule);background:var(--lilac-tint);min-width:56px;min-height:42px;color:var(--purple);border-radius:6px;font-weight:700}.checkout-change{color:var(--arrived-ink);align-self:center;font-weight:700}.checkout-tips{border-collapse:collapse;width:100%;font-size:15px}.checkout-tips th,.checkout-tips td{text-align:left;border-bottom:1px solid var(--line);padding:5px 6px}.checkout-tips input{width:90px}.checkout-off{color:var(--danger-brick);font-weight:800}.pay-backdrop{background:var(--aura);padding:0;overflow:hidden}.appointment-dialog.pay-dialog{width:1920px;max-width:none;height:1080px;max-height:none;box-shadow:none;background:0 0;border-radius:0;padding:16px 24px;overflow:hidden}.pay-dialog .pay-with{border-radius:14px;flex-flow:column;flex:none;align-items:stretch;width:160px;margin:0;overflow-y:auto}.pay-dialog .pay-with button{white-space:normal;overflow-wrap:anywhere;min-height:52px}.pay-layout{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.pay-layout.with-techs{grid-template-columns:minmax(0,1fr) 150px}.pay-layout.with-tiles{grid-template-columns:minmax(0,1fr) 760px 150px}.pay-layout .pay-techs{grid-area:1/-2/-1}.pay-layout .pay-bar{grid-column:1/-1}.pay-layout.with-techs .pay-bar{grid-column:1/-2}.appointment-dialog.pay-dialog{gap:14px;display:flex}.pay-dialog>.pay-layout{flex:1;min-width:0;min-height:0}.pay-bill{flex-direction:column;gap:8px;min-height:0;display:flex}.pay-bill>*{flex:none}.pay-bill .pay-tech header .pay-tech-name{min-height:40px}.pay-bill .pay-line,.pay-bill .pay-pick-area{min-height:44px}.pay-bill .pay-totals dt,.pay-bill .pay-totals dd{padding-block:5px}.pay-bill .pay-totals{align-items:stretch}.pay-bill .pay-totals dt,.pay-bill .pay-totals dd{align-items:center;display:flex}.pay-bill .pay-totals dd{justify-content:flex-end}.appointment-dialog .pay-bill .pay-tech p.pay-category{margin-top:2px;font-size:17px}.pay-bill .pay-heading{font-size:24px;font-weight:700}.pay-bill .pay-tech header .pay-tech-name{font-size:20px;font-weight:700}.appointment-dialog .pay-bill .pay-tech p.pay-category{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-size:13px;font-weight:700}.pay-bill .pay-line>span,.appointment-dialog .pay-bill .pay-service{font-size:20px;font-weight:500}.pay-bill .pay-price{font-size:20px;font-weight:600}.pay-bill .pay-totals{border-top:2px solid var(--line);padding-top:4px;font-size:18px}.pay-bill .pay-totals dd{font-weight:600}.pay-bill .pay-totals .pay-grand{font-size:24px;font-weight:700}.pay-bill .pay-totals dd.pay-grand{font-size:28px;font-weight:800}.pay-bill .pay-totals .pay-left{font-size:20px;font-weight:700}.pay-bill .pay-totals dd.pay-left{font-size:24px}.pay-bill .pay-tip-row{flex-direction:row;align-items:center;gap:14px}.pay-bill-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.pay-bill-head .pay-quote-button{min-height:44px;color:var(--muted);white-space:nowrap;background:#fff;border:1px solid #d9cbbd;border-radius:10px;align-items:center;gap:6px;margin-left:auto;padding:0 14px;font-size:16px;font-weight:700;display:flex}.pay-bill .checkout-note{margin:0;padding:6px 12px;font-size:14px}.pay-bill>.pay-cards{overscroll-behavior:contain;flex:auto;align-content:start;gap:6px;min-width:0;min-height:0;display:grid;overflow-y:auto}.pay-tiles{flex-direction:column;gap:12px;min-height:0;display:flex}.pay-tile-box.categories{flex-wrap:wrap;display:flex}.pay-tile-box.categories p{flex-basis:100%}.pay-tile-box.categories button{min-height:56px;padding:6px 18px}.pay-tile-box{--tile-cols:5;grid-template-columns:repeat(var(--tile-cols), minmax(0,1fr));background:#ffffff40;border:1px solid #ffffff73;border-radius:14px;align-content:start;gap:10px;padding:12px;display:grid}.pay-tile-box.services{--tile-cols:5;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.pay-tile-box p{color:var(--ink);grid-column:1/-1;margin:0;font-size:18px}.pay-tile-box p b{color:var(--purple);font-weight:800}.pay-tiles button{color:#4a2b38;text-align:center;text-transform:uppercase;background:#ead9cf;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:80px;padding:6px;font-size:17px;font-weight:800;transition:transform .12s ease-out,box-shadow .2s ease-out;display:flex}.pay-tiles button:active{transform:scale(.94)}.pay-tiles .categories button.on{box-shadow:0 0 0 3px var(--purple)}.pay-tiles .services button{text-transform:none;min-height:88px;font-size:16px}.pay-tiles button small{opacity:.8;text-transform:none;font-size:13px;font-weight:700}@media (prefers-reduced-motion:reduce){.pay-tiles button{transition:none}.pay-tiles button:active{transform:none}}.pay-bill{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px 22px}.pay-tile-box button:disabled{opacity:.45}.pay-heading{color:var(--purple);margin:0 0 6px;font-size:26px;font-weight:800}.pay-totals{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;align-items:center;margin:0;font-size:19px;display:grid}.pay-totals dt,.pay-totals dd{color:var(--ink);border-bottom:1px dotted #d9cbbd;margin:0;padding-block:8px}.pay-totals dd{text-align:right;padding-left:16px;font-weight:700}.pay-tip-row{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.pay-tip-row small{color:var(--muted);margin-left:8px;font-size:15px;font-weight:600}.pay-totals dd .pay-tip-amount{min-height:44px;font-size:inherit;font-variant-numeric:tabular-nums;padding:0 8px;font-weight:700}.pay-totals .pay-grand{font-size:22px;font-weight:800}.pay-totals dd.pay-grand{font-size:28px}.pay-payments{border-bottom:1px dotted #d9cbbd;gap:8px;padding:8px 0;display:grid}.pay-payment{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.pay-other-apps{flex-basis:100%;order:9;padding-left:94px}.pay-payment>strong{align-items:center;gap:6px;width:84px;font-size:17px;display:flex}.pay-payment .pay-icon{width:28px;height:28px}.pay-payment[data-kind]{background:var(--kind-tint);box-shadow:inset 4px 0 0 var(--kind);border-radius:8px;margin:-2px -10px;padding:2px 10px}.pay-payment label{color:#6c6373;flex-direction:column;gap:2px;font-size:14px;font-weight:700;display:flex}.pay-payment input{border:1px solid #ddd5e7;border-radius:6px;width:120px;height:48px;padding:0 10px;font-size:18px}.pay-payment>strong,.pay-payment>button,.pay-payment .checkout-change{margin-bottom:12px}.pay-payment .checkout-change{font-size:17px}.pay-payment>button{min-width:48px;margin-left:auto}.pay-totals .pay-left{color:var(--danger-brick);font-size:26px;font-weight:800}.pay-totals dd.pay-left{font-size:34px}.pay-totals .pay-left.done{color:var(--ink)}.appointment-dialog .pay-bill button.pay-note{color:#6c6373;width:100%;min-height:56px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px dotted #d9cbbd;border-radius:0;align-items:flex-start;gap:6px;margin:0;padding:10px 0 4px;font-size:17px;font-weight:700;display:flex}.pay-note .click-edit{white-space:pre-wrap;text-align:left}.pay-note em{color:var(--muted);font-weight:400}.pay-payment>.pay-paid{font-variant-numeric:tabular-nums;margin:0 0 12px auto;font-size:20px;font-weight:800}.pay-rebill-reason{color:#6c6373;border-top:1px dotted #d9cbbd;flex-direction:column;gap:4px;padding-top:4px;font-size:17px;font-weight:700;display:flex}.pay-rebill-reason input{border:1px solid #ddd5e7;border-radius:6px;height:48px;padding:0 10px;font-size:18px}.pay-line-edit textarea{width:100%;font:inherit;resize:none;border:1px solid #ddd5e7;border-radius:6px;padding:8px 10px;font-size:18px}.pay-icon{flex:none;width:48px;height:48px}.pay-line-icon{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:24px;height:24px}[data-kind=card]{--kind:#2f6fdf;--kind-tint:#edf3fd;--kind-rule:#c6d8f5;--kind-ink:#1d4ea6}[data-kind=cash]{--kind:#2e9e5b;--kind-tint:#eaf6ef;--kind-rule:#bfe2cc;--kind-ink:#1d6a3d}[data-kind=discount]{--kind:#f08c00;--kind-tint:#fff3e3;--kind-rule:#f3d2a4;--kind-ink:#8a4a00}[data-kind=other]{--kind:#7b3fe4;--kind-tint:#f4edfd;--kind-rule:#dccbf6;--kind-ink:#5422ad}[data-kind=gift]{--kind:#d6336c;--kind-tint:#fdecf2;--kind-rule:#f5c2d4;--kind-ink:#a01d4f}[data-kind=reward]{--kind:#c98a00;--kind-tint:#fff8e1;--kind-rule:#f0dc9f;--kind-ink:#7a5300}[data-kind=split]{--kind:#0e9f8e;--kind-tint:#e6f6f3;--kind-rule:#b8e3db;--kind-ink:#0b675d}.appointment-dialog.pay-gift-menu{width:560px;max-width:calc(100vw - 32px)}.pay-gift-menu h3{align-items:center;gap:10px;margin:0 0 16px;display:flex}.pay-gift-menu h3 .pay-icon{width:34px;height:34px}.pay-gift-choices{grid-template-columns:1fr 1fr;gap:14px;display:grid}.pay-gift-choices button{border:2px solid var(--kind-rule);background:var(--kind-tint);min-height:120px;color:var(--kind-ink);box-shadow:inset 6px 0 0 var(--kind);border-radius:16px;gap:6px;padding:16px;font-size:22px;font-weight:800;display:grid}.pay-gift-choices small{font-size:13px;font-weight:600}.appointment-dialog.gift-dialog{width:min(640px,100%)}.gift-title{align-items:center;gap:10px;margin:0 0 14px;display:flex}.gift-title .pay-icon{width:34px;height:34px}.gift-title small{color:var(--purple);margin:0 40px 0 auto;font-size:17px;font-weight:800}.gift-find,.gift-sale{flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0 0 12px;display:flex}.gift-find label,.gift-sale label{flex:1;gap:4px;min-width:160px;margin:0;font-size:13px;font-weight:700;display:grid}.gift-find input,.gift-sale input{min-height:44px;font-size:18px}.gift-find button,.gift-sale>button{min-height:44px;padding:0 18px}.gift-find button[aria-pressed]{border:1px solid var(--lilac-rule);background:var(--lilac-tint);color:var(--purple);border-radius:8px;font-size:15px;font-weight:700}.gift-find button[aria-pressed=true]{background:var(--purple);border-color:var(--purple);color:#fff}.gift-sale .segmented{margin:0}.gift-card-row{grid-template-columns:230px 1fr;gap:14px;margin:4px 0 14px;display:grid}.appointment-dialog p.gift-plastic{background:linear-gradient(135deg,var(--purple),#c45a86);color:#fff;border-radius:14px;flex-direction:column;justify-content:space-between;min-height:136px;margin:0;padding:16px;display:flex;box-shadow:0 6px 16px #6b3a5240}.gift-plastic small{letter-spacing:.06em;font-size:13px;font-weight:800}.gift-plastic b{font-size:34px;font-weight:800}.gift-balance{font-size:15px;font-weight:700;display:grid}.gift-plastic.new{background:linear-gradient(135deg,#8a7f8f,#b3a8b6)}.gift-plastic.new span{font-size:17px;font-weight:800}.gift-pay{grid-template-columns:repeat(3,1fr);align-content:start;gap:10px;display:grid}.gift-amount{grid-column:1/-1;align-items:center;gap:8px;font-size:15px;font-weight:800;display:flex}.gift-amount input{border:0;border-bottom:2px solid var(--ink);min-width:0;min-height:40px;box-shadow:none;background:0 0;border-radius:0;outline:0;flex:1;padding:0 4px;font-size:22px;font-weight:800}.gift-amount input:focus{border-bottom-color:var(--purple)}.gift-other-apps{grid-column:1/-1;margin:0;display:flex}.gift-other-apps button{flex:1;min-height:44px}.gift-pay>button.gift-take{color:#fff;background:linear-gradient(#2f8f55,#24744a);border:0;grid-column:1/-1;align-content:center}.gift-take .pay-line-icon{stroke-width:6px;width:44px;height:44px}.gift-pay>button.active{outline:3px solid var(--kind-ink);outline-offset:-3px}.gift-pay>button{border:2px solid var(--kind-rule);background:var(--kind-tint);min-height:96px;color:var(--kind-ink);cursor:pointer;border-radius:14px;justify-items:center;gap:6px;padding:12px 8px;font-size:17px;font-weight:800;display:grid}.gift-pay>button .pay-icon{width:38px;height:38px}.gift-moves{gap:4px;max-height:300px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.gift-moves li>button{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);text-align:left;background:#fff;border-radius:8px;grid-template-columns:128px 1fr auto 90px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:grid}.gift-moves li>button:disabled{opacity:1;cursor:default}.gift-moves li>button.active{box-shadow:0 0 0 3px var(--purple)}.gift-moves b{text-align:right}.gift-moves .gift-sale{margin:8px 0 4px}.segmented button[data-kind],.pay-pairs button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.segmented button[data-kind]{border-color:var(--kind-rule);background:var(--kind-tint);color:var(--kind-ink);box-shadow:inset 4px 0 0 var(--kind)}.segmented button[data-kind].active{border-color:var(--purple);background:var(--kind-tint);color:var(--kind-ink);box-shadow:inset 4px 0 0 var(--kind), 0 0 0 3px var(--purple)}.pay-pairs button.active{border-color:var(--purple);background:var(--surface);color:var(--ink);box-shadow:0 0 0 3px var(--purple)}.segmented .pay-icon{width:26px;height:26px}.pay-pairs{flex-wrap:wrap;flex-basis:100%}.pay-pairs button{flex:1 0 calc(33.3333% - 5.33333px)}.pay-tech{background:#fff;border-radius:10px;padding:4px 10px 6px}.pay-tech header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding-bottom:6px;display:grid}.pay-tech header .pay-tech-name{min-height:48px;color:var(--ink);border-radius:8px;grid-column:2;padding:0 12px;font-size:24px;font-weight:800}.pay-tech header .pay-tech-name:disabled{cursor:default}.pay-tech header span{color:var(--muted);grid-column:3;justify-self:end;font-size:16px;font-weight:700}.pay-tech-name.picked{background:var(--lavender);box-shadow:inset 0 0 0 2px var(--purple)}.appointment-dialog .pay-tech p.pay-category{color:var(--ink);margin:8px 0 0;font-size:17px;font-weight:900}.pay-line{border-bottom:1px dotted var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:52px;display:flex}.pay-line:last-child{border-bottom:0}.pay-line>span{flex-direction:column;font-size:18px;display:flex}.pay-line small{color:var(--muted);font-size:14px}.pay-service{min-height:48px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.pay-pick-area{cursor:pointer;justify-content:center;align-self:stretch;min-height:52px}.pay-pick-area .pay-service{min-height:0}.pay-line{transition:transform .12s ease-out,background-color .2s ease-out}.pay-line:has(.pay-pick-area):active{transform:scale(.985)}.pay-line.ticked{box-shadow:inset 4px 0 0 var(--purple);background:#f6e4ec;border-radius:8px;margin-inline:-8px;padding-inline:8px}@media (prefers-reduced-motion:reduce){.pay-line{transition:none}.pay-line:has(.pay-pick-area):active{transform:none}}.pay-tech.just-given{animation:1.2s ease-out pay-flash}@keyframes pay-flash{0%{background:#d9efd2}to{background:#fff}}.pay-tech-count{background:var(--lavender);color:var(--purple);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:800}.pay-techs button.on .pay-tech-count{background:#fff}@media (prefers-reduced-motion:reduce){.pay-tech.just-given{animation:none}}.pay-tech header{cursor:pointer}.pay-price{font-variant-numeric:tabular-nums;min-height:48px;font-size:19px}.pay-remove{border:1px solid var(--danger-rule);min-width:48px;min-height:48px;color:var(--danger-brick);background:#fff;border-radius:8px;font-weight:800}.pay-line>.pay-remove{min-width:40px;min-height:44px;color:var(--muted);background:0 0;border:0;margin-right:2px;font-size:18px;font-weight:400}.pay-line>span{flex:1}.pay-line>span.pay-price{flex:none;justify-content:center}.pay-tech{transition:transform .12s ease-out,background-color .2s ease-out,box-shadow .2s ease-out;position:relative}.pay-tech:active{transform:scale(.985)}.pay-tech.adding{box-shadow:inset 5px 0 0 var(--purple);background:#fdf3f6}@media (prefers-reduced-motion:reduce){.pay-tech{transition:none}.pay-tech:active{transform:none}}.pay-tech header{padding-right:40px}.pay-card-remove{width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:8px;font-size:18px;position:absolute;top:6px;right:6px}.pay-card-remove:hover{background:var(--lilac-tint);color:var(--danger-brick)}.pay-line-edit{border-bottom:1px dotted var(--line);flex-wrap:wrap;align-items:end;gap:10px;padding:10px 0;display:flex}.pay-line-edit>span{flex-direction:column;flex-basis:100%;font-size:18px;font-weight:700;display:flex}.pay-line-edit small{color:var(--muted);font-weight:400}.pay-line-edit label{color:#6c6373;flex-direction:column;gap:4px;font-size:14px;font-weight:700;display:flex}.pay-line-edit input{border:1px solid #ddd5e7;border-radius:6px;width:120px;height:48px;padding:0 10px;font-size:18px}.pay-line-edit .checkout-reason{flex:1;min-width:220px}.pay-line-edit .checkout-reason input{width:100%}.pay-line-edit .edit-error{flex-basis:100%;margin:0}.pay-dialog .pay-techs,.pay-dialog .pay-with,.pay-dialog .pay-bar,.pay-dialog .pay-tile-box{background:#ffffff47;border:1px solid #fff9;box-shadow:0 4px 18px #3a1d4a14,inset 0 1px #ffffffb3}.pay-dialog .pay-techs button,.pay-dialog .pay-with button:not(.on){background:#ffffffa6;border-color:#ffffffb3}.pay-dialog .pay-with span{color:var(--ink)}.pay-techs{overscroll-behavior:contain;border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:8px;min-height:0;padding:10px 8px;display:flex;overflow-y:auto}.appointment-dialog.pay-dialog>.dialog-close{width:64px;height:64px;color:var(--ink);background:#ffffff47;border:1px solid #fff9;border-radius:14px;font-size:48px;font-weight:300;top:16px;right:24px}.pay-layout .pay-techs{margin-top:78px}.pay-techs p{color:var(--ink);margin:0;padding:4px 4px 2px;font-size:16px;font-weight:700}.pay-techs .pay-techs-none{color:var(--muted);font-size:15px}.pay-techs button{min-height:60px;color:var(--ink);text-align:left;background:#fff;border:1px solid #d9cbbd;border-radius:12px;flex:none;align-items:center;gap:8px;padding:6px 8px;font-size:17px;font-weight:700;display:flex}.pay-techs .pay-avatar{flex:none;width:34px;height:34px;font-size:16px}.pay-techs .pay-tech-label{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;line-height:1.15;display:flex}.pay-techs button.ready{border-color:var(--purple);color:var(--purple)}.pay-techs button.on{border-color:var(--purple);background:var(--purple);color:#fff;box-shadow:0 0 0 3px #e9d3dc}.pay-avatar{color:#25252d;border-radius:50%;place-items:center;width:40px;height:40px;font-size:18px;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #0000001f}.pay-bar{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:1fr 1fr minmax(0,1.8fr) 200px 1fr 1fr;gap:12px;height:192px;padding:12px;display:grid}.pay-bar>button{border:2px solid var(--kind-rule);background:var(--kind-tint);box-shadow:inset 0 7px 0 var(--kind);color:var(--kind-ink);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:22px;font-weight:900;display:flex}.pay-bar>button .pay-icon{width:56px;height:56px}.pay-bar button:disabled{opacity:.45}.pay-owed{flex-direction:column;justify-content:safe center;gap:2px;min-width:0;display:flex;overflow-y:auto}.pay-owed .pay-payment{background:var(--kind-tint);box-shadow:inset 4px 0 0 var(--kind);border-radius:8px;flex:none;align-items:center;gap:10px;margin:0;padding:0 10px;font-size:16px;display:flex}.pay-owed .pay-payment>strong{width:auto;color:var(--kind-ink);flex:1;margin:0;font-size:16px}.pay-owed .pay-payment .pay-icon{width:24px;height:24px}.pay-owed .pay-payment>.pay-paid,.pay-owed .pay-payment>button,.pay-owed .pay-payment .checkout-change{margin:0}.pay-owed .pay-payment>button{min-width:44px;min-height:40px;color:var(--muted);background:0 0;border:0;font-size:20px}.pay-owed .pay-confirm{background:var(--purple);color:#fff;border:0;border-radius:14px;flex:none;justify-content:center;align-items:center;gap:12px;min-height:56px;font-size:22px;font-weight:800;display:flex}.pay-owed .pay-confirm b{font-variant-numeric:tabular-nums;font-size:26px}.pay-owed .pay-confirm{z-index:1;position:sticky;bottom:0}.pay-owed .pay-confirm:disabled{opacity:.45}.appointment-dialog .pay-owed p.pay-blocker{color:var(--danger-brick);margin:0;font-size:16px;font-weight:800;line-height:1.3}.pay-owed p{margin:0;font-size:14px}.pay-owed p.checkout-early{border-radius:8px;padding:6px 10px;line-height:1.3}.pay-bar-small{flex-direction:column;gap:8px;display:flex}.pay-bar-small button{color:var(--ink);background:#fff;border:1px solid #d9cbbd;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:17px;font-weight:800;display:flex}.pay-bar-small button[data-kind]{border-color:var(--kind-rule);color:var(--kind-ink);box-shadow:inset 4px 0 0 var(--kind)}.pay-bar-small button.active{background:var(--kind-tint);box-shadow:inset 4px 0 0 var(--kind), 0 0 0 3px var(--purple)}.pay-over{z-index:30}.appointment-dialog.pay-panel-dialog{width:760px;max-width:calc(100vw - 32px)}.appointment-dialog.pay-pad-dialog{border:3px solid var(--kind);color:#fff;background:linear-gradient(160deg,#3b1d4df2,#24112ff2);width:620px;max-width:calc(100vw - 32px)}.pay-pad-dialog h3{color:#fff;align-items:center;gap:12px;margin:0 40px 14px 0;font-size:28px;display:flex}.pay-pad-dialog h3 .pay-icon{background:var(--kind-tint);border-radius:12px;padding:4px}.pay-pad-dialog h3 small{color:#ffffffc0;margin-left:auto;font-size:18px;font-weight:700}.pay-pad-dialog .dialog-close{color:#fff}.pay-pad-row{align-items:stretch;gap:14px;display:flex}.pay-pad-row label{color:#ffffffc0;flex-direction:column;flex:1;gap:4px;min-width:0;font-size:16px;font-weight:700;display:flex}.pay-pad-row input{border:3px solid var(--kind);color:#fff;text-align:right;font-variant-numeric:tabular-nums;background:#ffffff14;border-radius:16px;width:100%;height:96px;padding:0 18px;font-size:56px;font-weight:900}.pay-pad-ok{color:#fff;background:linear-gradient(#2f8f55,#24744a);border:0;border-radius:16px;align-self:end;width:120px;height:96px}.pay-pad-ok .pay-line-icon{stroke-width:6px;width:52px;height:52px}.pay-pad-ok:disabled{opacity:.45}.appointment-dialog.pay-pad-dialog p.pay-pad-change{color:#7ee2a8;margin:10px 0 0;font-size:26px;font-weight:900}.appointment-dialog.pay-pad-dialog p.edit-error{color:#ffb4b4;margin:10px 0 0;font-size:18px;font-weight:800}.appointment-dialog.pay-pad-dialog p.checkout-note{color:#ffffffb0;background:0 0;margin:10px 0 0;padding:0;font-size:14px}.pay-pad-dialog .pay-other-apps{margin-bottom:12px;padding:0;display:flex}.receipt{color:#111;background:#fff;border:1px dashed #cfc6da;width:min(300px,100%);margin:0 auto 14px;padding:14px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.receipt p{margin:0}.appointment-dialog .receipt p{color:#111;margin:0;line-height:1.45}.receipt-shop{text-align:center;flex-direction:column;width:100%;align-items:center!important;padding:6px!important;font-family:inherit!important;display:flex!important}.receipt-shop strong{font-size:15px}.receipt-shop span{font-size:11px;font-weight:400}.appointment-dialog .receipt-meta{text-align:center;margin:10px 0}.receipt-line p,.receipt-sum p{justify-content:space-between;gap:10px;display:flex}.receipt-line small{color:#555;display:block}.appointment-dialog .receipt-sub{color:#555;padding-left:10px}.receipt-line{padding:4px 0}.receipt-sum{border-top:1px dashed #999;margin-top:6px;padding-top:6px}.receipt-total{font-size:14px;font-weight:800}.appointment-dialog .receipt p.receipt-void,.receipt p.receipt-void{color:#b42318;letter-spacing:6px;text-align:center;border:2px solid #b42318;margin:4px 0 8px;padding:4px;font-size:22px;font-weight:900}.receipt-void small{letter-spacing:0;font-size:11px;font-weight:700;display:block}@media print{html{zoom:1!important;--ui-zoom:1!important}body{background:0 0}body *{visibility:hidden}.receipt,.receipt *,.day-report,.day-report *,.checkin-ticket,.checkin-ticket *,.tech-report,.tech-report *{visibility:visible}.receipt{box-sizing:border-box;border:0;width:auto;padding:0 5mm;position:fixed;top:0;left:0;right:0}.receipt-shop{box-shadow:none!important;background:0 0!important}.receipt,.receipt p,.receipt small,.receipt span,.appointment-dialog .receipt p,.appointment-dialog .receipt-sub{color:#000!important}.receipt{font-size:15px}.receipt-shop strong{font-size:20px}.receipt-shop span,.receipt-line small,.receipt-void small{font-size:13px}.receipt-total{font-size:18px}body:has(.day-end-backdrop) .app-shell>:not(.day-end-backdrop){display:none}.day-end-backdrop{background:0 0;padding:0;display:block;position:static}.day-end-backdrop .appointment-dialog{width:100%;max-height:none;box-shadow:none;padding:0;overflow:visible}.day-report .no-print{display:none}.app-shell{min-height:0!important;display:block!important}.day-end-backdrop>.appointment-dialog{padding:0 5mm}.reports,.reports *{color:#000!important}.reports .report-bar{padding-right:0}.reports .report-columns{margin-top:4px;display:block}.reports .print-skip,.reports .report-bar,.reports.print-one .report-col:not(.printing),.reports.print-person .pay-total,.reports.print-person .pay-sheet:not(.printing){display:none}.reports.print-person .pay-sheet.printing{border-top:0}.reports .report-fold{min-height:0}.reports .report-days button,.reports .report-days-head,.reports .report-days-total{align-items:baseline;gap:6px;width:100%;margin:0;padding:0;font-size:14px;display:flex!important}.reports .report-days button>span:first-child,.reports .report-days-head>span:first-child,.reports .report-days-total>span:first-child{white-space:nowrap;flex:1;min-width:0;display:flex;overflow:hidden}.reports .report-days button>span:first-child:after{content:"........................................................................................................................";flex:1;min-width:0;margin-left:4px;overflow:hidden}.reports .report-days button>:not(:first-child),.reports .report-days-head>:not(:first-child),.reports .report-days-total>:not(:first-child){text-align:right;min-width:56px;font-size:13px}.reports .report-days-head>*{font-weight:700;font-size:12px!important}.reports .report-days-total{border-top:1px dashed #000;padding-top:4px;font-weight:700;margin-top:4px!important}.reports .report-col{background:0 0;border:0;margin:0 0 6px;padding:0}.reports .report-col h4{margin:4px 0}.reports .start-edit-hint,.reports .pay-initials{display:none}.reports .pay-total{background:0 0;margin:0 0 4px;padding:0}.reports .report-person{background:0 0;border-top:1px dashed #000;border-radius:0;margin:0;padding:6px 0}.reports .report-mini{gap:0 8px;margin-top:4px}.reports .shift-list .shift-row{min-height:0;margin:0;padding:0}.reports .shift-list .work-row,.reports .shift-list .shift-row.work-row{grid-template-columns:50px minmax(0,1fr) 58px 48px;gap:4px;padding:0}.reports .shift-list .work-row>span:nth-child(n+3){min-width:0}.reports .report-days{max-height:none;display:block;overflow:visible}.reports .report-days button{background:0 0;border:0;min-height:0;padding:0}.day-report,.day-report *{color:#000!important}.day-report .day-summary{gap:2px 12px}.day-report .day-table th,.day-report .day-table td{padding:2px 4px}.reports,.reports *{visibility:visible}.reports .no-print{display:none}.reports:has(.slip-dialog)>:not(.slip-backdrop){display:none}.slip-backdrop{background:0 0;padding:0;position:static}.print-only{display:inline!important}}.print-only,.checkin-ticket,.pay-quote,.receipt-print{display:none}@media print{body:has(>.receipt-print)>:not(.receipt-print){display:none!important}.receipt-print{display:block}.receipt-print .receipt{position:static}body:has(>.pay-quote)>:not(.pay-quote){display:none}.receipt.pay-quote{display:block}.pay-quote .pay-quote-title{text-align:center;margin-bottom:4px;font-size:20px;font-weight:800}.pay-quote .receipt-meta{text-align:center;margin:6px 0}.pay-quote .pay-quote-note{text-align:center;border-top:1px dashed #999;margin-top:8px;padding-top:6px;font-size:13px}body:has(>.checkin-ticket)>:not(.checkin-ticket){display:none!important}.checkin-ticket{box-sizing:border-box;color:#000;padding:0 5mm;font-family:ui-monospace,Consolas,monospace;font-size:15px;line-height:1.35;display:block;position:static}.checkin-ticket p{margin:0}.checkin-ticket .ticket-head{font-size:16px}.checkin-ticket .ticket-head b{font-size:40px;font-weight:800;line-height:1}.checkin-ticket .ticket-guest{text-transform:uppercase;border-bottom:3px solid #000;margin:2px 0 0;padding-bottom:6px;font-size:24px;font-weight:800}.checkin-ticket section{border-top:1px dashed #000;padding:4px 0}.checkin-ticket .ticket-guest+section{border-top:1px solid #000;margin-top:2px}.checkin-ticket .ticket-category{font-size:16px;font-weight:800}.checkin-ticket .ticket-extra{height:26px;padding-left:24px;line-height:26px}.checkin-ticket .ticket-line{justify-content:space-between;gap:8px;padding-left:12px;display:flex}.checkin-ticket .ticket-note{border-top:1px dashed #000;padding-top:4px}.checkin-ticket .ticket-write{border-bottom:1px solid #000;height:26px}.checkin-ticket .ticket-qr{float:right;width:20mm;image-rendering:pixelated;margin:0 0 2px 6px}}.day-end h4{color:var(--purple-dark);margin:18px 0 8px;font-size:15px}.day-end h4 small{color:var(--muted);font-weight:400}.day-bills{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.day-bills label{color:var(--ink);flex-direction:column;gap:4px;font-size:13px;font-weight:800;display:flex}.day-bills input{border:1px solid #ddd5e7;border-radius:6px;height:44px;padding:0 10px;font-size:16px}.day-bills small{color:var(--muted);font-size:13px;font-weight:400}.appointment-dialog .day-count-total{margin:12px 0;font-size:15px}.day-result{background:var(--lavender);border-radius:8px;padding:12px}.day-report-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.day-report-head h3{margin:0}.day-report-head input{border:1px solid #ddd5e7;border-radius:6px;height:44px;padding:0 10px}.day-summary{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;gap:6px 16px;margin:0;font-size:15px;display:grid}.day-summary dt{color:#625b69}.day-summary dd{text-align:right;margin:0}.day-inline-edit{align-items:center;gap:6px;display:inline-flex}.day-inline-edit input{border:1px solid #ddd5e7;border-radius:6px;width:96px;height:40px;padding:0 8px}.day-inline-edit button{min-height:40px}.day-table{width:100%}.day-list{margin:0;padding-left:18px;font-size:14px;line-height:1.6}.appointment-dialog.reports{width:min(1240px,100%)}.report-bar{flex-wrap:wrap;align-items:center;gap:8px 12px;padding-right:40px;display:flex}.report-bar h3{margin:0 8px 0 0}.segmented.report-modes{margin:0;padding:3px}.segmented.report-modes button{flex:none;height:40px;padding:0 12px;font-size:13px}.report-period{align-items:center;gap:6px;display:flex}.report-period button{border:1px solid var(--lilac-rule);background:var(--lilac-tint);width:40px;height:40px;color:var(--purple);border-radius:6px;font-size:14px}.report-period input{border:1px solid #ddd5e7;border-radius:6px;height:40px;padding:0 8px;font-size:14px}.report-period input[type=number]{width:84px}.report-range{margin:0;font-size:14px}.report-range span{color:var(--muted)}.report-columns{grid-template-columns:180px minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:12px;margin-top:12px;display:grid}.report-col{border:1px solid var(--line);background:var(--background);border-radius:10px;min-width:0;padding:12px}.report-col h4{justify-content:space-between;align-items:center;gap:8px;margin:0 0 10px;display:flex}.report-all{border:1px solid var(--lilac-rule);background:var(--lilac-tint);height:40px;color:var(--purple);border-radius:6px;padding:0 12px;font-weight:700}.report-print{border:1px solid var(--purple);background:var(--purple);color:#fff;border-radius:8px;place-items:center;width:48px;height:48px;padding:0;font-size:22px;display:grid}.report-print:disabled{opacity:.4}.report-foot{pointer-events:none;justify-content:flex-end;margin-top:12px;display:flex;position:sticky;bottom:0}.report-foot .report-print{pointer-events:auto}.report-fold{width:100%;min-height:40px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;padding:0;display:flex}.report-days{max-height:min(calc(60vh / var(--ui-zoom,1)),560px);gap:4px;display:grid;overflow:auto}.report-days button{background:var(--surface);text-align:left;border:1px solid #0000;border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;min-height:40px;padding:0 10px;font-size:14px;display:grid}.report-days button small{color:var(--muted);font-size:13px}.report-days button>*{white-space:nowrap}.report-days button{gap:6px;padding:0 8px;font-size:13px}.report-days button.quiet{color:var(--muted)}.report-days button.active{border-color:var(--purple);background:var(--lavender);font-weight:700}.report-days button,.report-days-head,.report-days-total{grid-template-columns:minmax(0,1fr) 74px 62px}.report-days.with-income button,.report-days.with-income .report-days-head,.report-days.with-income .report-days-total{grid-template-columns:minmax(0,1fr) 72px 58px 68px;gap:4px}.report-days button>:not(:first-child),.report-days-head>:not(:first-child),.report-days-total>:not(:first-child){text-align:right}.report-days-head,.report-days-total{font-variant-numeric:tabular-nums;gap:6px;margin:0;padding:0 8px;display:grid}.report-days-head{color:var(--muted);font-size:12px;font-weight:700}.report-days-head small{font-size:12px}.report-days-total{border-top:1px solid var(--line);padding-top:6px;font-size:13px;font-weight:800}.day-summary .report-sub{color:var(--muted);padding-left:16px;font-size:13px}.report-person{background:var(--surface);border-radius:8px;margin-bottom:8px;padding:10px 12px}.report-person-head{justify-content:space-between;gap:8px;margin:0;font-size:15px;display:flex}.pay-people{gap:6px;display:grid}.pay-person{background:var(--surface);text-align:left;border:1px solid #e4dff0;border-radius:8px;align-items:center;gap:8px;min-height:48px;padding:4px 8px;font-weight:700;display:flex}.pay-person.on{border-color:var(--purple);background:#f1ebfa}.pay-initials{color:#25252d;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:inline-grid;box-shadow:inset 0 0 0 1px #0000001f}.pay-pick{gap:6px;margin:6px 0;display:grid}.pay-pick button{flex:1;margin:0}.pay-total{font-variant-numeric:tabular-nums;background:#f1ebfa;border-radius:8px;grid-template-columns:1fr auto;gap:2px 12px;margin:0 0 8px;padding:8px 12px;display:grid}.pay-total dd{text-align:right;margin:0;font-weight:700}.pay-sheet .report-person-head{align-items:center}.pay-sheet .report-person-head strong:first-of-type{flex:1}.pay-sums .report-total{border-top:1px solid #ebe9ed;padding-top:4px;font-weight:700}.shift-list .work-row,.shift-list .shift-row.work-row{grid-template-columns:60px 1fr auto auto;align-items:center;gap:5px;padding:0 6px;font-size:12px;display:grid}.shift-list .work-row>span{white-space:nowrap}.shift-list .work-row>span:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums;min-width:54px}.shift-list .work-head{min-height:0;color:var(--muted);margin:6px 0 2px;font-size:12px;font-weight:700}.report-person-meta{color:var(--muted);margin:2px 0 0;font-size:13px}.report-slip-button{border:1px solid var(--lilac-rule);width:100%;min-height:44px;color:var(--purple);background:#fff;border-radius:8px;margin-top:8px;font-weight:700}.slip-backdrop{z-index:30}.appointment-dialog.slip-dialog{width:min(380px,100%);max-height:calc(calc(100vh / var(--ui-zoom,1)) - 40px);overflow:auto}.work-slip .slip-days p{font-variant-numeric:tabular-nums;grid-template-columns:auto 1fr auto auto;gap:6px;display:grid}.work-slip .slip-days p>span:nth-child(n+3){text-align:right}.work-slip .slip-head{border-bottom:1px dashed #cfc6da;font-weight:700}.work-slip .pay-sums{border-top:1px dashed #cfc6da;margin-top:8px;padding-top:6px;font-size:12px}.work-slip .pay-sums dt{color:#111}.report-mini{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;gap:2px 12px;margin:8px 0 0;font-size:14px;display:grid}.report-mini dt{color:#625b69}.report-mini dd{text-align:right;margin:0}.report-periods{margin-top:6px;font-size:13px}.report-periods summary{min-height:40px;color:var(--purple);cursor:pointer;align-items:center;font-weight:700;display:flex}.report-periods table{border-collapse:collapse;width:100%}.report-periods th,.report-periods td{border-bottom:1px solid var(--line);text-align:right;padding:5px 3px}.report-periods th:first-child,.report-periods td:first-child{text-align:left}.shift-list ul{margin:0;padding:0;list-style:none}.shift-list .shift-row{text-align:left;grid-template-columns:72px 1fr auto;align-items:center;gap:8px;width:100%;min-height:44px;margin:2px 0;display:grid}.shift-list span.shift-row{color:var(--muted);text-decoration:line-through;display:flex}.shift-list .shift-row em{font-style:normal}.shift-money{font-variant-numeric:tabular-nums;margin-left:6px}.shift-work p{font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;margin:4px 0;font-size:13px;display:flex}.shift-work small{color:var(--muted)}.shift-work .shift-void{color:var(--muted);text-decoration:line-through}.shift-work .work-line{grid-template-columns:1fr auto 52px;gap:6px;display:grid}.shift-work .work-line>span:nth-child(n+2){text-align:right}.shift-work .work-line-head{color:var(--muted);font-size:12px;font-weight:700}.shift-work .shift-work-total{border-top:1px solid #ebe9ed;padding-top:6px;font-size:14px;font-weight:700}.shift-work button{margin-top:6px}.shift-list .shift-history{color:var(--muted);margin:2px 0 6px 10px;padding-left:12px;font-size:13px;list-style:outside}.shift-edit{margin:4px 0 8px}.shift-edit label{gap:4px;font-size:13px;font-weight:700;display:grid}.shift-edit input{border:1px solid #ddd5e7;border-radius:6px;height:44px;padding:0 10px;font-size:15px}.shift-edit-times{grid-template-columns:1fr 1fr;gap:8px;margin:6px 0;display:grid}@media (max-width:860px){.report-columns{grid-template-columns:1fr}}.day-summary .report-total{color:var(--ink);border-top:1px solid #ebe9ed;padding-top:6px;font-size:16px;font-weight:700}.day-invoice{min-height:40px;color:var(--purple);text-align:left;background:0 0;border:0;padding:0}.appointment-dialog .day-closed{margin-top:16px}.dialog-actions .checkout-button{border-color:var(--purple);background:var(--purple);color:#fff;flex-basis:100%;order:-1;min-height:48px;font-size:14px}::selection{background:var(--editable-lilac);color:var(--editable-ink)}.view-tabs{background:#efe9e0;border-radius:10px;gap:4px;padding:4px;display:flex}.view-tabs button{white-space:nowrap;min-height:44px;color:var(--closed-ink);background:0 0;border:0;border-radius:8px;padding:0 18px;font-size:14px;font-weight:700}.view-tabs button.active{color:var(--purple);background:#fff;box-shadow:0 2px 7px #3b24431b}.view-tabs button:hover{color:var(--purple)}.view-gap{margin-top:20px}.schedule-head-actions{align-items:center;gap:10px;display:flex}.board-main{height:calc(100vh / var(--ui-zoom,1));flex-direction:column;padding:8px 10px 10px;font-size:15px;display:flex}.demo-strip{color:#745c30;background:#fff9ed;border:1px solid #f1dfbc;border-radius:8px;margin:0 0 12px;padding:6px 12px;font-size:13px}.demo-strip.backup-stale{color:#9b2c1b;background:#fdecea;border-color:#e8b4a8}.board{flex:1;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1.4fr);gap:10px;min-height:0;display:grid}.board-column{flex-direction:column;min-height:0;display:flex}.column-head{justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:0 2px 6px;display:flex}.column-head h2{align-items:center;gap:10px;margin:0;font-size:20px;display:flex}.column-count{color:#3a2f35;text-align:center;font-variant-numeric:tabular-nums;background:#efe9e0;border-radius:999px;min-width:30px;padding:3px 10px;font-size:14px}.column-body{flex-direction:column;flex:1;gap:8px;min-height:0;padding:2px 2px 8px;display:flex;overflow:auto}.board-empty{color:var(--closed-ink);margin:4px 2px;font-size:15px;line-height:1.55}.board button{font-size:15px;font-weight:700}.board button:focus-visible,.view-tabs button:focus-visible{outline-offset:2px;outline:3px solid #a982c4}.board-primary,.board-quiet,.board-danger,.board-start,.board-finish,.board-pay{white-space:nowrap;border:1px solid #0000;border-radius:8px;min-height:44px;padding:0 16px;transition:background-color .16s ease-out}.board-primary,.board-pay{background:var(--purple);border-color:var(--purple);color:#fff}.board-primary:hover:not(:disabled),.board-pay:hover:not(:disabled){background:var(--purple-dark)}.board-quiet{color:#3a2f35;background:#fff;border-color:#d9cfc2}.board-quiet:hover:not(:disabled){background:#f7f3ee}.board-danger{border-color:var(--danger-rule);color:var(--danger-brick);background:#fff}.board-start{background:var(--in-service-blue);border-color:var(--in-service-blue);color:#fff}.board-finish{background:var(--complete-green);border-color:var(--complete-green);color:#fff}.board-pay{min-width:96px}.board-pay:disabled{color:#7d7686;box-shadow:none;opacity:1;background:#e9e5ee;border-color:#e9e5ee}.board-error{color:#914b35;background:#fff4e8;border-radius:6px;flex-basis:100%;margin:0;padding:8px 10px;font-size:14px}.guest-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:12px 14px;transition:opacity .2s ease-out;position:relative}.guest-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.board .guest-name{min-height:44px;color:var(--ink);text-align:left;-webkit-text-decoration:underline 2px var(--lilac-rule);text-decoration:underline 2px var(--lilac-rule);text-underline-offset:5px;background:0 0;border:0;padding:0;font-size:19px;font-weight:800}.board .guest-name:hover{-webkit-text-decoration-color:var(--purple);text-decoration-color:var(--purple)}.guest-arrival{color:var(--closed-ink);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px}.guest-booked{background:var(--lavender);color:var(--purple);border-radius:999px;margin:2px 0 0;padding:3px 10px;font-size:13px;font-weight:800;display:inline-block}.tiles{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px;margin:10px 0 0;display:grid}.board .tile{min-height:78px;color:var(--ink);text-align:left;background:#faf9fb;border:1px solid #d5d1d9;border-radius:9px;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 12px;transition:box-shadow .16s ease-out,background-color .16s ease-out;display:flex}.tile-service{font-size:15px;font-weight:800;line-height:1.25}.tile-tech{font-size:14px;font-weight:700}.tile-tech em{color:var(--purple);font-style:normal}.tile-state{font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.board .tile-unassigned{background:#fbfafc;border:1.5px dashed #bdb5c6}.tile-unassigned .tile-tech,.tile-unassigned .tile-state{color:var(--closed-ink)}.board .tile-given{background:var(--waiting-honey);border-color:#e7bd82}.tile-given .tile-state{color:var(--waiting-ink)}.board .tile-working{background:var(--in-service-sky);border-color:#9dbde3}.tile-working .tile-state{color:#1d4f86}.board .tile-done{background:var(--closed-grey);border-color:#d5d1d9}.tile-done .tile-state{color:#57505f}.board .tile:hover:not(:disabled){box-shadow:0 3px 12px #4b2c6826}.board .tile.selected{outline:3px solid var(--purple);outline-offset:2px;box-shadow:0 3px 12px #4b2c6840}.tile-actions{background:var(--lilac-tint);border-radius:9px;margin-top:12px;padding:12px}.tile-actions p{color:#4a3b60;margin:0 0 10px;font-size:14px}.tile-actions div,.tech-panel>div{flex-wrap:wrap;gap:8px;display:flex}.finish-form{background:#f6fbf7;border:1px solid #d9e9de;border-radius:9px;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-top:10px;padding:12px;display:flex}.finish-form label{color:#3d4a42;flex-direction:column;gap:6px;margin:0;font-size:13px;font-weight:700;display:flex}.finish-form input{font-variant-numeric:tabular-nums;border:1px solid #cfdcd3;border-radius:7px;width:130px;height:44px;margin:0;padding:0 12px;font-size:17px}.guest-empty{color:#7d7686;border:1px dashed #cfc8d8;border-radius:9px;margin:12px 0 0;padding:14px 12px;font-size:15px;font-weight:700}.guest-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.guest-actions .board-pay{order:3;margin-left:auto}.pay-status{background:var(--closed-grey);color:#57505f;font-variant-numeric:tabular-nums;border-radius:999px;order:3;margin-left:auto;padding:4px 10px;font-size:14px;font-weight:700}.guest-card.to-collect,.guest-row.to-collect{border-color:#9bc5a7;box-shadow:0 0 0 1px #9bc5a7}.checkin-column .column-body{gap:8px}.column-body>article{flex-shrink:0}.guest-row{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"open actions""chips actions";align-items:center;gap:4px 8px;min-height:56px;padding:5px 8px 6px 4px;display:grid}.guest-row>.guest-row-open{grid-area:open}.guest-row>.guest-chips{grid-area:chips;padding-top:9px;padding-left:8px}.guest-row>.row-actions,.guest-row>.pay-status{grid-area:actions}.board .guest-row-open{min-width:0;min-height:44px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;padding:0 8px;display:flex}.board .guest-row-open:hover{background:var(--lilac-tint)}.guest-row-open strong{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:800;overflow:hidden}.guest-row-open span{text-overflow:ellipsis;white-space:nowrap;color:#57505f;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700;overflow:hidden}.guest-row-open span.long-wait{background:var(--waiting-honey);color:var(--waiting-ink);border-radius:6px;align-self:flex-start;padding:0 6px;box-shadow:inset 0 0 0 1px #e7bd82}.board .guest-chips .chip:not(.chip-add):not(.chip-empty){flex:none}.board .guest-row>.guest-chips{justify-content:center;row-gap:14px}.guest-head .board-danger{min-height:40px;padding:0 12px;font-size:14px}.guest-chips{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.board .chip{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;min-height:40px;color:var(--ink);text-align:left;background:#fff;border:1px solid #d9cfc2;border-radius:8px;flex:96px;padding:0 10px;font-size:14px;font-weight:600;position:relative;overflow:visible}.board .chip b{text-overflow:ellipsis;display:block;overflow:hidden}.board .chip.tile-unassigned{background:#fff;border:1px solid #d9cfc2}.board .chip.tile-given,.board .chip.tile-working{background:#e6f4e9;border-color:#7fbf8e}.board .chip.selected{color:#fff;background:#1f5f9e;border-color:#1f5f9e}.board .chip-tech{white-space:nowrap;color:#3a3340;background:#fff;border-radius:4px;padding:0 4px;font-size:11px;font-style:normal;font-weight:700;line-height:16px;position:absolute;top:-9px;left:6px}.board .chip-tech-room{visibility:hidden;white-space:nowrap;height:0;padding:0 2px;font-size:11px;font-weight:700;display:block;overflow:hidden}.board .row-actions .board-danger.dimmed{opacity:.45}.board .chip-add{background:var(--lilac-tint);color:var(--purple);text-align:center;border:1.5px dashed #c9b6dc;flex:0 0 44px;padding:0;font-size:20px;font-weight:800}.chip b{font-weight:800}.chip.paid b:after{content:" ✓";color:var(--arrived-ink)}.board .chip-empty{color:var(--purple);border:1.5px dashed #bdb5c6;font-weight:800}.guest-row .board-pay{min-width:72px}.row-actions{grid-template-columns:repeat(2,auto);gap:4px;display:grid}.row-actions .board-danger,.row-actions .board-quiet{min-height:40px;padding:0 12px}.guest-row .pay-status{white-space:nowrap;margin:0}.board .guest-collapse{color:#3a2f35;background:#fff;border:1px solid #d9cfc2;border-radius:8px;min-height:40px;padding:0 12px;font-size:14px}.guest-collect{background:var(--complete-green);color:#fff;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:800}.guest-card.removing>:not(.removal-bar),.booking-row.removing>:not(.removal-bar){opacity:.45}.removal-bar{color:#fff;background:#302840;border-radius:9px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:8px 8px 12px 14px;font-size:15px;display:flex;position:relative;overflow:hidden}.removal-bar button{min-height:40px;color:var(--purple);background:#fff;border:0;border-radius:7px;padding:0 16px}.removal-clock{transform-origin:0;background:#b9a4d6;width:100%;height:4px;animation:linear forwards removal-countdown;position:absolute;bottom:0;left:0}@keyframes removal-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.booking-row{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:88px minmax(0,1fr);gap:6px 12px;padding:12px 14px;display:grid}.booking-row.late{background:#fffcf6;border-color:#e7bd82}.booking-time{flex-direction:column;gap:4px;display:flex}.booking-time span{background:var(--waiting-honey);max-width:100%;color:var(--waiting-ink);white-space:nowrap;border-radius:9px;align-self:flex-start;padding:2px 7px;font-size:13px;font-weight:800;line-height:1.3}.booking-who{flex-direction:column;gap:3px;min-width:0;display:flex}.booking-who strong{font-size:16px}.booking-who span{color:var(--closed-ink);font-size:14px;line-height:1.4}.booking-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 84px 84px;gap:8px;display:grid}.booking-chips{row-gap:14px;margin-top:12px}.board .booking-chips .chip{flex-direction:column;flex:none;justify-content:center;display:flex}.choose-hint{background:var(--lavender);color:var(--editable-ink);border-radius:9px;align-items:center;gap:10px;padding:8px 8px 8px 12px;font-size:14px;display:flex}.choose-hint p{flex:1;margin:0}.tech-card{background:#fbfafc;border:1px solid #e3dde6;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;transition:box-shadow .16s ease-out;display:grid;position:relative;overflow:hidden;box-shadow:0 2px 6px #2a1b2614}.board .tech-main{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:48px minmax(0,1fr);grid-template-areas:"avatar head""avatar turn""clock bonus""order request"".total""hint hint";align-items:center;gap:2px 10px;padding:8px 10px 7px;display:grid}.tech-avatar{background:color-mix(in oklab, var(--tech), #000 45%);background:hsl(from var(--tech) h calc(s * 1.6) 42%);color:#fff;border-radius:50%;grid-area:avatar;align-self:start;place-items:center;width:44px;height:44px;font-size:20px;font-weight:800;display:grid}.tech-clock{background:var(--ink);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;grid-area:clock;justify-self:center;padding:1px 6px;font-size:11px;font-weight:800}.tech-order{color:var(--ink);font-variant-numeric:tabular-nums;grid-area:order;justify-self:center;font-size:15px;font-weight:800}.tech-head{flex-wrap:nowrap;grid-area:head;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.tech-name{text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:60%;font-size:17px;font-weight:800;overflow:hidden}.tech-name em{color:var(--purple);font-size:13px;font-style:normal}.tech-status{white-space:nowrap;border-radius:999px;flex:none;padding:1px 8px;font-size:12px;font-weight:800}.working .tech-status{color:#fff;background:#e5484d}.free .tech-status{color:#fff;background:#2f9e5b}.working .tech-status.waiting-start{background:var(--waiting-honey);color:var(--waiting-ink);box-shadow:inset 0 0 0 1px #e7bd82}.tech-progress{color:var(--ink);text-underline-offset:3px;white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:800;text-decoration:underline}.tech-progress:empty{display:none}.tech-progress.over{color:var(--danger-brick)}.tech-chip{color:#fff;letter-spacing:.4px;background:#3a3440;border-radius:4px;flex:none;padding:1px 6px;font-size:11px;font-weight:800}.tech-chip.done{background:var(--closed-grey);color:var(--closed-ink);text-decoration:line-through}.tech-next{color:#fff;white-space:nowrap;background:#3a3440;border-radius:0 0 0 9px;padding:2px 8px;font-size:11px;font-weight:800;position:absolute;top:0;right:88px}.tech-meter{color:var(--muted);grid-template-columns:54px minmax(0,1fr);align-items:center;gap:6px;font-size:12px;font-weight:500;line-height:1.2;display:grid}.tech-meter.turn{grid-area:turn}.tech-meter.request{grid-area:request}.tech-meter.bonus{grid-area:bonus}.tech-meter.total{grid-area:total}.tech-meter{min-height:15px}.tech-meter.bonus b,.tech-meter.total b{color:var(--ink);font-variant-numeric:tabular-nums;justify-self:start;margin-left:2px;padding:0 5px;font-size:13px;font-weight:800;line-height:16px}.tech-bar{border-radius:0 99px 99px 0;height:16px;display:block;position:relative}.tech-bar i{border-radius:inherit;background:#45b386;position:absolute;inset:0 auto 0 0}.tech-meter.request .tech-bar i{background:#e2608f}.tech-bar em{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:2px;padding:0 5px;font-size:13px;font-style:normal;font-weight:800;line-height:16px;display:inline-block;position:relative}.tech-gear-tools{z-index:3;align-items:flex-start;gap:4px;display:flex;position:absolute;top:4px;right:4px}.tech-gear{width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:8px;font-size:20px;line-height:1}.tech-gear[aria-expanded=true]{color:var(--ink);background:#f1ecf4}.tech-gear-menu{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:200px;display:grid;position:absolute;top:44px;right:0;overflow:hidden;box-shadow:0 12px 30px #251c3530}.tech-gear-menu button{border:0;border-bottom:1px solid var(--line);min-height:44px;color:var(--ink);text-align:left;background:#fff;padding:0 14px;font-size:14px;font-weight:700}.tech-gear-menu button:last-child{border-bottom:0}.tech-order-move{order:-1;gap:4px;display:flex}.tech-order-move button{border:1px solid var(--line);width:44px;height:40px;color:var(--ink);background:#fff;border-radius:8px;font-size:20px;font-weight:800}.tech-order-move button:disabled{opacity:.35}.board-main .technician-column .tech-card.ordering{box-shadow:0 0 0 3px var(--purple)}.tech-card:has(.tech-gear-menu){z-index:4;overflow:visible}.tech-card .tech-head{padding-right:40px}.tech-card.ordering .tech-head{padding-right:132px}.tech-card .tech-pay{color:#fff;letter-spacing:.5px;background:#e8763a;border:0;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:80px;margin:8px 8px 8px 0;font-size:16px;font-weight:800;display:flex}.tech-card .tech-pay small{text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;max-width:70px;font-size:11px;font-weight:700;overflow:hidden}.tech-card .tech-pay:active{background:#cf6227}.technician-column .column-body{container-type:inline-size}@container (max-width:440px){.tech-card{grid-template-columns:minmax(0,1fr)}.tech-card .tech-pay{width:auto;min-height:44px;margin:0 12px 10px}.tech-next{right:0}}.tech-hint{color:var(--purple);grid-area:hint;font-size:13px}.technician-column.choosing .tech-card{background:#faf9fb;box-shadow:0 0 0 1px #d5d1d9}.technician-column.choosing .tech-card.free{box-shadow:0 0 0 2px var(--purple);background:#fff}.technician-column.choosing .tech-card.cannot{box-shadow:0 0 0 1px var(--danger-rule);background:#fff8f6}.technician-column.choosing .tech-card.cannot .tech-hint{color:var(--danger-brick)}.technician-column.choosing .tech-card:hover,.technician-column .tech-card.holds{box-shadow:0 0 0 3px var(--purple)}.technician-column .tech-card.requested{background:#fbf8fe}.tech-card.open{box-shadow:0 3px 12px #4b2c6826}.tech-panel{border-top:1px solid var(--line);background:#fcfbfd;flex-direction:column;grid-column:1/-1;align-items:flex-start;gap:10px;padding:12px 14px 14px;display:flex}.tech-panel p{margin:0;font-size:14px}.turn-dialog{width:min(1120px,96vw)}.turn-dialog-head{flex-wrap:wrap;align-items:baseline;gap:10px 12px;display:flex}.turn-dialog-head b{margin-left:4px;font-size:18px}.turn-tickets{grid-template-columns:repeat(4,1fr);align-items:stretch;gap:10px;max-height:80vh;display:grid;overflow:auto}.turn-ticket{color:#111;background:#fff;border:1px dashed #cfc6da;flex-direction:column;gap:3px;padding:8px 12px;font-family:ui-monospace,Consolas,monospace;font-size:12px;display:flex}.appointment-dialog .turn-ticket p{color:#111;margin:0;line-height:1.45}.turn-ticket-head,.turn-ticket-line{justify-content:space-between;gap:8px;display:flex}.appointment-dialog .turn-ticket .turn-ticket-head{border-bottom:1px dashed #999;padding-bottom:4px;font-size:16px;font-weight:900}.appointment-dialog .turn-ticket .turn-ticket-head .paid,.turn-dialog-head .turn-state.paid{color:#1f7a3d}.appointment-dialog .turn-ticket .turn-ticket-head .done,.turn-dialog-head .turn-state.done{color:#b25e09}.appointment-dialog .turn-ticket .turn-ticket-head .working,.turn-dialog-head .turn-state.working{color:#1f6feb}.appointment-dialog .turn-ticket .turn-ticket-head .waiting,.turn-dialog-head .turn-state.waiting{color:#6b6470}.appointment-dialog .turn-ticket .turn-ticket-head .canceled,.turn-dialog-head .turn-state.canceled{color:#c0262d}.turn-dialog-head span,.turn-dialog-head .turn-state{border:1px dashed #cfc6da;border-radius:8px;padding:2px 10px;font-size:14px;font-weight:600}.turn-dialog-head .turn-state{cursor:pointer;background:#fff;border-color:currentColor;min-height:40px}.turn-dialog-head .turn-state.active{background:#f6f3f8;border-style:solid}.appointment-dialog .turn-state-help{background:#faf8fb;border-left:3px solid;margin:-4px 0 10px;padding:6px 10px;font-size:14px}.appointment-dialog .turn-state-help.paid{color:#1f7a3d}.appointment-dialog .turn-state-help.done{color:#b25e09}.appointment-dialog .turn-state-help.working{color:#1f6feb}.appointment-dialog .turn-state-help.waiting{color:#6b6470}.appointment-dialog .turn-state-help.canceled{color:#c0262d}.turn-dialog-head .turn-state.none{opacity:.35}.appointment-dialog .turn-ticket .turn-ticket-guest{font-size:16px;font-weight:900}.turn-ticket-turn{border:1px solid #cfc6da;border-radius:999px;justify-content:space-between;align-items:center;margin:4px 0;display:flex}.turn-ticket-turn button{background:#f1edf5;border:0;border-radius:999px;width:40px;height:40px;font-size:20px;font-weight:800}.turn-ticket-turn b{margin-left:6px;font-size:16px}.turn-ticket-turn.locked{justify-content:center;min-height:42px}.appointment-dialog .turn-ticket .turn-ticket-line{border-bottom:1px dotted #bbb}.appointment-dialog .turn-ticket .turn-ticket-line.tip{border-bottom:0;font-weight:700}.turn-ticket-actions{margin-top:auto!important}.turn-ticket-actions,.turn-ticket-print{flex-wrap:wrap;gap:6px;margin-top:6px;font-family:Inter,system-ui,sans-serif;display:flex}.turn-ticket-actions button,.turn-ticket-print button{background:#fff;border:1px solid #cfc6da;border-radius:8px;min-height:40px;padding:0 10px;font-size:12px;font-weight:700}.turn-ticket-actions button.edit{color:#fff;background:#1f6feb;border-color:#1f6feb}.turn-ticket-print{align-items:center}.turn-ticket-print span{color:#555;font-size:12px}.turn-ticket.canceled{background:#fbf3f3}.tech-note{color:var(--closed-ink)}.new-guest-dialog{width:min(1240px,100%);max-height:calc(calc(100vh / var(--ui-zoom,1)) - 36px);overflow:auto}.new-guest-dialog .form-panel{padding:0}.new-guest-dialog .segmented{max-width:410px;margin:6px 0 18px}.new-guest-error{margin:12px 0 0}@media (max-width:1100px){.board{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.3fr);gap:12px}.board-main{padding:10px 12px 12px}.tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.board .confirm-actions button{min-height:44px;padding:0 16px;font-size:15px}.account-create label{color:#47434c;margin:0;font-size:13px;font-weight:700;display:block}.account-create input,.account-create select{background:#fff;border:1px solid #e4e1e8;border-radius:7px;width:100%;height:44px;margin-top:6px;padding:0 12px;font-size:16px;display:block}.account-create input:focus,.account-create select:focus{border-color:#9d7ab6;outline:none;box-shadow:0 0 0 3px #a982c42b}.account-fullname-value{width:fit-content;margin-top:4px;font-size:14px;font-weight:700;display:block}.account-fullname-value em{color:var(--muted);font-style:normal;font-weight:400}.account-fullname{margin-top:6px}.edit-reason{color:#47434c;margin:12px 0 0;font-size:13px;font-weight:700;display:block}.edit-reason input{border:1px solid var(--danger-rule);border-radius:7px;width:100%;height:44px;margin-top:6px;padding:0 12px;font-size:15px;display:block}.edit-service-row .service-entry-title button{min-width:44px;min-height:44px;font-size:16px}.station-ask p{margin:0}.station-ask-actions{gap:8px;margin-top:10px;display:flex}.station-ask{z-index:15;max-width:min(460px,calc(calc(100vw / var(--ui-zoom,1)) - 48px));border:1px solid var(--danger-rule);color:#6b2f28;background:#fff;border-radius:9px;margin:0;padding:12px 14px;font-size:14px;line-height:1.45;position:fixed;top:84px;right:24px;box-shadow:0 12px 30px #251c3530}.station-off .technician-actions{margin-top:8px}.guest-paid{background:var(--arrived-mint);color:var(--arrived-ink);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:800}.guest-head .guest-arrival{margin-left:auto}.tile-paid{color:var(--arrived-ink);background:#fff;border-radius:999px;align-self:flex-start;margin-top:2px;padding:1px 8px;font-size:13px;font-weight:800;box-shadow:inset 0 0 0 1px #9bc5a7}.pay-with{background:var(--lilac-tint);border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:10px 12px;display:flex}.pay-with span{color:#4a3b60;font-size:14px;font-weight:700}.pay-with button{border:1px solid var(--lilac-rule);min-height:44px;color:var(--purple);background:#fff;border-radius:8px;padding:0 14px;font-size:15px;font-weight:700}.pay-with button.on{background:var(--purple);border-color:var(--purple);color:#fff}.appointment-dialog .checkout-early{background:var(--waiting-honey);color:var(--waiting-ink)}.pay-line .checkout-guest{background:var(--lavender);color:var(--purple);border-radius:999px;align-self:flex-start;padding:1px 8px;font-weight:800}.present-only{border:1px dashed #d5d1d9;border-radius:11px;margin-top:4px;padding:10px 12px}.present-only p{color:var(--closed-ink);margin:0 0 8px;font-size:14px}.present-only div{flex-wrap:wrap;gap:8px;display:flex}.board .present-only button{min-height:40px;color:var(--ink);background:#faf9fb;border:1px solid #d5d1d9;border-radius:999px;padding:0 12px;font-size:14px}.present-only small{color:var(--closed-ink);font-variant-numeric:tabular-nums;font-weight:400}.topbar-button.shift-button{background:var(--purple);border-color:var(--purple);color:#fff}.shift-as-tech{border:1px solid var(--lilac-rule);background:var(--lilac-tint);min-height:44px;color:var(--editable-ink);cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:0 14px;font-size:15px;font-weight:700;display:flex}.shift-as-tech:has(input:disabled){opacity:.5}.shift-as-tech input{width:22px;height:22px;accent-color:var(--purple);margin:0}.accounts-manager{width:min(1240px,100%)}.accounts-body{flex:1;grid-template-columns:minmax(300px,440px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.accounts-body:has(.setup-inline .hours-table){grid-template-columns:minmax(300px,720px) minmax(0,1fr)}.accounts-add{border-right:1px solid var(--line);background:var(--background);padding:18px 20px 22px;overflow:auto}.accounts-list{padding:18px 22px 22px;overflow:auto}.accounts-add h3,.accounts-list h3{align-items:center;gap:10px;margin:0 0 14px;font-size:18px;display:flex}.accounts-subhead{margin:20px 0 4px;font-size:15px}.account-detail-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.account-detail-head h3{margin:0}.account-detail-head button{border:1px solid var(--lilac-rule);background:var(--lilac-tint);min-height:44px;color:var(--purple);border-radius:8px;padding:0 14px;font-size:15px;font-weight:700}.account-row{cursor:pointer}.setup-tiles{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px;display:grid}.setup-tiles button{border:1px solid var(--lilac-rule);background:var(--lilac-tint);min-height:56px;color:var(--purple);text-align:center;border-radius:8px;gap:2px;padding:6px 8px;display:grid}.setup-tiles small{color:var(--closed-ink);font-size:13px}.setup-tiles button.active{border-color:var(--purple);background:var(--purple);color:#fff}.setup-tiles button.active small{color:var(--editable-lilac)}.setup-inline{margin-top:12px}.setup-popup{width:min(560px,100%);max-height:calc(90vh / var(--ui-zoom,1));overflow:auto}.setup-popup h3{margin:0 0 10px}.setup-popup.wide{width:min(760px,100%)}.account-row.selected{background:var(--lilac-tint);box-shadow:inset 3px 0 0 var(--purple)}.accounts-messages{padding:8px 22px 0}.accounts-messages .editor-error,.accounts-messages .editor-notice{margin:0}.account-avatar{background:var(--closed-grey);color:var(--closed-ink)}.staff-status{white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:800}.staff-status.on{background:var(--arrived-mint);color:var(--arrived-ink)}.staff-status.off{background:var(--closed-grey);color:var(--closed-ink)}@media (max-width:900px){.accounts-body{grid-template-columns:1fr;overflow:auto}.accounts-add{border-right:0;border-bottom:1px solid var(--line)}}.segmented.dialog-tabs{margin:0 0 14px}.segmented.dialog-tabs button{height:44px;font-size:15px}.guest-history h4{margin:16px 0 8px;font-size:15px}.guest-facts{grid-template-columns:auto 1fr;align-items:center;gap:6px 14px;margin:0 0 12px;font-size:15px;display:grid}.guest-facts dt{color:var(--closed-ink);font-weight:700}.guest-facts dd{font-variant-numeric:tabular-nums;margin:0}.guest-visits{max-height:320px;margin:0;padding:0;list-style:none;overflow:auto}.guest-visit{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;font-size:14px;display:grid}.guest-visit div{align-items:center;gap:8px;display:flex}.guest-visit>span{color:#4a4452;grid-column:1}.guest-visit b{font-variant-numeric:tabular-nums;grid-area:1/2/span 2;align-self:center}.guest-visit-billed{cursor:pointer;min-height:44px}.guest-visit-billed[aria-expanded=true]{background:#f3eef6}.guest-visit-bill{padding:6px 0 14px;list-style:none}.receipt .receipt-why{color:#6b3a52;margin:2px 0 4px;font-style:italic}.guest-visit-tag{background:var(--closed-grey);color:var(--closed-ink);border-radius:999px;padding:1px 8px;font-size:13px;font-weight:800}.guest-visit-upcoming .guest-visit-tag{background:var(--lavender);color:var(--purple)}.guest-visit-canceled,.guest-visit-no_show{color:var(--muted)}.skills-editor{grid-column:1/-1}.skills-group{margin:10px 0}.skills-group-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.skills-group-head button{border:1px solid var(--lilac-rule);min-height:44px;color:var(--purple);background:#fff;border-radius:8px;padding:0 14px;font-size:14px;font-weight:700}.skills-chips{flex-wrap:wrap;gap:6px;display:flex}.skill-chip{border:1px solid var(--lilac-rule);background:var(--lilac-tint);min-height:44px;color:var(--purple);border-radius:8px;padding:0 12px;font-weight:700}.skill-chip[aria-pressed=false]{color:#8a8292;background:#fff;border-style:dashed;text-decoration:line-through}.hours-editor,.pay-editor{grid-column:1/-1}.pay-editor h5{border-top:1px solid var(--line);color:var(--purple-dark);margin:14px 0 6px;padding-top:10px;font-size:15px}.pay-editor h5 small,.pay-editor label small{color:var(--muted);margin-left:6px;font-weight:400}.pay-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px 12px;display:grid}.pay-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pay-editor .pay-row>label:not(.editor-check){color:#47434c;gap:4px;margin:0;font-size:13px;font-weight:700;display:grid}.pay-editor .pay-row input:not([type=checkbox]){border:1px solid #ddd5e7;border-radius:6px;width:100%;height:44px;padding:0 10px;font-size:15px}.pay-editor .pay-row input::placeholder{color:var(--placeholder)}.pay-editor .editor-check{min-height:44px}.pay-choice{color:#47434c;gap:4px;font-size:13px;font-weight:700;display:grid}.pay-choice .segmented{margin:0}.pay-choice .segmented button{height:40px;font-size:14px}.pay-row-period{grid-template-columns:1fr}.pay-row-period .segmented button{white-space:nowrap}@media (max-width:520px){.pay-row,.pay-row-3{grid-template-columns:1fr}}.hours-table{background:#fff;border:1px solid #e4dcef;border-radius:8px;margin:8px 0;overflow-x:auto}.hours-table table{border-collapse:collapse;width:100%}.hours-table th,.hours-table td{text-align:center;border-bottom:1px solid #eee8f3;padding:6px 4px}.hours-table tr:last-child>*{border-bottom:0}.hours-table thead th{font-size:14px}.hours-table tbody th{text-align:left;color:#5d5566;white-space:nowrap;padding-left:10px;font-size:13px}.hours-table button{border:1px solid var(--lilac-rule);background:var(--lilac-tint);width:100%;min-width:64px;min-height:44px;color:var(--purple);border-radius:8px;font-weight:700}.hours-table button[aria-pressed=false]{color:#8a8292;background:#f3f1f5;border-color:#e6e2ea}.hours-table select{appearance:none;text-align:center;text-align-last:center;background:#fff;border:1px solid #d9d2e0;border-radius:8px;width:100%;min-width:76px;min-height:44px;padding:0 2px;font-size:13px}.hours-none{color:#a9a2b0;background:#f3f1f5;border-radius:8px;justify-content:center;align-items:center;min-height:44px;display:flex}.hours-foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.hours-clear{border:1px solid var(--lilac-rule);min-height:44px;color:var(--purple);background:#fff;border-radius:8px;padding:0 14px;font-size:14px;font-weight:700}.hours-editor h4{margin:12px 0 6px}.hours-days-off{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hours-days-off .skill-chip{align-items:center;gap:4px;display:inline-flex}.hours-days-off .skill-chip button{min-width:40px;min-height:40px;color:inherit;background:0 0;border:0;font-size:18px}.main-content.schedule-wide{width:100%;max-width:none;margin:0;padding:12px 16px 16px}.main-content.schedule-wide .warning-banner{margin:0;padding:8px 14px;font-size:14px}.schedule-layout{grid-template-columns:minmax(0,1.7fr) minmax(400px,1fr);align-items:start;gap:14px;margin-top:10px;display:grid}.schedule-wide .schedule-panel{padding:12px 14px}.schedule-head{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:10px;display:flex}.schedule-head .schedule-heading{margin:0}.schedule-head .date-control{height:44px}.schedule-head .date-control button{width:44px}.schedule-filter{color:#4b4556;background:#fff;border:1px solid #e6e3eb;border-radius:9px;height:44px;padding:0 10px;font-size:14px;font-weight:600}.schedule-wide .calendar-scroll{max-height:calc(calc(100vh / var(--ui-zoom,1)) - 118px)}.technician-header{justify-content:center}.technician-header strong{color:#2e2638;font-size:15px;font-weight:800}.anyone-header strong{color:var(--closed-ink)}.calendar-lane{cursor:pointer}.off-hours{z-index:0;color:#6e6878;pointer-events:none;background:repeating-linear-gradient(135deg,#dcd8e0 0 6px,#e6e3e9 6px 12px);place-items:start center;padding-top:10px;font-size:14px;font-weight:800;display:grid;position:absolute;left:0;right:0}.past-time{z-index:0;pointer-events:none;background:#ece9ef99;position:absolute;left:0;right:0}.slot-picked{z-index:2;border:2px solid var(--purple);color:var(--purple);pointer-events:none;background:#efe7f8;border-radius:6px;padding:0 6px;font-size:13px;font-weight:800;line-height:26px;position:absolute;left:2px;right:2px}.window-count{color:#5f5868;text-align:center;font-variant-numeric:tabular-nums;background:#f1eef4;border-radius:8px;min-width:26px;padding:1px 6px;font-size:13px;font-weight:800;position:absolute;right:4px}.window-count.full{color:#b3261e;background:#fde3e0}.schedule-side{max-height:calc(calc(100vh / var(--ui-zoom,1)) - 42px);border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex;position:sticky;top:12px;overflow:auto}.side-title{margin:4px 0 0;font-size:17px}.form-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;display:flex}.form-title-row .side-title{margin:0;font-size:20px}.schedule-side .form-panel{padding:0}.schedule-side .form-panel form{grid-template-columns:1fr;gap:12px}.schedule-side .identity-row{grid-template-columns:1fr 1fr;gap:10px}.booking-guests select{width:100%}.booking-guests-note{font-size:10px;font-weight:700}.calendar-booking .booking-asked{text-overflow:ellipsis;white-space:nowrap;color:#25252d;max-width:100%;font-size:12px;font-weight:800;overflow:hidden}.booking-services{flex-direction:column;gap:2px;max-width:100%;display:flex}.calendar-booking>*{flex-shrink:0}.booking-request{min-height:44px;color:var(--ink);white-space:nowrap;align-self:end;align-items:center;gap:4px;margin:0;font-size:15px;font-weight:700;display:flex}.booking-request select{width:auto;min-width:140px;min-height:44px;margin:0;font-size:15px}.schedule-side .walkin-lines li{grid-template-columns:minmax(0,1fr) auto 44px;gap:6px 10px;padding:6px 0 8px 12px}.schedule-side .walkin-lines li>select{order:5;grid-column:1/3}.schedule-side .walkin-lines li>button{order:2}.schedule-side .appointment-time{margin-bottom:10px}.month-calendar{flex-direction:column;gap:6px;display:flex}.month-head{align-items:center;gap:4px;display:flex}.month-head strong{text-align:center;text-transform:capitalize;flex:1;font-size:15px}.month-head button{min-width:44px;height:40px;color:var(--purple);background:#fff;border:1px solid #e6e3eb;border-radius:8px;font-size:20px;font-weight:700}.month-head .month-today{padding:0 10px;font-size:13px}.month-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.month-weekday{color:var(--closed-ink);text-align:center;padding:2px 0;font-size:13px;font-weight:800}.month-grid button{color:#2e2638;font-variant-numeric:tabular-nums;background:#f7f5f9;border:0;border-radius:8px;height:40px;font-size:15px;font-weight:700}.month-grid button.other-month{color:var(--placeholder);background:0 0;font-weight:400}.month-grid button.is-today{box-shadow:inset 0 0 0 2px #c9b6dc}.month-grid button.chosen{background:var(--purple);color:#fff}.date-picker{position:relative}.schedule-head .date-control .date-label-button{background:var(--editable-lilac);width:auto;color:var(--editable-ink);white-space:nowrap;border-radius:6px;margin:0 2px;padding:0 14px;font-size:17px;font-weight:700}.schedule-head .date-control .date-label-button:hover{color:var(--editable-ink);background:#d9c4f0}.date-popover-backdrop{z-index:19;position:fixed;inset:0}.date-popover{z-index:20;border:1px solid var(--line);background:#fff;border-radius:12px;width:380px;padding:12px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 28px #33234035}.day-board-backdrop{z-index:30}.appointment-dialog.day-board{width:min(1880px,100%);height:calc(calc(100vh / var(--ui-zoom,1)) - 40px);flex-direction:column;display:flex;overflow:hidden}.day-board h3{margin:0 40px 12px 0}.day-board h3 small{color:var(--muted);font-size:14px;font-weight:400}.day-board-columns{flex:1;grid-auto-columns:236px;grid-auto-flow:column;align-items:start;gap:10px;min-height:0;padding-bottom:6px;display:grid;overflow:auto}.day-board-col{gap:6px;display:grid}.day-board-col header{z-index:1;border-radius:8px;margin-bottom:6px;padding:5px 10px 6px;line-height:1.25;position:sticky;top:0;box-shadow:0 8px #fff}.day-board-col header p{justify-content:space-between;align-items:baseline;gap:6px;margin:0;display:flex}.day-board-col header strong{font-size:15px}.day-board-col header small{color:var(--ink);white-space:nowrap;font-size:12px}.day-board-col dl{font-variant-numeric:tabular-nums;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:0 8px;margin:3px 0 0;display:grid}.day-board-col dt{color:var(--ink);opacity:.75;font-size:11px}.day-board-col dd{margin:0;font-size:14px;font-weight:700}.day-board-bill{min-height:44px;color:inherit;text-align:left;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #ebe9ed;border-radius:8px;gap:2px;padding:6px 8px;font-size:13px;display:grid}.day-board-bill>span{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.day-board-bill-head>span{white-space:nowrap}.day-board-bill-head small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.day-board-bill-head b{color:#b42318}.day-board-bill .day-board-services{color:var(--muted);text-transform:uppercase;font-size:12px;display:block}.day-board-bill>.day-board-money{color:var(--muted);grid-template-columns:repeat(3,1fr);gap:0 8px;font-size:11px;display:grid}.day-board-money b{color:var(--ink);font-size:13px;display:block}.day-board-bill small{color:var(--muted);font-size:11px}.day-board-bill.void{opacity:.6;text-decoration:line-through}.day-board-changes{gap:4px;font-size:12px;display:grid}.day-board-changes button{border:1px dashed var(--lilac-rule);min-height:40px;color:inherit;text-align:left;background:#fff;border-radius:6px;padding:4px 8px}.admin-menu-button{color:#3a2f35;background:#fff;border:1px solid #d9cfc2;border-radius:8px;place-items:center;width:44px;height:44px;padding:0;display:grid}.admin-menu-button.on{border:2px solid var(--purple);background:var(--lavender)}.admin-menu-button svg{fill:currentColor;width:22px;height:22px}.admin-menu-backdrop{z-index:15;position:fixed;inset:0}.admin-menu{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2a1f3599;border:1px solid #ffffff40;border-radius:16px;grid-template-columns:repeat(3,104px);gap:16px 12px;padding:20px;display:grid;position:absolute;top:80px;right:20px;box-shadow:0 20px 60px #231a3460}.admin-menu button{color:#fff;background:0 0;border:0;justify-items:center;gap:8px;padding:0;font-size:14px;font-weight:700;display:grid}.admin-tile{color:#2b2350;border-radius:18px;align-content:center;place-items:center;gap:4px;width:104px;height:104px;font-size:13px;display:grid;box-shadow:inset 0 0 0 1px #ffffff80,0 4px 10px #00000030}.admin-tile svg{width:54px;height:54px}.admin-menu button:active .admin-tile{transform:scale(.96)}.app-shell{grid-template-columns:minmax(0,1fr) 112px;display:grid}.app-shell>main{grid-area:1/1;min-width:0}.app-shell>.topbar{height:calc(100vh / var(--ui-zoom,1));flex-flow:column;grid-area:1/2;justify-content:flex-start;gap:16px;padding:14px 8px 12px 11px;position:sticky;top:0}.app-shell>.topbar:after{background:linear-gradient(#c79d72,#b98d63);width:3px;height:auto;inset:0 auto 0 0}.app-shell .brand{text-align:center;flex-direction:column;gap:4px;font-size:16px}.app-shell .brand-mark{margin:0}.app-shell .view-tabs{flex-direction:column;width:100%}.app-shell .view-tabs button{white-space:normal;flex-direction:column;align-items:center;gap:4px;min-height:68px;padding:8px 4px;font-size:13px;line-height:1.15;display:flex}.app-shell .view-tabs svg{fill:currentColor;width:24px;height:24px}.app-shell .topbar-actions{flex-direction:column;align-items:stretch;gap:8px;width:100%;margin-top:auto}.app-shell .topbar-button{white-space:normal;min-height:48px;padding:6px;line-height:1.2}.app-shell .admin-menu-button{width:100%;height:48px}.app-shell .user-chip{white-space:normal;text-align:center;border-radius:10px;flex-direction:column;justify-content:center;min-height:44px;padding:6px;font-size:13px;line-height:1.25}.app-shell .admin-menu{top:auto;bottom:12px;right:124px}.app-shell>.topbar{z-index:10;background:#fffc;box-shadow:-4px 0 16px #1b2a4a1a}.app-shell>.topbar:after{display:none}.app-shell .view-tabs{background:#e9eef7}.progress-dialog{width:min(560px,100%)}.progress-list{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.progress-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px 14px;display:grid}.progress-row>div:first-child{gap:3px;display:grid}.progress-row strong{font-size:16px}.progress-row span{color:var(--muted);font-size:14px}.progress-row .finish-form{grid-column:1/-1}.progress-actions{gap:8px;display:flex}.progress-row.tile-working{background:var(--in-service-sky);border-color:#9dbde3}.progress-row.tile-given{background:var(--waiting-honey);border-color:#e7bd82}.progress-row.tile-done{background:var(--closed-grey)}.shift-choices{gap:10px;margin:14px 0 4px;display:grid}.shift-choices button{color:#3a2f35;background:#fff;border:1px solid #d9cfc2;border-radius:10px;min-height:52px;font-size:16px;font-weight:700}.shift-choices button.confirm-primary{border-color:var(--purple);background:var(--purple);color:#fff}.technician-column{position:relative}.staff-body{flex:1;min-height:0;display:flex}.staff-body>.column-body{flex:1;min-width:0}.staff-rail{flex-direction:column;flex:none;gap:6px;width:80px;padding:2px 8px 8px 0;display:flex;overflow-y:auto}.staff-rail button{min-height:44px;color:var(--ink);text-align:center;background:#fff;border:1.5px solid #a3899a;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:4px 2px;font-size:12px;font-weight:800;line-height:1.15;display:flex}.staff-rail button.active{background:var(--purple);border-color:var(--purple);color:#fff}.staff-rail button small{font-size:10px;font-weight:700}.staff-rail .rail-search{color:#fff;background:#d64545;border-color:#d64545}.staff-rail .rail-search svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:20px;height:20px}.staff-rail .rail-free{color:#1f7a44;border-color:#2f9e5b;min-height:56px}.staff-rail .rail-free b{font-size:18px;line-height:1}.staff-rail .rail-free.active{color:#fff;background:#2f9e5b;border-color:#2f9e5b}.staff-rail button:active{transform:scale(.97)}.staff-search{z-index:6;border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(320px,100% - 100px);max-height:60%;padding:10px;display:grid;position:absolute;top:56px;left:92px;overflow-y:auto;box-shadow:0 12px 30px #251c3530}.staff-search button{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fbfafc;border-radius:8px;font-size:14px;font-weight:800}.staff-search p{color:var(--muted);grid-column:1/-1;margin:0}.tech-card.flash{animation:.6s ease-in-out 3 tech-flash}@keyframes tech-flash{50%{box-shadow:0 0 0 4px var(--purple);background:#f3e8ff}}@media (prefers-reduced-motion:reduce){.tech-card.flash{box-shadow:0 0 0 4px var(--purple);animation:none}}.board-main.aura .column-head h2{color:#13213b}.board-main.aura .column-count{color:#13213b;background:#ffffffc4}.board-main.aura .board-empty,.board-main.aura .present-only p{color:#13213b}.board-main.aura .present-only{border-color:#ffffffa6}.board-main.aura .booking-row,.board-main.aura .guest-row,.board-main.aura .tech-card{border-color:#0000;box-shadow:0 2px 8px #1b2a4a26}.board-main.aura .booking-row:not(.late),.board-main.aura .guest-row,.board-main.aura .tech-card:not(.requested){background:#ffffffc7}.board-main.aura .booking-row.late{border-color:#e7bd82}.board-main.aura .staff-rail button{color:var(--ink);background:#ffffffe6;border-color:#0000;box-shadow:0 1px 3px #1b2a4a26}.board-main.aura .staff-rail button.active{background:var(--purple);color:#fff}.board-main.aura .staff-rail .rail-search{color:#fff;background:#e5484d}.board-main.aura .staff-rail .rail-free{color:#1f7a44}.board-main.aura .staff-rail .rail-free.active{color:#fff;background:#2f9e5b}.board-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.board-main.aura .board-column{background:#ffffff40;border:1px solid #ffffff73;border-radius:16px;padding:8px 8px 0;box-shadow:0 8px 24px #1b2a4a1f}.board-main.aura .column-head{padding:2px 4px 8px}.board-main.aura .column-head h2{font-size:19px}.live-clock{color:#13213b;font-variant-numeric:tabular-nums;align-items:center;gap:10px;display:flex}.technician-column .column-head{flex-wrap:wrap;row-gap:6px}.live-clock-date b,.live-clock-date span{white-space:nowrap}.live-clock-date{justify-items:end;gap:1px;line-height:1.1;display:grid}.live-clock-date b{letter-spacing:.6px;text-transform:uppercase;font-size:15px;font-weight:800}.live-clock-date span{font-size:15px;font-weight:700}.live-clock-time{align-items:center;gap:3px;display:flex}.live-clock-time i{color:#fff;background:#2a2f3d;border-radius:6px;place-items:center;width:28px;height:38px;font-size:24px;font-style:normal;font-weight:800;display:grid;position:relative}.live-clock-time i:after{content:"";background:#0006;height:1px;position:absolute;top:50%;left:0;right:0}.live-clock-time em{padding:0 1px 2px;font-size:22px;font-style:normal;font-weight:800}.live-clock-time small{margin-left:4px;font-size:14px;font-weight:800}.board .guest-row-open{grid-template-columns:minmax(0,1fr);grid-template-areas:"name""meta";align-items:center;display:grid}.guest-row-open strong{grid-area:name}.guest-row-open .guest-meta{color:#57505f;font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:meta;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex;overflow:hidden}.wait-badge{color:var(--waiting-ink);background:#fff1d6;border-radius:6px;padding:0 7px;font-size:12px;font-style:normal;font-weight:800}.wait-badge.long-wait{background:#ffd9a8;box-shadow:inset 0 0 0 1px #e7a64f}.board .booking-row{grid-template-columns:62px minmax(0,1fr) auto;grid-template-areas:"time who actions";align-items:center;gap:4px 10px;padding:8px 10px}.booking-row>.booking-time{grid-area:time}.booking-row>.booking-who{grid-area:who}.board .booking-row>.booking-actions,.board .booking-row>.removal-bar{grid-area:actions/auto;grid-template-columns:repeat(3,auto)}.board .booking-row .booking-actions button{min-width:60px;padding:0 12px}.board .booking-chips{margin-top:10px}.board .booking-chips .chip{min-height:32px;padding:4px 8px 0;font-size:12px}.booking-time strong{font-variant-numeric:tabular-nums;font-size:17px}.staff-rail button .board-icon{width:18px;height:18px;margin-bottom:2px}.staff-rail button{min-height:52px}.board .tech-card{grid-template-columns:minmax(0,1fr)}.tech-card .tech-pay{letter-spacing:0;flex-direction:row;width:auto;min-height:40px;margin:0 10px 10px;font-size:15px}.board .tech-card>.tech-pay{width:46%;min-height:44px;margin:0;position:absolute;bottom:8px;right:10px}.board .tech-card:is(:has(.tech-pay-list),:has(.tech-panel))>.tech-pay{width:auto;margin:0 10px 10px;position:static}.tech-pay-list{display:grid}.tech-card .tech-pay-list .tech-pay{text-align:center;color:#b4521f;background:#fff;flex-wrap:wrap;height:auto;padding:6px 12px;box-shadow:inset 0 0 0 2px #e8763a}.tech-card .tech-pay-list .tech-pay:active{background:#fdeee5}.tech-next{right:0}.board .column-body{container-type:inline-size}@container (max-width:460px){.board .booking-row{grid-template-columns:52px minmax(0,1fr);grid-template-areas:"time who""actions actions"}.board .booking-row>.booking-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 72px 72px}}.receipt-copy{text-align:center;letter-spacing:2px;border:1px solid #111;padding:2px;font-weight:800;margin-bottom:6px!important}.receipt-qr{float:right;width:22mm;image-rendering:pixelated;margin:2px 0 4px 8px}.guest-tag{vertical-align:2px;border-radius:6px;margin-left:6px;padding:0 6px;font-size:11px;font-style:normal;font-weight:800;line-height:18px;display:inline-block}.guest-tag.tag-new{color:#fff;background:#1f6feb}.guest-tag.tag-vip{color:#3a2a00;background:#f5c542}.guest-tag.tag-warning{color:#fff;background:#c0262d}.guest-tag.tag-blacklist{padding:0 2px;font-size:14px}.source-tag{vertical-align:2px;border-radius:6px;margin-left:6px;padding:0 6px;font-size:11px;font-weight:700;line-height:18px;display:inline-block}.source-tag.phone{color:#0c447c;background:#e6f1fb}.source-tag.online{color:#085041;background:#e1f5ee}.source-tag.confirmed{color:#fff;background:#1d9e75}.booking-time .source-tag.confirmed{white-space:nowrap;align-self:flex-start;margin-left:0;padding:0 4px;font-size:10px;font-style:normal;line-height:16px}.confirmed-mark{color:#fff;background:#1d9e75;border-radius:6px;margin-right:3px;padding:0 4px;font-style:normal;font-weight:800;display:inline-block}.booking-row.double-booked,.calendar-booking.double-booked{outline-offset:-2px;outline:2px solid #c0392b}.double-booked-note{color:#a32d2d;margin:2px 0 0;font-size:12px;font-weight:700;display:block}.app-shell .view-tabs button{position:relative}.rail-badge{color:#fff;text-align:center;background:#c0392b;border-radius:10px;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:800;line-height:20px;position:absolute;top:4px;right:6px}.uncheck-app{position:relative}.uncheck-button{color:#3b2443;background:#fff;border:1px solid #d9cfe0;border-radius:8px;align-items:stretch;min-height:40px;padding:0;font-size:14px;font-weight:700;display:inline-flex;overflow:hidden}.uncheck-button b{color:#fff;background:#c0392b;align-items:center;padding:0 12px;display:flex}.uncheck-button span{align-items:center;padding:0 12px;display:flex}.uncheck-button.none b{color:#6b4a80;background:#ece6f0}.uncheck-button.offline{border-color:#c0392b}.uncheck-button.offline span{color:#a32d2d;background:#fcebeb}.uncheck-list{z-index:30;background:#f6f2f8;border-radius:12px;flex-direction:column;gap:8px;width:340px;max-height:70vh;padding:10px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 12px 32px #3b24433a}.uncheck-card{color:#2a1d30;text-align:left;background:#fff;border:1px solid #e2d8e8;border-radius:8px;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:8px 10px;font-size:14px;display:flex}.uncheck-card:active{background:#efe6f5}.uncheck-card.double-booked{outline-offset:-2px;outline:2px solid #c0392b}.uncheck-when{color:#6b4a80;font-size:12px;font-weight:700}.uncheck-services{flex-wrap:wrap;gap:4px;display:flex}.uncheck-services i{color:#7a3b00;background:#ffe1c2;border-radius:4px;padding:1px 6px;font-size:12px;font-style:normal;font-weight:700}.uncheck-note{color:#5b4a63;font-size:12px}.uncheck-offline{color:#a32d2d;margin:0;font-size:13px;font-weight:700}.uncheck-empty{color:#5b4a63;margin:0;font-size:13px}.guest-tag.tag-birthday{padding:0 2px;font-size:14px}.history-panel{box-sizing:border-box;width:1172px;max-width:100%}.history-panel.has-side{grid-template-columns:minmax(0,1fr) 560px;align-items:start;gap:24px;display:grid}@media (max-width:1100px){.history-panel.has-side{grid-template-columns:minmax(0,1fr)}}.customer-upcoming{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.customer-upcoming h3{margin:0 0 4px;font-size:16px}.customer-booking{border:1px solid var(--line);min-height:44px;color:var(--ink);text-align:left;background:#faf8fb;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.customer-booking span{color:var(--muted);font-size:13px}.customer-tags{flex-direction:column;gap:8px;margin:8px 0;display:flex}.customer-flags{flex-wrap:wrap;gap:8px;display:flex}.customer-flag{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:8px;padding:0 12px;font-weight:700}.customer-flag.on.flag-member{background:#eef4ff;border-color:#1f6feb}.customer-flag.on.flag-vip{background:#fff6d6;border-color:#d4a514}.customer-flag.on.flag-warning{color:#8d1a1f;background:#fde8e8;border-color:#c0262d}.customer-flag.on.flag-blacklist{color:#fff;background:#3a1416;border-color:#3a1416}.customer-came{color:var(--ink);margin:4px 0}.appointment-dialog.kpi{background:var(--aura);color:#13213b;width:min(1860px,100%)}.kpi .report-bar h3,.kpi .report-range{color:#13213b}.kpi .kpi-bar{grid-template-columns:1fr auto auto auto 1fr;align-items:center;gap:18px;padding-right:48px;display:grid}.kpi .kpi-bar h3{justify-self:start}.kpi-side{flex-direction:column;align-items:center;gap:4px;display:flex}.kpi-side select{color:#13213b;min-width:230px;min-height:42px;font-size:15px;font-weight:700}.kpi-side small{color:#13213b;font-size:13px}.kpi-side-left,.kpi-side-right{flex-direction:row;gap:12px}.kpi-side-left small,.kpi-side-right small{white-space:nowrap;font-weight:700}.kpi-step{align-items:center;gap:6px;display:flex}.kpi-step button{border:1px solid var(--line);color:#13213b;cursor:pointer;background:#fff;border-radius:10px;width:44px;min-height:42px;padding:0;font-size:26px;font-weight:700;line-height:1}.kpi-step button:disabled{opacity:.4;cursor:default}.kpi-row{gap:14px;margin:12px 0;display:grid}.kpi-row-top{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) minmax(0,.95fr)}.kpi-row-bottom{grid-template-columns:minmax(0,.75fr) minmax(0,1.45fr) minmax(0,1fr)}.kpi-box{background:#ffffffc7;border:1px solid #ffffff73;border-radius:16px;min-width:0;padding:14px 16px;box-shadow:0 2px 8px #1b2a4a26}.kpi-box h4{color:#13213b;margin:0 0 10px;font-size:16px}.kpi-box h4 small{color:var(--muted);font-size:13px;font-weight:400}.kpi-box h4.kpi-sub{margin-top:16px}.kpi-hero-line{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.kpi-hero{color:#13213b;font-variant-numeric:tabular-nums;font-size:52px;line-height:1}.kpi-delta{color:var(--muted);font-size:13px;font-weight:700;display:block}.kpi-hero-line .kpi-delta{font-size:16px;display:inline}.kpi-delta.good{color:#1d7a4a}.kpi-delta.bad{color:#b3261e}.kpi-running{width:100%;height:auto;margin-top:6px;display:block}.kpi-axis{fill:var(--muted);color:var(--muted);font-size:12px}.kpi-legend{color:var(--muted);align-items:center;gap:6px;margin:2px 0 0;font-size:13px;display:flex}.kpi-legend i,.kpi-guests i{border-radius:3px;width:12px;height:12px;display:inline-block}.kpi-legend i+i,.kpi-legend i:not(:first-child){margin-left:12px}.kpi-minis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.kpi-minis>div{background:#eef3fa;border-radius:10px;padding:10px 12px}.kpi-minis span{color:var(--muted);font-size:13px;display:block}.kpi-minis strong{color:#13213b;font-variant-numeric:tabular-nums;font-size:26px;display:block}.kpi-techs,.kpi-services{gap:8px;margin:0;padding:0;list-style:none;display:grid}.kpi-techs li>button{width:100%;min-height:40px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:32px 88px minmax(0,1fr) 160px;align-items:center;gap:10px;padding:0;font-size:15px;display:grid}.kpi-services li{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 72px;align-items:center;gap:10px;font-size:14px;display:grid}.kpi-services li>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kpi-initial{color:#2e4f7a;background:#d6e3f3;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-weight:800;display:flex}.kpi-track{background:#dfe7f2;border-radius:6px;height:12px;overflow:hidden}.kpi-track i{background:#3f72aa;border-radius:6px;height:100%;display:block}.kpi-num{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.kpi-num small{color:var(--muted);font-size:12px;font-weight:400;display:block}.kpi-num .kpi-delta{font-size:12px}.kpi-guests{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:14px;display:grid}.kpi-guests ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.kpi-guests li{grid-template-columns:12px minmax(0,1fr) auto;align-items:center;column-gap:8px;display:grid}.kpi-guests li span small{color:var(--muted);font-size:12px;display:block}.kpi-guests li strong{text-align:right;font-size:22px}.kpi-guests li .kpi-delta{grid-column:2/-1}.kpi-ways{gap:8px;margin:0;padding:0;list-style:none;display:grid}.kpi-ways li{grid-template-columns:minmax(0,1fr) auto 110px;align-items:center;column-gap:8px;display:grid}.kpi-ways li span small{color:var(--muted);font-size:12px;display:block}.kpi-ways li strong{text-align:right;font-size:22px}.kpi-donut{width:150px;height:150px}.kpi-donut-total{fill:#13213b;font-size:28px;font-weight:800}.kpi-missed{grid-template-columns:160px minmax(0,1fr);align-items:center;gap:12px;font-size:14px;display:grid}.kpi-gauge{width:160px}.kpi-days{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px;height:220px;display:grid}.kpi-days>div{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.kpi-days i{border-radius:6px 6px 0 0;width:70%;min-height:2px;display:block}.kpi-days strong{font-size:14px}.kpi-days span{color:var(--muted);font-size:13px}.kpi-heat{align-items:center;gap:3px;display:grid}.kpi-heat>span{text-align:center}.kpi-heat b,.kpi-heat button{cursor:pointer;border:0;border-radius:4px;justify-content:center;align-items:center;height:40px;padding:0;font-family:inherit;font-size:13px;font-weight:700;display:flex}.appointment-dialog.kpi{height:calc(calc(100vh / var(--ui-zoom,1)) - 36px);flex-direction:column;display:flex;overflow:hidden}.kpi .kpi-body{grid-template-columns:220px minmax(0,1fr);gap:14px;margin-top:8px}.kpi .settings-nav{border-right-color:#ffffff73}.kpi .settings-nav button{color:#13213b;white-space:nowrap}.kpi .settings-nav button.active{color:#fff}.kpi-pane{min-height:0;padding-right:4px;overflow:auto}.kpi-pane>.kpi-row:first-child{margin-top:0}.kpi-trio.kpi-box>div{background:#eef3fa}.kpi-hours{margin:0;padding:0;list-style:none}.kpi-hours li{border-bottom:1px solid var(--line)}.kpi-hours-head,.kpi-hours button{grid-template-columns:1.1fr .65fr 1.5fr .95fr 1fr .85fr .9fr 1fr;align-items:center;gap:12px;display:grid}.kpi-hours-head span:nth-last-child(2){text-align:right}.kpi-hours-tip small{color:var(--muted);font-size:12px;display:block}.kpi-tabs.kpi-views{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.kpi-tabs.kpi-views button{background:#ffffffc7;min-height:92px}.kpi-tabs.kpi-views button.active{background:#fff}.kpi-requests .kpi-hours-head,.kpi-requests button,.kpi-requests .kpi-anyone{grid-template-columns:1.2fr repeat(6,minmax(0,1fr))}.kpi-requests .kpi-total{border-top:2px solid var(--line);background:#fff;font-weight:700}.kpi-feedback .kpi-hours-head,.kpi-feedback button,.kpi-feedback .kpi-anyone{grid-template-columns:1.2fr repeat(3,minmax(0,1fr))}.kpi-feedback-notes{margin:0;padding:0;list-style:none}.kpi-feedback-notes li{border-bottom:1px solid var(--line);grid-template-columns:110px 1.2fr 90px 1fr 3fr;align-items:start;gap:12px;padding:8px 4px;font-size:15px;display:grid}.kpi-feedback-notes li p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.kpi-requests .kpi-anyone{color:#13213b;background:#eef3fa;align-items:center;gap:12px;min-height:48px;padding:4px;font-size:15px;display:grid}.kpi-requests .kpi-hours-head span:not(:first-child),.kpi-requests button span,.kpi-requests .kpi-anyone span{text-align:center}.kpi-hours .kpi-delta{font-size:14px}.kpi-detail h4{margin:12px 0 0;font-size:15px}.kpi-detail h4 small{color:var(--muted);font-size:12px;font-weight:400}.kpi-detail-list.kpi-speed{max-height:32vh}.kpi-detail-list.kpi-speed li{grid-template-columns:minmax(0,1.6fr) 70px minmax(0,1.3fr) 100px}.kpi-detail-list.kpi-dropped li{grid-template-columns:170px minmax(0,1fr) minmax(0,1fr)}.kpi-detail:has(.kpi-tabs){height:calc(calc(100vh / var(--ui-zoom,1)) - 40px)}.kpi-detail:has(.kpi-tabs) .kpi-detail-list{max-height:none}.kpi-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 8px;display:grid}.kpi-tabs button{color:#13213b;min-height:78px;font:inherit;text-align:left;cursor:pointer;background:#eef3fa;border:1.5px solid #0000;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.kpi-tabs button span{color:var(--muted);font-size:13px}.kpi-tabs button strong{font-size:20px}.kpi-tabs button strong .kpi-delta{font-size:18px}.kpi-tabs button small{color:var(--muted);font-size:12px}.kpi-tabs button.active{border-color:var(--purple);background:#fff;box-shadow:0 2px 6px #6b3a5226}.kpi-detail .kpi-tabs button:not(.active){border-color:var(--line)}.kpi-detail-list.kpi-bills li{grid-template-columns:60px minmax(0,1fr) minmax(0,1.6fr) 90px}.kpi-detail-list.kpi-bills .kpi-day-head{background:#eef3fa;grid-template-columns:1fr auto;margin-top:6px;font-weight:700}.kpi-detail-list.kpi-bills .kpi-day-head>button{font-weight:inherit}.kpi-hours-head{color:var(--muted);padding:6px 4px;font-size:13px}.kpi-hours-head span:last-child{text-align:right}.kpi-hours button{color:#13213b;width:100%;min-height:48px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:4px;font-size:15px}.kpi-hours-rate{align-items:center;gap:8px;display:flex}.kpi-hours-rate .kpi-track{flex:1}.kpi-trio.kpi-five{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-trio.kpi-four{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-row-give{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.kpi-trio.kpi-two{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-trio.kpi-box>div.kpi-gift-owed{background:linear-gradient(135deg,var(--purple),#c45a86);color:#fff}.kpi-trio.kpi-box>div.kpi-gift-owed span,.kpi-trio.kpi-box>div.kpi-gift-owed small{color:#ffe6f0}.kpi-lost.kpi-gift-cards .kpi-lost-head,.kpi-lost.kpi-gift-cards li>div{grid-template-columns:1fr 1fr 1fr 1fr 1fr}.kpi-lost.kpi-gift-cards .kpi-lost-head span:nth-child(2),.kpi-lost.kpi-gift-cards .kpi-lost-head span:nth-child(3){text-align:right}.kpi-lost.kpi-gift-cards .kpi-lost-head span:last-child{text-align:left}.kpi-lost.kpi-gift-cards .kpi-lost-head span:nth-child(4),.kpi-lost.kpi-gift-cards li>div>:nth-child(4){padding-left:32px}.kpi-lost{margin:0;padding:0;list-style:none}.kpi-lost li{border-bottom:1px solid var(--line)}.kpi-lost-head,.kpi-lost li>button,.kpi-lost li>div{grid-template-columns:1.1fr 1fr 2fr .9fr 1.1fr .7fr;align-items:center;gap:12px;display:grid}.kpi-lost-head{color:var(--muted);padding:6px 4px;font-size:13px}.kpi-lost-head span:last-child{text-align:right}.kpi-lost li>button,.kpi-lost li>div{color:#13213b;width:100%;min-height:44px;font:inherit;text-align:left;background:0 0;border:0;padding:4px;font-size:15px}.kpi-lost li>button{cursor:pointer}.kpi-lost-bad{color:#b3261e;font-weight:700}.kpi-target{grid-template-columns:200px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:28px;display:grid}.kpi-target h4{margin:0}.kpi-target h4 small{margin-top:2px;display:block}.kpi-goal-top{color:#13213b;justify-content:space-between;align-items:center;font-size:15px;display:flex}.kpi-goal-top .click-edit{font-size:15px}.kpi-goal-bar{background:#dfe7f2;border-radius:6px;height:12px;margin:4px 0 6px;position:relative}.kpi-goal-bar i{border-radius:6px;height:100%;display:block}.kpi-goal-bar b{background:#13213b;border-radius:2px;width:3px;height:20px;margin-left:-1px;position:absolute;top:-4px}.kpi .settings-nav .kpi-settings-button{border-top:1px solid #ffffff73;border-radius:0 0 8px 8px;margin-top:auto}.kpi .settings-nav .kpi-settings-button.active{border-radius:8px}.kpi-settings h5{color:#13213b;margin:16px 0 4px;font-size:14px}.kpi-target-form{flex-wrap:wrap;align-items:flex-end;gap:18px;display:flex}.kpi-target-form label{color:#13213b;flex-direction:column;gap:4px;margin:0;font-size:14px;font-weight:700;display:flex}.kpi-target-form input,.kpi-target-form select{width:190px;height:44px;margin:0;font-size:18px;font-weight:700}.kpi-target-form .confirm-primary{border:1px solid var(--purple);background:var(--purple);color:#fff;border-radius:10px;min-height:44px;padding:0 24px;font-weight:700}.kpi-settings .kpi-box+.kpi-box{margin-top:14px}.kpi-number-form{flex-wrap:wrap;align-items:flex-end;gap:24px;display:flex}.kpi-number-form label{color:#13213b;flex-direction:column;gap:4px;margin:0;font-size:14px;font-weight:700;display:flex}.kpi-number-form input{text-align:center;width:90px;height:44px;margin:0;font-size:18px;font-weight:700}.kpi-number-form .confirm-primary{border:1px solid var(--purple);background:var(--purple);color:#fff;border-radius:10px;min-height:44px;padding:0 24px;font-weight:700}.kpi-target-note{color:var(--muted);margin:10px 0 0;font-size:14px}.kpi-section-title{color:#13213b;margin:14px 0 0;font-size:16px}.kpi-section-title small{color:var(--muted);margin-left:8px;font-size:13px;font-weight:400}.kpi-trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.kpi-trio>div,.kpi-trio>button{background:#eef3fa;border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.kpi-trio>button{color:inherit;font:inherit;text-align:left;cursor:pointer;border:0}.kpi-detail-list.kpi-discount-bills li,.kpi-detail-list.kpi-discount-bills li>button{grid-template-columns:165px minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr) 100px}.kpi-detail-list.kpi-discount-bills .kpi-lost-head{color:var(--muted);gap:8px;font-size:13px;display:grid}.kpi-trio span{color:var(--muted);font-size:13px}.kpi-trio strong{color:#13213b;font-variant-numeric:tabular-nums;font-size:26px}.kpi-trio small{color:var(--muted);font-size:12px}.kpi .report-fold{color:#13213b;background:#ffffffc7;border-radius:12px;padding:0 14px}.kpi-lapsed{background:#ffffffc7;border-radius:12px;margin:6px 0 0;padding:0 8px;list-style:none}.kpi-lapsed li{border-bottom:1px solid var(--line)}.kpi-lapsed button,.kpi-detail-list button{width:100%;min-height:40px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;display:grid}.kpi-lapsed button{grid-template-columns:1.3fr 1fr .5fr 1.5fr .8fr 1.5fr;padding:4px}.kpi-lapsed button small{color:var(--muted);font-size:13px}.kpi .report-fold+.report-fold,.kpi-lapsed+.report-fold{margin-top:8px}.kpi-lapsed-bar{color:var(--muted);background:#ffffffc7;border-radius:12px;align-items:center;gap:14px;margin:8px 0 0;padding:6px 10px;font-size:14px;display:flex}.kpi-lapsed-bar .segmented{margin:0}.kpi-lapsed-bar .segmented button{white-space:nowrap;min-height:40px}.kpi-print-button{border:1px solid var(--line);color:#13213b;background:#fff;border-radius:10px;min-height:42px;margin-left:auto;padding:0 16px;font-weight:700}.kpi-locked>button{color:#13213b;width:100%;height:100%;min-height:200px;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.kpi-locked>button strong{font-size:20px}.kpi-locked>button span{color:var(--muted);font-size:15px}.kpi-row-top>.kpi-locked{grid-column:span 2}.kpi-minis-note{color:var(--muted);font-size:12px;display:block}.kpi-flow{gap:22px;margin:8px 0 0;padding:0;list-style:none;display:grid}.kpi-flow li{color:var(--muted);grid-template-columns:minmax(0,1.25fr) minmax(0,1.3fr) 88px;align-items:center;gap:12px;font-size:16px;display:grid}.kpi-flow li.kpi-flow-total{color:#13213b;font-weight:700}.kpi-flow .kpi-num{font-size:18px}.kpi-flow .kpi-track{background:#eef3fa;height:22px}.kpi-flow .kpi-track i{border-radius:3px}.kpi-donut-money{font-size:19px}.kpi-warning{color:#8a1f17;background:#fdf0ef;border:1px solid #e3a5a0;border-radius:12px;margin:0 0 12px;padding:10px 14px;font-size:15px;font-weight:700}.kpi-bridge{gap:6px;margin:0;padding:0;list-style:none;display:grid}.kpi-bridge li{color:#13213b;justify-content:space-between;align-items:center;gap:12px;font-size:15px;display:flex}.kpi-bridge li strong{font-size:17px;display:inline}.kpi-bridge li.kpi-bridge-total{border-top:2px solid #13213b;padding-top:6px;font-weight:700}.kpi-pick li{display:block}.kpi-pick li>button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;column-gap:8px;padding:4px 6px;display:grid}.kpi-pick li.active>button{background:#dfe7f2;box-shadow:inset 0 0 0 2px #3f72aa}.kpi-pick .kpi-fee{color:var(--muted);grid-column:2/-1;font-size:12px}.kpi-expense-head{align-items:center;gap:14px;margin-bottom:6px;display:flex}.kpi-expense-head h4{margin:0}.kpi-unfilter{border:1px solid var(--lilac-rule);min-width:40px;min-height:40px;color:var(--purple);vertical-align:middle;background:#fff;border-radius:8px;margin:0 4px;font-size:20px;font-weight:800;line-height:1}.kpi-expense-head .kpi-print-button+.kpi-print-button{margin-left:0}.kpi-expenses .kpi-lost-head,.kpi-expenses li>button,.kpi-expenses li>div{grid-template-columns:.8fr 1.1fr 2fr .7fr .9fr .8fr}.kpi-expenses .kpi-expenses-total{border-top:2px solid #13213b;border-bottom:0}.kpi-expenses .kpi-expenses-total .kpi-num{font-size:18px}.kpi-expenses-removed li>div{color:var(--muted);text-decoration:line-through}.kpi-expenses-removed li>small{color:var(--muted);padding:0 4px 8px;font-size:13px;display:block}.kpi-expense-editor{width:min(720px,94vw)}.kpi-expense-editor .kpi-target-form+.kpi-target-form{margin-top:14px}.kpi-expense-editor .segmented{margin:0}.kpi-expense-editor .segmented button{min-height:44px}.kpi-expense-note{flex:1}.kpi-expense-note input,.kpi-target-form .kpi-expense-note input{width:100%}.kpi-target-form>button{border:1px solid var(--lilac-rule);background:var(--lilac-tint);min-height:44px;color:var(--purple);border-radius:10px;padding:0 18px;font-weight:700}.kpi-kinds{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.kpi-kind{border:1px solid var(--line);color:#13213b;background:#fff;border-radius:20px;align-items:center;gap:4px;min-height:40px;padding:0 6px 0 12px;font-weight:700;display:inline-flex}.kpi-kind button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:20px}.kpi-contact{background:#eef3fa;border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:8px 10px;display:flex}.kpi-contact span{font-weight:700}.kpi-contact button{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:10px;padding:0 14px;font-weight:700}.kpi-sheet{display:none}@page kpi-a4{size:A4 portrait;margin:12mm}@media print{body:has(>.kpi-sheet)>:not(.kpi-sheet){display:none!important}.kpi-sheet{page:kpi-a4;visibility:visible;color:#000;font:12pt/1.35 Inter,Arial,sans-serif;display:block}.kpi-sheet *{visibility:visible}.kpi-sheet h1{margin:0 0 2mm;font-size:16pt}.kpi-sheet>p{margin:0 0 5mm;font-size:10pt}.kpi-sheet table{border-collapse:collapse;width:100%;margin-bottom:6mm}.kpi-sheet th,.kpi-sheet td{text-align:left;vertical-align:top;border-bottom:.3mm solid #999;padding:1.6mm 2mm}.kpi-sheet th{border-bottom:.5mm solid #000;font-size:10pt}.kpi-sheet thead{display:table-header-group}.kpi-sheet tr{break-inside:avoid}.kpi-sheet td:last-child,.kpi-sheet th:last-child{text-align:right}.kpi-sheet tfoot td{border-top:.5mm solid #000;border-bottom:0;font-weight:700}.kpi-sheet .kpi-sheet-kinds{width:60%}}.kpi-detail-wide.kpi-detail{width:min(1200px,100%)}.kpi-detail{width:min(820px,100%);max-height:calc(calc(100vh / var(--ui-zoom,1)) - 40px);overflow:auto}.kpi-detail-list{max-height:62vh;margin:8px 0 0;padding:0;list-style:none;overflow:auto}.kpi-detail-list li{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(0,1fr) minmax(0,1.4fr) 90px;align-items:center;gap:8px;min-height:40px;padding:0 4px;font-size:15px;display:grid}.kpi-detail-list li>button{grid-column:1/-1;grid-template-columns:inherit;padding:0}.kpi-detail-list li>strong:last-child{text-align:right}.kpi-detail-total{background:#fff;font-weight:700;position:sticky;bottom:0}.kpi-detail-total span{grid-column:1/4}.customer-new{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fff;border-radius:10px;padding:0 14px;font-weight:700}.customer-create{margin:8px 0}.phone-matches{flex-wrap:wrap;grid-column:1/-1;gap:6px;display:flex}.phone-matches button{border:1px solid var(--line);min-height:44px;color:var(--ink);text-align:left;background:#fff;border-radius:8px;flex-direction:column;align-items:flex-start;padding:4px 10px;display:flex}.phone-matches button span{color:var(--muted);font-size:12px}.phone-matches p{color:var(--muted);margin:0;font-size:13px}.guest-points{color:#1f6feb;font-size:12px;font-weight:700;display:block}.customer-points{border:1px solid var(--line);background:#fff;border-radius:12px;margin:12px 0;padding:12px}.customer-points-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.customer-points-head h3{flex:1;margin:0;font-size:16px}.customer-points-head h3 b{font-size:22px}.customer-points-head h3 small{color:#1f7a3d;margin-left:4px;font-size:13px;font-weight:700}.points-add,.points-take{color:#fff;border:0;border-radius:8px;min-height:40px;padding:0 14px;font-weight:800}.points-add{background:#2f9e5b}.points-take{background:#c0262d}.points-history{margin:8px 0 0;padding:0;font-size:13px;list-style:none}.points-history li button{width:100%;min-height:40px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;align-items:baseline;gap:8px;padding:6px 8px;font-size:14px;display:flex}.points-history li button:not(:disabled):hover,.points-history li button.selected{background:#f3eef6}.points-history li button:disabled{cursor:default;opacity:1;color:var(--ink)}.points-history .points-when{font-variant-numeric:tabular-nums}.points-history .points-dots{border-bottom:2px dotted #c9c1cf;flex:1}.points-history small{color:var(--muted);font-size:12px}.points-history b.state{color:var(--muted);font-weight:700}.customer-receipt .receipt{width:100%}.customer-visit{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px}.points-history b{color:#1f7a3d;text-align:right;font-variant-numeric:tabular-nums}.points-history b.minus{color:#c0262d}.pay-totals dt.pay-points{background:#fff8e1;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pay-totals dd.pay-points{background:#fff8e1}.pay-totals .pay-points.on{background:#eaf6ee}.pay-points small{color:var(--muted);font-size:13px;font-weight:600}.pay-points-ask{min-height:40px;color:var(--ink);background:#fff;border:1.5px solid #a3899a;border-radius:8px;padding:0 14px;font-weight:700}.pay-points-choice{min-height:40px;font-size:16px}.pay-points select{max-width:220px;height:40px}.points-dialog{width:min(880px,100%)}.points-dialog h3{margin:0 0 14px;font-size:20px}.points-choices{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.points-choices button{border:1.5px solid var(--line);min-height:88px;color:var(--ink);text-align:center;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:10px;font-size:17px;display:flex}.points-choices button b{font-size:17px}.points-choices .points-minus{color:#c0283c;font-weight:800}.points-choices .points-plus{color:#1f8a4c;font-weight:800}.points-choices button.active{border-color:var(--purple);box-shadow:inset 0 0 0 2px var(--purple);background:#f6eff4}.points-choices button:active{background:#f6eff4}.reward-settings h5{margin:16px 0 4px;font-size:14px}.reward-tick{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-weight:600;display:flex}.reward-tick input{width:22px;height:22px;accent-color:var(--purple)}.reward-tick small,.reward-line small{color:var(--muted);font-size:12px;font-weight:500}.reward-line{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;font-weight:600;display:flex}.reward-line input{text-align:center;width:72px;height:40px;font-weight:700}.booking-rule-label{width:220px}.reward-line .segmented{margin:0}.reward-line .segmented button{flex:none;width:64px}.turn-settings h4{margin:0 0 10px;font-size:18px}.turn-settings h5{margin:16px 0 4px;font-size:14px}.turn-rule{border-left:4px solid var(--purple);background:var(--surface);border-radius:8px;gap:4px;margin:0 0 14px;padding:10px 14px;display:grid}.turn-rule span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:700}.turn-rule b{font-size:15px;line-height:1.45}.turn-rule small,.turn-row small{color:var(--muted);font-size:13px;line-height:1.45}.turn-step{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-width:0;margin:0 0 12px;padding:6px 16px 10px}.turn-step legend{align-items:center;gap:8px;padding:0 6px;font-size:15px;font-weight:700;display:flex}.turn-step legend small{color:var(--muted);font-size:13px;font-weight:500}.turn-step-no{background:var(--purple);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;display:inline-grid}.turn-settings p.turn-note{color:var(--muted);margin:2px 0 6px;font-size:13px;line-height:1.45}.turn-row{grid-template-columns:170px 340px minmax(0,1fr);align-items:center;column-gap:16px;min-height:52px;display:grid}.turn-row>label,.turn-label{font-size:15px;font-weight:600}.turn-amount{align-items:center;gap:6px;font-size:16px;font-weight:700;display:inline-flex}.turn-amount input{text-align:right;border:1.5px solid #cfc6da;border-radius:8px;width:120px;height:44px;margin:0;padding:0 12px;font-size:16px;font-weight:700}.turn-amount input[aria-invalid=true]{border-color:var(--danger-brick);background:#fff6f5}.turn-modes{margin:0}.turn-modes button{flex:none;padding:0 18px}.turn-tick{cursor:pointer}.turn-tick>span{grid-column:1/3;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.turn-tick input{width:22px;height:22px;accent-color:var(--purple);margin:0}.turn-tick.off,.reward-tick.off{cursor:not-allowed;opacity:.5}.turn-actions{justify-content:flex-end;align-items:center;gap:12px;margin:4px 0 8px;display:flex}.turn-actions p.turn-status{margin:0;font-size:13px;font-weight:700}.turn-actions p.turn-status.idle{color:var(--muted);font-weight:500}.turn-actions p.turn-status.error{color:var(--danger-brick)}.turn-actions p.turn-status.ok{color:var(--complete-green)}.email-settings h4{margin:0 0 10px;font-size:18px}.email-settings h5{margin:14px 0 4px;font-size:14px}.email-settings h5 small{color:var(--muted);margin-left:6px;font-weight:500}.email-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.email-row{border-bottom:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:0 10px;font-size:15px;font-weight:600;display:flex}.email-row.on{background:#f3e8ef}.email-row.off{opacity:.5}.email-row input[type=checkbox]{width:22px;height:22px;accent-color:var(--purple);margin:0}.email-row-name{min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.email-row small{color:var(--muted);margin-left:auto;font-size:12px;font-weight:500}input.email-hours{border:0;border-bottom:1.5px solid var(--ink);text-align:center;background:0 0;border-radius:0;width:44px;height:40px;margin:0;padding:0;font-size:16px;font-weight:800}.email-settings p.email-keys{color:var(--muted);margin:10px 0 4px;font-size:13px}.email-settings p.email-warn{color:#b3261e;font-weight:700}.email-text{border:1px solid var(--line);width:100%;font:inherit;resize:vertical;border-radius:8px;margin:0;padding:8px 10px;font-size:14px;line-height:1.5}.email-preview{border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px}.email-settings p.email-preview-head{border-bottom:1px solid var(--line);color:var(--muted);margin:0 0 8px;padding-bottom:6px;font-size:13px}.email-settings p.email-preview-body{color:var(--ink);white-space:pre-line;margin:0;font-size:15px;line-height:1.6}.email-field{gap:4px;margin:8px 0;font-size:14px;font-weight:600;display:grid}.email-field textarea,.email-field input{border:1px solid var(--line);font:inherit;border-radius:8px;margin:0;padding:8px 10px;font-weight:500}.email-inline{grid-template-columns:110px minmax(0,520px);align-items:center}.reward-log{margin:4px 0 0;padding:0;font-size:13px;list-style:none}.reward-log li{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding:6px 0;display:flex}.reward-log span{color:var(--muted)}.reward-settings h5 small{color:var(--muted);margin-left:6px;font-weight:500}.reward-mode{border:1.5px solid var(--line);cursor:pointer;border-radius:8px;padding:6px 10px}.reward-mode.on{border-color:var(--purple);background:#f7f1f5}.reward-mode input[type=radio]{width:22px;height:22px;accent-color:var(--purple)}.reward-mode small{flex-basis:100%;padding-left:30px}.reward-line input.reward-perk-text{text-align:left;width:240px;padding:0 10px}.reward-perk-add{background:#fff;border:1.5px solid #a3899a;border-radius:8px;width:44px;height:44px;font-size:20px;font-weight:800}.reward-perks{border:1px solid var(--line);border-radius:8px;margin:4px 0;padding:0;list-style:none}.reward-perks li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:0 0 0 12px;font-weight:600;display:flex}.reward-perks li:first-child{border-top:none}.reward-perks button{background:0 0;border:none;width:44px;height:44px;font-size:16px}.receipt hr.receipt-rule{border:0;border-top:1px dashed #111;margin:4px 0}.receipt hr.receipt-rule.double{border-top:2px solid #111}.receipt .receipt-pair{justify-content:space-between;gap:10px;display:flex}.receipt .receipt-tech-name,.receipt .receipt-total{font-weight:800}.receipt .receipt-who p{white-space:pre-wrap;margin:0}.receipt .receipt-item.receipt-sub{color:#555}.receipt .receipt-tech+.receipt-tech{margin-top:4px}.receipt .receipt-grand{padding:2px 0;font-size:16px}.appointment-dialog .receipt p,.receipt p{line-height:1.7}.receipt .receipt-item{padding-left:12px}.receipt .receipt-thanks{text-align:center}@media print{.receipt .receipt-grand{font-size:20px}.receipt,.receipt *{font-weight:700!important}}.receipt .receipt-who{display:flow-root}.tech-report{display:none}@media print{body:has(>.tech-report)>:not(.tech-report){display:none!important}.tech-report{box-sizing:border-box;color:#000;padding:0 5mm;font-family:ui-monospace,Consolas,monospace;font-size:14px;line-height:1.35;display:block}.tech-report p{margin:0}.tech-report-center{text-align:center}.tech-report .tech-report-title{font-size:17px;font-weight:800}.tech-report table{border-collapse:collapse;table-layout:fixed;border-top:1px dashed #000;border-bottom:1px dashed #000;width:100%;margin:6px 0;font-size:13px}.tech-report th{text-align:left;border-bottom:1px solid #000;font-weight:800}.tech-report th:first-child{width:7%}.tech-report th:nth-child(2){width:13%}.tech-report th:nth-child(4){width:18%}.tech-report th:nth-child(5){width:15%}.tech-report th:nth-child(6){width:12%}.tech-report th:nth-child(n+4),.tech-report tr:first-child td:nth-child(n+4){text-align:right}.tech-report th,.tech-report td{vertical-align:top;padding:0 1px}.tech-report tr:first-child td{white-space:nowrap;overflow:hidden}.tech-report tbody tr:last-child td{padding-bottom:4px}.tech-report tbody.canceled tr:first-child{text-decoration:line-through}.tech-report-line{justify-content:space-between;display:flex}.tech-report-tip{font-weight:800}.tech-report-key{font-size:12px;margin-top:6px!important}}.book{max-width:520px;margin:0 auto;padding:12px 16px 96px;font-size:16px}.book h2{margin:14px 0 10px;font-size:20px}.book-shop{text-align:center;background:#ffffffe6;border-radius:14px;padding:14px 16px}.book-shop h1{color:var(--purple);margin:0 0 4px;font-size:20px}.book-shop p{color:var(--muted);margin:2px 0;font-size:14px}.book a{color:var(--purple);font-weight:700}.book-steps{counter-reset:step;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.book-steps li{counter-increment:step;color:var(--muted);text-align:center;background:#ffffff8c;border-radius:8px;padding:6px 2px;font-size:12px;font-weight:700}.book-steps li:before{content:counter(step) ". "}.book-steps li.now{background:var(--purple);color:#fff}.book-steps li.done{color:var(--purple);background:#fbeff2}.book-guests-tabs{align-items:center;gap:8px;margin:0 -16px 12px;padding:0 16px;display:flex;overflow-x:auto}.book-guest-tab{border:1px solid var(--line);background:#fff;border-radius:22px;flex:none;align-items:center;min-height:44px;display:inline-flex;overflow:hidden}.book-guest-tab button{min-height:44px;color:var(--ink);white-space:nowrap;background:0 0;border:0;padding:0 14px;font-size:15px;font-weight:700}.book-guest-tab.on{border-color:var(--purple);background:var(--purple)}.book-guest-tab.on button{color:#fff}.book-guest-tab .book-guest-x{min-width:40px;color:var(--danger-brick);padding:0 10px 0 0;font-size:20px}.book-guest-tab.on .book-guest-x{color:#ffd9de}.book-guest-add{border:1px dashed var(--purple);min-height:44px;color:var(--purple);white-space:nowrap;background:#ffffffb3;border-radius:22px;flex:none;padding:0 16px;font-size:15px;font-weight:700}.book-group-call{color:var(--ink);margin:-4px 0 12px;font-size:14px}.book-when{margin:0 0 12px;font-weight:700}.book-hint{color:var(--muted);margin:8px 0;font-size:14px}.book-empty{color:var(--muted);text-align:center;margin:16px 0}.book-error{color:var(--danger-brick);margin:10px 0;font-weight:700}.book-addon-line{width:100%;min-height:40px;color:var(--purple);text-align:left;background:#fbeff2;border:0;padding:6px 14px 10px 48px;font-size:14px;font-weight:700;display:block}.book-tray-back{z-index:20;background:#0000004d;align-items:flex-end;display:flex;position:fixed;inset:0}.book-tray{width:100%;max-width:520px;min-height:50vh;max-height:80vh;padding:14px 14px calc(14px + env(safe-area-inset-bottom));background:#fff;border-radius:18px 18px 0 0;margin:0 auto;animation:.2s ease-out book-tray-up;overflow-y:auto}@keyframes book-tray-up{0%{transform:translateY(48px)}}@media (prefers-reduced-motion:reduce){.book-tray{animation:none}}.book-tray-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:17px;display:flex}.book-tray-x{width:40px;height:40px;color:var(--danger-brick);background:#fdecec;border:0;border-radius:50%;flex:none;font-size:24px;line-height:1}.book-tray-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.book-tile{border:1px solid var(--line);min-height:64px;color:var(--ink);text-align:left;background:#fff;border-radius:12px;align-content:center;gap:4px;padding:8px 10px;font-size:14px;font-weight:600;display:grid}.book-tile strong{color:var(--purple);font-size:15px}.book-tile.wide{grid-column:1/-1;min-height:48px}.book-tile.on{border:2px solid var(--purple);color:var(--purple);background:#fbeff2}.book-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.book-group{border:1px solid var(--line);min-height:84px;color:var(--ink);text-align:left;background:#fff;border-radius:14px;align-content:center;gap:4px;padding:12px;font-size:17px;display:grid}.book-group small{color:var(--muted);font-size:13px;font-weight:600}.book-group.on{border:2px solid var(--purple);background:#fbeff2}.book-group.on small{color:var(--purple)}.book-picked{background:#fff;border-radius:14px;margin-top:14px;padding:12px}.book-picked h3{margin:0 0 8px;font-size:15px}.book-picked-item{border-top:1px solid var(--line)}.book-picked-row{align-items:center;gap:10px;min-height:48px;display:flex}.book-picked-row strong{flex:1}.book-picked .book-addon-line{background:0 0;padding-left:0}.book-chips{gap:6px;margin:0 -14px 12px;padding:0 14px;display:flex;overflow-x:auto}.book-chip{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:20px;flex:none;padding:0 14px;font-size:14px;font-weight:700}.book-chip.on{border-color:var(--purple);background:var(--purple);color:#fff}.book-tile small{color:var(--muted);font-size:12px;font-weight:500}.book-tile-note{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.book-tray-done{border-radius:12px;width:100%;min-height:50px;margin-top:12px;font-size:17px;font-weight:800}.book-row{border:1px solid var(--line);width:100%;min-height:56px;color:var(--ink);text-align:left;background:#fff;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 16px;font-size:16px;font-weight:700;display:flex}.book-row.on{border:2px solid var(--purple);color:var(--purple);background:#fbeff2}.book-calendar{background:#fff;border-radius:14px;padding:14px 12px}.book-when-rows{background:#fff;border-radius:14px;gap:2px;margin-bottom:14px;padding:6px 14px;display:grid}.book-when-row{justify-content:space-between;align-items:center;gap:12px;min-height:52px;display:flex}.book-when-row+.book-when-row{border-top:1px solid var(--line)}.book-when-row>span{color:var(--muted);font-size:15px;font-weight:700}.book-when-row button{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#f6f3f7;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-size:16px;font-weight:800;display:flex}.book-when-row button i{color:var(--purple);font-size:13px;font-style:normal}.book-when-row>b{padding:0 14px;font-size:16px}.book-muted{color:var(--muted);font-weight:600}.book-tray-calendar .book-calendar{padding:0}.book-month{grid-template-columns:40px 1fr 96px 40px;gap:8px;margin-bottom:12px;display:grid}.book-month button{border:1px solid var(--line);height:44px;color:var(--ink);background:#fff;border-radius:10px;font-size:20px}.book-month select{border:1px solid var(--line);height:44px;color:var(--ink);background:#fff;border-radius:10px;padding:0 10px;font-size:16px}.book-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.book-grid b{padding:4px 0;font-size:13px}.book-grid button{border:1.5px solid var(--purple);height:42px;color:var(--purple);background:#fff;border-radius:10px;font-size:16px;font-weight:700}.book-grid button:disabled{color:#9a95a0;opacity:1;background:#ececf0;border-color:#0000;text-decoration:line-through}.book-grid button.on{background:var(--purple);color:#fff}.book-parts{grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0;display:grid}.book-parts button{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:8px;font-size:13px;font-weight:700}.book-parts button.on{border-color:var(--purple);color:var(--purple);background:#fbeff2}.book-times{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.book-times button{border:1px solid var(--line);min-height:48px;color:var(--ink);background:#fff;border-radius:10px;font-size:15px;font-weight:700}.book-times button.on{border-color:var(--purple);background:var(--purple);color:#fff}.book-summary{color:var(--purple);background:#fbeff2;border-radius:12px;gap:4px;margin-bottom:12px;padding:12px 14px;display:grid}.book-summary span{color:var(--ink);font-size:14px}.book section>label{gap:6px;margin-bottom:12px;font-weight:700;display:grid}.book section>label small{color:var(--muted);font-size:13px;font-weight:400}.book input,.book textarea{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px;font-size:16px}.book textarea{resize:vertical;min-height:90px}.book-photos{gap:8px;margin-bottom:12px;font-weight:700;display:grid}.book-photos>div{gap:8px;display:flex}.book-photo{width:84px;height:84px;position:relative}.book-photo img{object-fit:cover;border-radius:10px;width:100%;height:100%}.book-photo button{background:var(--ink);color:#fff;border:0;border-radius:50%;width:28px;height:28px;font-size:16px;position:absolute;top:-8px;right:-8px}.book-photo-add{border:2px dashed var(--purple);width:84px;height:84px;color:var(--purple);background:#fff;border-radius:10px;place-items:center;font-size:28px;display:grid}.book-photo-add input{display:none}.book-bar{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#ffffffeb;justify-content:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000001a}.book-bar button{border-radius:12px;flex:1;max-width:244px;min-height:50px;font-size:17px;font-weight:800}.book-bar{flex-wrap:wrap}.book-bar-note{text-align:center;flex-basis:100%;margin:0}.book-next{background:var(--purple);color:#fff;border:0}.book-back{border:1px solid var(--line);color:var(--ink);background:#fff}.book-done{text-align:center}.book-link{text-align:center;background:#fff;border-radius:14px;margin-top:14px;padding:18px 16px}.book-link p{margin:0 0 14px;font-size:17px}.book-link .book-next{border-radius:12px;width:100%;max-width:320px;min-height:50px;font-size:17px;font-weight:800}.book-link .book-hint{margin:14px 0 0}.book-link-done{color:#0f6e56;font-weight:700}.rate-stars{justify-content:center;gap:4px;display:flex}.rate-stars button{color:#d9d3dc;cursor:pointer;background:0 0;border:0;width:56px;height:56px;padding:0;font-size:46px;line-height:1}.rate-stars button:hover,.rate-stars button:focus-visible{color:#f2b01e}.rate-stars:has(button:hover) button:not(:hover~button){color:#f2b01e}.book-link p.rate-title{color:var(--purple);font-size:19px;font-weight:800}.rate-shown{color:#f2b01e}.rate-note{box-sizing:border-box;width:100%;font:inherit;resize:none;border:1px solid #d7cfdb;border-radius:10px;margin-bottom:12px;padding:10px 12px;font-size:16px}.rate-sites{gap:8px;margin-top:16px;display:grid}.rate-sites a{min-height:48px;color:var(--ink);border:1px solid #d7cfdb;border-radius:12px;justify-content:center;align-items:center;text-decoration:none;display:flex}.book-done .book-summary{text-align:left}@media (min-width:768px) and (min-height:600px),(min-width:1024px){.book:has(.book-steps){max-width:720px;padding:20px 24px 112px}.book:has(.book-steps) h2{margin:18px 0 12px;font-size:22px}.book:has(.book-steps) .book-shop{padding:18px 20px}.book:has(.book-steps) .book-shop h1{font-size:24px}.book:has(.book-steps) .book-shop p{font-size:15px}.book-steps{gap:10px;margin-top:14px}.book-steps li{padding:10px 4px;font-size:14px}.book-guests-tabs{flex-wrap:wrap;margin:0 0 14px;padding:0;overflow:visible}.book-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.book-group{min-height:104px;padding:16px;font-size:18px}.book-group small{font-size:14px}.book-tray-back{align-items:center;padding:24px}.book-tray{border-radius:18px;max-width:640px;min-height:0;max-height:calc(100dvh - 48px);padding:20px}:is(.book-tray-calendar,.book-tray:has(>.book-row)){max-width:480px}.book-tray-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.book-chips{flex-wrap:wrap;margin:0 0 12px;padding:0;overflow:visible}.book-times{grid-template-columns:repeat(6,1fr)}.book section:has(>label){grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:16px;display:grid}.book section:has(>label)>*{grid-column:1/-1}.book section:has(>label)>label:has(input){grid-column:auto}}@media (min-width:1024px){.book:has(.book-steps){max-width:1040px;padding:24px 32px 120px}.book:has(.book-steps) h2{margin:20px 0 14px;font-size:24px}.book:has(.book-steps) .book-shop{padding:20px 24px}.book:has(.book-steps) .book-shop h1{font-size:26px}.book-steps{margin-top:16px}.book-groups{gap:14px}.book-group{min-height:112px;padding:18px 20px;font-size:19px}.book-tray{max-width:760px}.book section:has(>.book-when-rows){grid-template-columns:360px minmax(0,1fr);align-items:start;column-gap:24px;display:grid}.book section:has(>.book-when-rows)>*{grid-column:2}.book section:has(>.book-when-rows)>h2{grid-column:1/-1}.book section:has(>.book-when-rows)>.book-when-rows{grid-area:2/1/span 5}.book section:has(>.book-when-rows)>.book-parts{margin-top:0}}.visit-photos{gap:6px;margin:8px 0;display:grid}.visit-photos>div{gap:8px;display:flex}.visit-photos button{border:1px solid var(--line);background:#fff;border-radius:8px;width:88px;height:88px;padding:0;overflow:hidden}.visit-photos img{object-fit:cover;width:100%;height:100%}.visit-photo-big{z-index:60;background:#000c;place-items:center;display:grid;position:fixed;inset:0}.visit-photo-big img{border-radius:8px;max-width:90vw;max-height:90vh}.visit-photo-big button{background:#fff;border:0;border-radius:50%;width:48px;height:48px;font-size:24px;position:absolute;top:16px;right:16px}.pay-dialog .pay-bill{--ink:#f3f4f7;--muted:#a3a9b6;--line:#ffffff24;--purple:#dfe4ee;--lavender:#ffffff1a;color:var(--ink);background:linear-gradient(160deg,#2b303df5,#1b1f29f5);border:1px solid #fff3;box-shadow:0 10px 30px #10131a55,inset 0 1px #ffffff26}.pay-dialog .pay-bill .pay-tech{background:0 0}.pay-dialog .pay-bill .pay-totals dt,.pay-dialog .pay-bill .pay-totals dd{border-bottom-color:#ffffff21}.pay-dialog .pay-bill .pay-quote-button{color:var(--ink);background:#ffffff14;border-color:#ffffff3d}.pay-dialog .pay-bill .pay-totals .pay-left{color:#f2a585}.appointment-dialog.pay-dialog .pay-bill button.pay-note{color:var(--muted);border-top-color:#ffffff2b}.pay-dialog .pay-bill .pay-remove{color:var(--muted)}.pay-dialog .pay-bill .pay-tech.adding{background:#ffffff12}.pay-dialog .pay-bill .pay-line.ticked{background:#ffffff1f}.pay-dialog .pay-bill .pay-totals .pay-points{background:#ffd56a1f}.pay-dialog .pay-bill .pay-totals .pay-points.on{background:#7be0a01f}.pay-dialog .pay-bill .pay-points-ask{color:var(--ink);background:#ffffff14;border-color:#ffffff3d}.pay-dialog .pay-bill .checkout-guest{color:#dfe4ee}.pay-dialog .pay-bill .pay-line-edit label,.pay-dialog .pay-bill .pay-line-edit small{color:var(--muted)}.pay-dialog .pay-bill .pay-rebill-reason{color:var(--muted);border-top-color:#ffffff2b}.pay-dialog .pay-bill .checkout-quick button{color:var(--ink);background:#ffffff14;border-color:#ffffff3d}.pay-dialog .pay-bill .pay-tech.just-given{animation:1.4s ease-out pay-flash-dark}@keyframes pay-flash-dark{0%{background:#7be0a038;box-shadow:inset 4px 0 #7be0a0}to{background:0 0;box-shadow:inset 4px 0 #7be0a000}}@media (prefers-reduced-motion:reduce){.pay-dialog .pay-bill .pay-tech.just-given{animation:none}}.pay-dialog .pay-bill .checkout-quick button.active{color:#1b1f29;background:#f3f4f7;border-color:#f3f4f7}
