@import "https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700&display=swap";:root{--blue:#438ff4;--nav:#1e2e4c;--nav2:#263b5b;--bg:#f0f2f5;--text:#333;--border:#e8e8e8;--muted:#8c8c8c}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font:14px Roboto,Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:#438fd2;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{white-space:nowrap;margin:0;font-size:18px;font-weight:500}h2{font-size:18px;font-weight:500}h3{font-size:14px;font-weight:500}input:not([type=checkbox]):not([type=file]),select,textarea{color:#555;background:#fff;border:1px solid #d9d9d9;border-radius:3px;min-width:0;max-width:100%;height:32px;padding:4px 10px;transition:border .15s}input:focus,select:focus,textarea:focus{border-color:#64a5fc;outline:0;box-shadow:0 0 0 2px #438ff420}input::placeholder,textarea::placeholder{color:#bfbfbf}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{opacity:.45}input[type=checkbox]{accent-color:var(--blue);vertical-align:middle;width:15px;height:15px}textarea{resize:vertical;height:80px;padding:9px 10px}select{min-width:130px}svg{flex-shrink:0}button{color:inherit}.btn{color:#555;white-space:nowrap;background:#fff;border:1px solid #d9d9d9;border-radius:3px;justify-content:center;align-items:center;gap:7px;height:32px;padding:0 14px;font-size:14px;font-weight:400;transition:background .15s,border .15s;display:inline-flex;box-shadow:0 1px 2px #00000006}.btn:hover:not(:disabled){color:var(--blue);border-color:var(--blue);background:#fbfdff}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover:not(:disabled){background:#307ee8}.btn.success{color:#fff;background:#8cda68;border-color:#8cda68}.btn.success:hover:not(:disabled){color:#fff;background:#73c34f;border-color:#73c34f}.btn.danger,.btn.outline-red{color:#e77471;border-color:#e77471}.btn.outline-blue{color:#438fd2;border-color:#438fd2}.btn.outline-gold{color:#bb994d;border-color:#c7a962}.btn.selected{border-color:var(--blue);color:var(--blue)}.btn.icon-only{width:32px;padding:0}.icon-button{color:#999;background:0 0;border:0;justify-content:center;align-items:center;padding:5px;display:inline-flex}.icon-button:hover{color:var(--blue)}.link{color:#4a92c8;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;line-height:1.6}.link:hover{color:#2978bf;text-decoration:underline}.muted{color:var(--muted);font-size:13px;line-height:1.6}.danger-text{color:#e25b57}.green-text{color:#45ab7c}.required{color:#e85a5a;margin-right:3px;font-weight:400}.app{min-height:100vh}.main-sidebar{z-index:30;background:var(--nav);color:#b9c2d1;flex-direction:column;width:214px;transition:width .18s;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{color:#7fb4c1;letter-spacing:5px;background:0 0;border:0;flex-shrink:0;align-items:center;gap:11px;height:64px;padding:0 22px;font-size:13px;display:flex}.brand-symbol{color:#6dafb5;align-items:center;display:flex;transform:rotate(-15deg)}.main-sidebar nav{padding-top:0}.main-sidebar nav button{color:#b9c2d1;text-align:left;background:0 0;border:0;align-items:center;gap:14px;width:100%;height:48px;padding:0 25px;display:flex;position:relative}.main-sidebar nav button:hover{color:#fff;background:#ffffff0d}.main-sidebar nav button.active{background:var(--blue);color:#fff}.nav-badge{color:#fff;background:#e54c4c;border:1px solid #fff;border-radius:50%;justify-content:center;align-items:center;min-width:21px;height:21px;font-size:12px;font-weight:400;display:flex;position:absolute;right:14px}.sidebar-bottom{margin-top:auto;position:relative}.account{color:#fff;text-align:left;background:#ffffff04;border:0;align-items:center;gap:9px;width:100%;height:62px;padding:0 20px;font-size:12px;display:flex}.account>span:last-child{text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;overflow:hidden}.avatar{color:#fff;background:#d4d9e2;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:29px;height:29px;display:flex}.collapse-button{color:#c6d1e0;background:#102641;border:0;justify-content:center;align-items:center;width:100%;height:48px;display:flex}.account-menu{color:#555;z-index:60;background:#fff;border-radius:5px;min-width:240px;padding:5px;position:absolute;bottom:110px;left:14px;box-shadow:0 5px 25px #0003}.account-menu button,.account-menu a{text-align:left;color:#555;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:11px 12px;display:flex}.account-menu button:hover,.account-menu a:hover{background:#f0f6ff}.app-main{min-height:100vh;margin-left:214px;position:relative}.app-main.with-secondary{margin-left:426px}.secondary-sidebar{background:var(--nav2);color:#aeb8c8;z-index:20;width:212px;padding-bottom:30px;position:fixed;top:0;bottom:0;left:214px;overflow:auto}.secondary-title{color:#c1c8d4;align-items:center;height:64px;padding:0 24px;font-size:14px;display:flex}.secondary-sidebar>button{text-align:left;color:#a1adbf;background:0 0;border:0;width:100%;height:48px;padding:0 24px;display:block}.secondary-sidebar>button:hover{color:#fff;background:#ffffff07}.secondary-sidebar>button.active{color:#fff;background:#ffffff06;font-weight:600}.page-header{z-index:15;background:#fff;border-bottom:1px solid #e8e8e8;justify-content:space-between;align-items:center;gap:16px;height:65px;padding:0 24px;display:flex;position:sticky;top:0}.header-title,.header-actions{align-items:center;gap:12px;min-width:0;display:flex}.header-actions{justify-content:flex-end;padding-right:0}.header-title .date-range{margin-left:8px}.page-content{padding:24px}.panel{background:#fff;min-width:0;margin-bottom:20px}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.panel>.toolbar{padding:16px}.toolbar.spread{justify-content:space-between}.toolbar.end{justify-content:flex-end}.page-content>.toolbar{margin-bottom:16px}.toolbar h2{margin:0 0 8px}.toolbar p{margin-bottom:0}.toolbar .toolbar{padding:0}.toolbar>select{width:200px}.search-field{width:260px;max-width:100%;position:relative}.search-field input{width:100%;padding-right:32px!important}.search-field svg{color:#999;pointer-events:none;position:absolute;top:8px;right:10px}.date-range{background:#fff;border:1px solid #d9d9d9;border-radius:3px;align-items:center;gap:7px;height:32px;padding:0 6px;display:flex}.date-range input{width:143px;box-shadow:none!important;border:0!important;padding:0 5px!important}.date-range span{color:#999}.table-scroll{max-width:100%;min-height:200px;overflow:auto}.table-scroll table{border-collapse:collapse;text-align:left;table-layout:auto;width:100%;min-width:100%}th{border-bottom:1px solid var(--border);white-space:nowrap;background:#fafafa;padding:17px 16px;font-weight:500;line-height:1.45}td{border-bottom:1px solid var(--border);vertical-align:middle;min-width:90px;padding:16px;line-height:1.65}tbody tr:hover{background:#e9f3ff}tbody tr:last-child td{border-bottom:1px solid var(--border)}td .cell-sub{color:#999;white-space:normal;margin-top:3px;font-size:11px;display:block}th.sortable{cursor:pointer}.sort-arrows{color:#bbb;margin-left:8px;font-size:12px}.row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.row-actions .link{white-space:nowrap}.empty{color:#c8c8c8;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:190px;display:flex}.empty svg{color:#dedede;filter:drop-shadow(0 5px 3px #00000006)}.empty span{font-size:14px}.pagination{color:#888;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:27px 18px;display:flex}.pagination>.btn{width:32px;padding:0}.pagination>select{color:#777;min-width:100px}.pagination>span:first-child{margin-right:6px}.badge{color:#888;white-space:nowrap;background:#fafafa;border:1px solid #ddd;border-radius:3px;padding:0 7px;font-size:12px;line-height:21px;display:inline-block}.badge.blue{color:#438fd2;background:#e8f5ff;border-color:#b8d8f1}.badge.green{color:#68ac48;background:#f0f8e8;border-color:#c5e6a4}.badge.red{color:#e25b57;background:#fff2f0;border-color:#efb9b6}.badge.gold{color:#c9ac43;background:#fffbe5;border-color:#eee2a0}.badge.purple{color:#9666df;background:#f4efff;border-color:#cbb2f1}.badge.gray{color:#555;background:#f3f3f3;border-color:#ccc}.tabs{scrollbar-width:thin;white-space:nowrap;border-bottom:1px solid #e8e8e8;align-items:center;gap:0;max-width:100%;display:flex;overflow-x:auto}.tabs button{color:#666;background:0 0;border:0;flex-shrink:0;padding:18px 20px;position:relative}.tabs button.active{color:var(--blue)}.tabs button.active:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:0;left:0;right:0}.tabs button:hover{color:var(--blue)}.tab-content{padding:24px}.tab-content>.btn,.tab-content>.toolbar{margin-bottom:18px}.segmented{white-space:nowrap;background:#fff;border:1px solid #d9d9d9;border-radius:3px;height:32px;display:flex}.segmented button{color:#666;background:0 0;border:0;border-right:1px solid #d9d9d9;padding:0 14px}.segmented button:last-child{border-right:0}.segmented button.active{color:var(--blue);outline:1px solid var(--blue);outline-offset:0;z-index:1;background:#fff}.segmented button:hover{color:var(--blue)}.cashier-layout{grid-template-columns:minmax(550px,1fr) 370px;height:calc(100vh - 65px);min-height:590px;display:grid;overflow:hidden}.invoice-area{background:#f8f9fb;flex-direction:column;min-width:0;margin:22px 22px 0 24px;display:flex;overflow:hidden}.invoice-tabs{scrollbar-width:thin;background:#f6f7fa;flex-shrink:0;min-height:40px;display:flex;overflow:auto}.invoice-tabs>button{white-space:nowrap;color:#9a9fa9;background:#fff;border:1px solid #eee;border-top:0;border-bottom:3px solid #0000;min-width:112px;padding:10px 20px}.invoice-tabs>button.active{border-bottom-color:var(--blue);color:#263b5b;font-weight:500}.customer-line{background:#fff;flex-wrap:wrap;align-items:center;gap:12px;min-height:72px;padding:16px 10px;display:flex}.customer-line>select{width:185px;font-size:13px}.customer-meta{align-items:center;gap:5px;padding-bottom:15px;display:flex;position:relative}.customer-meta>small{color:#777;white-space:nowrap;font-size:11px;position:absolute;bottom:0;left:17px}.phone-meta{align-items:center;gap:8px;display:flex}.invoice-lines{flex:1;min-height:100px;padding:0 10px;overflow:auto}.invoice-line-head,.invoice-line{grid-template-columns:minmax(150px,2fr) 70px 90px 135px 90px 32px;align-items:center;gap:14px;display:grid}.invoice-line-head{color:#979da7;padding:14px 10px 10px;font-size:11px}.invoice-line{background:#fff;border-radius:5px;min-height:66px;margin-bottom:8px;padding:12px 10px;box-shadow:0 2px 4px #0000000e}.invoice-line strong{font-size:14px;font-weight:400;line-height:1.5;display:block}.invoice-line small{color:#999;margin-top:4px;line-height:1.5;display:block}.invoice-line>input{width:100%}.invoice-line>input:nth-of-type(2){text-align:right}.discount-input{align-items:center;min-width:0;height:32px;display:flex}.discount-input input{flex:1;width:80px;border-radius:3px 0 0 3px!important}.discount-input select{border-radius:0 3px 3px 0;width:47px;min-width:47px;padding-left:7px;border-left:0!important}.line-total{text-align:right}.invoice-extras{gap:32px;margin:24px 0;display:flex}.invoice-extras .btn{font-size:13px}.note-dot{background:#d3a74b;border-radius:50%;width:6px;height:6px}.note-preview{color:#999;white-space:pre-wrap;font-size:13px}.invoice-photos{flex-wrap:wrap;gap:10px;padding-bottom:15px;display:flex}.invoice-photos img{object-fit:cover;border:1px solid #ddd;border-radius:4px;width:68px;height:68px}.invoice-summary{flex-shrink:0;width:50%;min-width:350px;margin-left:auto;padding:20px 10px 12px}.invoice-summary>div{justify-content:space-between;align-items:center;gap:20px;min-height:28px;margin-bottom:16px;display:flex}.invoice-summary .discount-input{width:190px}.invoice-summary .grand-total{border-top:1px solid #d9d9d9;margin-bottom:0;padding-top:16px}.grand-total strong{font-weight:500}.invoice-actions{background:#fff;flex-shrink:0;align-items:center;gap:5px;min-height:52px;padding:9px 10px;display:flex;overflow:auto}.invoice-actions .btn{flex:1;padding:0 8px;font-size:13px}.invoice-empty{color:#c2c7d0;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:200px;display:flex}.invoice-empty p{font-size:13px}.cashier-no-invoice{text-align:center;margin:auto;padding-bottom:50px}.shelf{background:#f9fafb;border-left:1px solid #e3e7ec;flex-direction:column;min-width:0;padding:12px 10px 8px;display:flex;overflow:hidden}.shelf>.search-field{width:100%;margin-bottom:10px}.shelf>.segmented{width:100%}.shelf>.segmented button{flex:1;padding:0 10px;font-size:13px}.shelf-groups{flex:1;margin:12px -10px 0;overflow:auto}.shelf-group{border-bottom:1px dashed #d9d9d9}.shelf-group-title{text-align:left;text-transform:uppercase;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:54px;padding:15px 20px;display:flex}.shelf-group-title:hover{background:#edf4fb}.round-plus{color:#fff;background:#a7adb7;border-radius:50%;justify-content:center;align-items:center;width:23px;height:23px;font-size:21px;font-weight:400;display:flex}.shelf-items{gap:8px;padding:0 12px 12px;display:grid}.shelf-item{text-align:left;background:#fff;border:1px solid #efefef;border-radius:4px;min-height:65px;padding:15px;position:relative;box-shadow:0 2px 2px #0000000a}.shelf-item strong{padding-right:20px;font-weight:400;display:block}.shelf-item small{color:#999;margin-top:8px;font-size:12px;display:block}.shelf-item>svg{color:var(--blue);position:absolute;top:18px;right:12px}.shelf-item:hover{background:#fbfdff;border-color:#83b8fd}.shelf-footer{gap:6px;padding-top:10px;display:flex}.shelf-footer>.btn{flex:1;padding:0 7px;font-size:13px}.profile{padding:24px 24px 0}.profile-head{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.profile h2,.invoice-detail h2{align-items:center;gap:12px;margin-bottom:0;display:flex}.profile-info{flex-wrap:wrap;align-items:center;gap:25px 60px;min-height:62px;padding:0 12px 18px;display:flex;position:relative}.profile-info>span{font-size:13px}.profile-spend{text-align:right;flex-direction:column;gap:10px;margin-left:auto;padding-left:30px;display:flex}.profile-spend small{color:#999}.profile-spend strong{font-size:23px;font-weight:400}.profile>.tabs{margin:15px -24px 0}.profile>.tab-content{margin:0 -24px}.invoice-detail{padding:24px}.invoice-detail>.profile-info{padding:25px 0}.detail-total{text-align:right;padding:24px 16px;font-size:16px}.detail-total strong{margin-left:15px;font-size:22px}.panel-description{color:#888;padding:20px 16px}.schedule-scroll{min-height:350px;max-height:calc(100vh - 260px);padding:0 16px 16px;overflow:auto}.schedule{border-top:1px solid #ddd;border-left:1px solid #ddd;width:max-content;min-width:100%;display:grid;position:relative}.schedule-header{z-index:3;text-align:center;background:#fafafa;border-bottom:1px solid #ddd;border-right:1px solid #ddd;height:50px;padding:17px 10px;font-weight:500;position:sticky;top:0}.schedule-time{color:#888;z-index:2;background:#fff;border-bottom:1px solid #ddd;border-right:1px solid #ddd;min-height:100px;padding:20px 12px;position:sticky;left:0}.schedule-cell{background:#fff;border-bottom:1px solid #ddd;border-right:1px solid #ddd;min-height:100px;padding:5px}.schedule-booking{text-align:left;background:#f2ecff;border:1px solid #d0b8f5;border-top:4px solid #8058d2;border-radius:2px;width:100%;margin-bottom:5px;padding:7px;font-size:12px;line-height:1.4;display:block}.schedule-booking strong{font-weight:500;display:block}.schedule-booking small{display:block}.schedule-booking.complete{background:#f0f5eb;border-color:#77b24b #a3cb88 #a3cb88}.finance-stats{grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:24px;display:grid}.finance-stat{color:#fff;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:150px;padding:28px 20px;display:flex}.finance-stat span{font-size:17px}.finance-stat strong{font-size:28px;font-weight:600}.finance-stat.mint{background:#61c49e}.finance-stat.blue{background:#397df2}.finance-stat.red{background:#dc5149}.finance-stat.yellow{background:#f2bf52}.switch{background:#c6c6c6;border:0;border-radius:14px;width:29px;height:17px;display:block;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:left .1s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch.on{background:#346bf2}.switch.on:after{left:14px}.dropdown{position:relative}.dropdown-menu{z-index:40;background:#fff;border-radius:4px;min-width:180px;padding:5px 0;display:none;position:absolute;top:32px;right:0;box-shadow:0 3px 10px #0002}.dropdown:hover>.dropdown-menu,.dropdown:focus-within>.dropdown-menu{display:block}.dropdown-menu>button{text-align:left;background:0 0;border:0;width:100%;padding:12px 16px}.dropdown-menu>button:hover{color:var(--blue);background:#eaf3ff}.salary-summary{padding:18px 24px}.salary-metrics{grid-template-columns:1.6fr repeat(3,1fr);align-items:center;gap:24px;padding:30px 0 12px;display:grid}.salary-metrics p{color:#777;font-size:13px}.salary-metrics p strong{color:#444;font-weight:400}.salary-metrics>div:not(:first-child){text-align:center;flex-direction:column;gap:10px;display:flex}.salary-metrics small{color:#999;font-size:13px}.salary-metrics>div>strong{font-size:23px;font-weight:400}.report-tabs .tabs{border:0}.report-tabs .tabs>button{color:#999;background:#fafafa;border:1px solid #ededed;border-bottom:0;border-radius:4px 4px 0 0;padding:12px 16px;font-size:13px}.report-tabs .tabs>button.active{color:#3769d6;background:#fff}.report-tabs .tabs>button.active:after{display:none}.report-kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px;padding:8px 24px 24px;display:grid}.report-kpis>div{border:1px solid #f1f1f1;flex-direction:column;gap:8px;min-height:100px;padding:20px 12px;display:flex;box-shadow:0 2px 6px #0000000a}.report-kpis span{color:#9299a5;font-size:13px}.report-kpis strong{color:#11243b;font-size:30px;font-weight:600}.report-table{padding:0 24px}.report-table .table-scroll{border:1px solid var(--border)}.report-table td,.report-table th{border-right:1px solid var(--border)}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:flex-start;padding:100px 24px 24px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:#fff;border-radius:4px;width:520px;max-width:100%;animation:.16s ease-out modalIn;position:relative;overflow:hidden;box-shadow:0 5px 20px #0003}.modal.wide{width:940px}.modal>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;min-height:55px;padding:16px 24px;display:flex}.modal h2{margin:0;font-size:16px;font-weight:500}.modal-footer{border-top:1px solid var(--border);background:#fff;justify-content:flex-end;align-items:center;gap:8px;padding:10px 16px;display:flex}.form-body{padding:28px 24px}.form-row{grid-template-columns:145px 1fr;align-items:start;gap:12px;margin-bottom:25px;line-height:32px;display:grid}.form-row:last-child{margin-bottom:0}.form-row>span{text-align:right;padding-top:6px;font-size:13px;line-height:1.5}.form-row input,.form-row textarea,.form-row select{width:100%}.form-row input[type=checkbox]{width:16px;margin-top:7px}.form-error{color:#c84943;background:#fff1f0;border:1px solid #ffccc7;border-radius:4px;margin:12px 0;padding:12px 14px;font-size:13px;line-height:1.6}.confirm-body{align-items:flex-start;gap:16px;padding:28px 24px;line-height:1.8;display:flex}.confirm-body svg{color:#e5ac40}.confirm-body p{margin:0}.payment-body{padding:28px 24px}.pay-total{justify-content:space-between;align-items:center;margin-bottom:20px;font-size:20px;font-weight:500;display:flex}.pay-total strong{font-size:23px}.payment-label{justify-content:space-between;margin-bottom:8px;padding-right:35px;font-size:13px;display:flex}.payment-row{grid-template-columns:1fr 1.5fr 24px;gap:10px;margin-bottom:10px;display:grid}.payment-row select,.payment-row input{width:100%}.payment-body>textarea{width:100%;margin:16px 0 20px}.stack-field{margin-bottom:18px;font-size:13px;line-height:1.5;display:block}.stack-field>input,.stack-field>select,.stack-field>textarea{width:100%;margin-top:7px;display:block}.two-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.booking-form{background:#ecedf3;grid-template-columns:370px 1fr;min-height:500px;display:grid}.booking-form>div:first-child{background:#fff;border-right:1px solid #eee;padding:22px 24px}.booking-form h3{margin-bottom:16px}.booking-services{padding:24px}.booking-service{background:#fff;border-radius:6px;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:16px;display:flex}.booking-service select{flex:1;min-width:180px}.booking-estimate{text-align:right;color:#777;margin-top:28px}.assign-body{background:#f8f9fb;padding:24px}.assign-card{background:#fff;border-radius:6px;margin-bottom:12px;padding:20px;box-shadow:0 2px 5px #0001}.assign-card>div{border-bottom:1px dashed #ddd;margin-bottom:15px;padding-bottom:12px}.assign-card label{color:#777;font-size:13px;line-height:1.8;display:block}.assign-card small{color:#aaa}.assign-card select{width:100%;height:110px;margin-top:8px;padding:4px;display:block}.assign-card option{padding:6px}.receipt{text-align:center;max-width:440px;margin:auto;padding:36px 24px;font-size:13px;line-height:1.5}.receipt h2{margin:16px 0 8px;font-size:19px}.receipt p{margin-bottom:5px}.receipt-meta{text-align:left;margin:24px 0 15px}.receipt table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.receipt th,.receipt td{background:#fff;border-bottom:1px dashed #bbb;min-width:0;padding:9px 3px}.receipt-total{text-align:left;border-top:1px dashed #888;justify-content:space-between;padding-top:14px;display:flex}.receipt-total+p{margin-top:18px}.toast{z-index:300;background:#fff;border-radius:5px;align-items:center;gap:10px;max-width:90vw;padding:13px 20px;font-size:14px;line-height:1.5;display:flex;position:fixed;top:22px;left:50%;transform:translate(-50%);box-shadow:0 4px 22px #0002}.toast svg{color:#58b475}.sync-state{z-index:70;color:#7ca188;pointer-events:none;background:#ffffffdb;border-radius:3px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;display:flex;position:fixed;bottom:5px;right:24px}.sync-state.failed{color:#d35f56}.save-error{z-index:80;color:#a03a35;background:#fff1f0;border-bottom:1px solid #f2b0ab;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 20px;display:flex;position:sticky;top:65px}.save-error span{flex:1;min-width:220px}.loading-app{color:#597786;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;display:flex}.loading-app h1{letter-spacing:7px;font-size:22px}.loading-app p{color:#999}.mobile-toggle{display:none}.settings-nav{flex-wrap:wrap;gap:10px;margin-bottom:22px;display:flex}.settings-page{max-width:1400px}.settings-info{padding:24px}.settings-info h2{margin-bottom:12px}.settings-info>p:last-child{margin-bottom:0}.settings-page .form-body{max-width:700px;padding:20px 28px}.settings-page .form-row{grid-template-columns:190px 1fr}.settings-backup{border-top:1px solid var(--border);padding:28px}.team-instruction{color:#52749a;background:#f0f7ff;border:1px solid #c7e1ff;align-items:flex-start;gap:12px;margin:8px 20px 20px;padding:18px;line-height:1.6;display:flex}.team-instruction p{margin:7px 0}.role-guide{color:#777;padding:24px;font-size:13px;line-height:1.7}.role-guide h3{color:#333}.onboarding-intro{color:#777;gap:18px;padding:24px 28px 0;line-height:1.8;display:flex}.onboarding-intro svg{color:#438ff4}.import-panel{padding:24px}.import-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:16px;padding-bottom:20px;display:flex}.import-header svg{color:#438ff4}.import-header h2{margin-bottom:8px}.import-header p{color:#888;margin:0;line-height:1.6}.import-step{border-bottom:1px solid var(--border);gap:18px;padding:26px 0;display:flex}.step-number{color:#438ff4;background:#e9f2ff;border:1px solid #a8ccff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.import-step>div{flex:1;min-width:0}.import-step h3{margin-top:3px}.mapping-grid{grid-template-columns:repeat(3,1fr);gap:5px 20px;display:grid}.import-step .stack-field{max-width:480px}.import-preview{padding:24px 0}.import-preview .table-scroll{border:1px solid #eee;min-height:0;max-height:380px}.import-preview td,.import-preview th{white-space:nowrap;padding:10px 14px;font-size:12px}.import-result{background:#f6f9fc;flex-wrap:wrap;gap:18px;margin-bottom:20px;padding:16px;font-size:13px;display:flex}.import-result strong{color:#51a079}.check-label{align-items:flex-start;gap:10px;margin:20px 0;font-size:13px;line-height:1.6;display:flex}.access-denied{text-align:center;color:#888;padding:80px 25px}.access-denied svg{color:#cda04a;margin-bottom:20px}.access-denied h2{color:#555}.collapsed .main-sidebar{width:64px}.collapsed .brand{padding:0 17px}.collapsed .brand>span:last-child,.collapsed .main-sidebar nav button>span,.collapsed .account>span:last-child{display:none}.collapsed .main-sidebar nav button{padding:0 23px}.collapsed .nav-badge{min-width:16px;height:16px;font-size:9px;top:5px;right:3px}.collapsed .account{padding:0 17px}.collapsed .app-main{margin-left:64px}.collapsed .secondary-sidebar{left:64px}.collapsed .app-main.with-secondary{margin-left:276px}.readonly .invoice-actions,.readonly .invoice-extras{display:none}.spin{animation:1.4s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes modalIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (width>=1700px){.cashier-layout{grid-template-columns:minmax(650px,1fr) 390px}.invoice-line-head,.invoice-line{grid-template-columns:minmax(180px,2fr) 80px 110px 150px 100px 32px;gap:24px}}@media (width<=1300px){.cashier-layout{grid-template-columns:minmax(480px,1fr) 300px}.invoice-area{margin:18px 14px 0 16px}.invoice-line-head,.invoice-line{grid-template-columns:minmax(110px,1.5fr) 55px 70px 100px 65px 28px;gap:8px}.invoice-actions{flex-wrap:wrap}.invoice-actions .btn{flex:140px}.invoice-summary{padding-top:10px}.invoice-extras{gap:15px}.secondary-sidebar{width:200px}.app-main.with-secondary{margin-left:414px}.finance-stats{gap:14px}.finance-stat strong{font-size:24px}.header-actions{gap:7px}.header-actions .btn{padding:0 10px}.salary-metrics{gap:12px}.collapsed .app-main.with-secondary{margin-left:264px}.form-row{grid-template-columns:135px 1fr}}@media (width<=1050px){.main-sidebar{width:184px}.main-sidebar nav button{gap:12px;padding:0 18px}.brand{letter-spacing:3px;padding:0 16px}.app-main{margin-left:184px}.secondary-sidebar{width:180px;left:184px}.app-main.with-secondary{margin-left:364px}.page-content{padding:18px}.page-header{padding:0 18px}.cashier-layout{grid-template-columns:minmax(430px,1fr) 260px;overflow:auto}.invoice-area{margin-left:14px;margin-right:10px}.shelf .segmented button{padding:0 5px;font-size:12px}.shelf-footer{flex-wrap:wrap}.shelf-footer>.btn{flex:100%}.customer-line{gap:8px}.customer-line>select{width:160px}.phone-meta{display:none}.invoice-summary{width:70%}.finance-stats{grid-template-columns:repeat(2,1fr)}.finance-stat{min-height:120px}.profile-info{gap:18px}.profile-spend{padding-left:0}.salary-metrics{grid-template-columns:1fr 1fr}.header-title .date-range{margin-left:0}.header-title{gap:8px}.header-title .date-range input{width:120px}.mapping-grid{grid-template-columns:repeat(2,1fr)}.secondary-sidebar>button{padding:0 16px;font-size:13px}}@media (width<=800px){.main-sidebar{transition:transform .2s;transform:translate(-100%);width:214px!important}.mobile-open .main-sidebar{transform:translate(0)}.app-main,.app-main.with-secondary,.collapsed .app-main,.collapsed .app-main.with-secondary{margin-left:0}.secondary-sidebar{z-index:10;white-space:nowrap;background:var(--nav2);gap:0;width:100%;height:auto;padding:0;display:flex;position:relative;top:65px;overflow:auto;left:0!important}.secondary-sidebar .secondary-title{display:none}.secondary-sidebar>button{white-space:nowrap;flex-shrink:0;width:auto;height:42px;padding:0 18px}.with-secondary .page-content{padding-top:60px}.with-secondary .page-header{position:fixed;top:0;left:0;right:0}.with-secondary{padding-top:0}.mobile-toggle{z-index:25;color:#5f7898;display:flex;position:fixed;top:18px;left:9px}.page-header{gap:8px;height:65px;padding-left:44px}.header-actions{gap:6px;max-width:65%;overflow:auto}.header-actions .btn{flex-shrink:0;padding:0 8px;font-size:12px}.header-actions .btn>svg{width:13px}.header-title h1{font-size:16px}.cashier-layout{flex-direction:column;height:auto;min-height:calc(100vh - 65px);display:flex;overflow:visible}.invoice-area{min-height:610px;max-height:none;margin:12px}.invoice-lines{flex:auto;min-height:220px;max-height:500px}.shelf{border:1px solid #e3e7ec;min-height:360px;margin:0 12px 12px}.shelf-groups{max-height:420px}.shelf-footer{flex-wrap:nowrap}.shelf-footer>.btn{flex:1}.invoice-actions{z-index:8;position:sticky;bottom:0}.invoice-actions .btn{flex:100px}.customer-line{padding:12px 8px}.invoice-summary{min-width:300px;max-width:90%;padding:20px 12px}.invoice-line-head,.invoice-line{grid-template-columns:minmax(115px,1.5fr) 50px 70px 100px 65px 28px;min-width:500px}.invoice-tabs{min-height:40px}.brand>span:last-child,.main-sidebar nav button>span,.account>span:last-child{display:initial!important}.main-sidebar nav button{padding:0 25px!important}.brand{padding:0 22px!important}.account{padding:0 20px!important}.collapse-button{display:none}.account-menu{bottom:64px}.page-content{padding:14px}.toolbar{gap:9px}.toolbar>.search-field{width:220px}.toolbar>select{width:180px}.date-range input{width:125px}.profile{padding:18px 18px 0}.profile-head{flex-wrap:wrap}.profile-info{grid-template-columns:1fr;gap:13px;padding:0;display:grid}.profile-spend{text-align:left;gap:5px;margin-top:5px;margin-left:0}.profile>.tabs{margin-top:18px;margin-left:-18px;margin-right:-18px}.profile>.tab-content{margin:0 -18px}.tab-content{padding:16px}.finance-stats{gap:10px}.finance-stat{gap:8px;min-height:100px;padding:20px 10px}.finance-stat strong{font-size:23px}.finance-stat span{font-size:14px}.tabs button{padding:15px}.report-kpis{grid-template-columns:repeat(2,1fr);gap:12px;padding:5px 15px 20px}.report-kpis strong{font-size:24px}.report-kpis>div{min-height:90px;padding:15px 12px}.report-table{padding:0 12px}.reports .page-header .header-title{flex-wrap:wrap}.reports .toolbar>select{width:170px}.header-title .date-range{display:none}.modal-overlay{padding:24px 12px}.modal{width:520px}.modal>header{padding:15px 18px}.form-body{padding:22px 18px}.form-row{grid-template-columns:115px 1fr;gap:10px;margin-bottom:20px}.form-row>span{font-size:12px}.booking-form{grid-template-columns:1fr}.booking-form>div:first-child{border-right:0}.booking-form .booking-services{padding:20px}.booking-service select{min-width:160px}.assign-body,.salary-summary{padding:16px}.salary-metrics{grid-template-columns:1fr 1fr;gap:15px;padding-top:20px}.salary-metrics>div>strong{font-size:20px}.salary-metrics>div:first-child{grid-column:1/-1}.settings-page .form-row{grid-template-columns:120px 1fr}.settings-page .form-body{padding:20px 15px}.import-panel{padding:16px}.mapping-grid{grid-template-columns:1fr}.import-header{gap:10px}.import-header p{font-size:12px}.import-step{gap:10px}.sync-state{bottom:3px;right:12px}.save-error{padding:10px;font-size:12px}.onboarding-intro{padding:20px 18px 0}.receipt{padding:25px 18px}.pagination{padding:20px 12px;font-size:12px}.pagination>span:first-child{text-align:center;width:100%;margin-bottom:5px}}@media print{body{background:#fff}.app>.main-sidebar,.app>.secondary-sidebar,.app>.app-main,.toast,.sync-state{display:none!important}.modal-overlay{background:#fff;padding:0;display:block;position:static;overflow:visible}.modal{box-shadow:none;width:100%;overflow:visible}.modal>header,.modal-footer{display:none!important}.receipt{width:80mm;max-width:80mm;margin:0 auto;padding:0;font-size:11px}.receipt table{font-size:10px}.receipt h2{font-size:16px}body:has(.receipt){margin:0}@page{margin:10mm}}@media (width>=801px) and (width<=1100px){.cashier-layout{flex-direction:column;height:auto;display:flex;overflow:visible}.invoice-area{min-height:calc(100vh - 90px)}.invoice-lines{min-height:220px;max-height:450px}.shelf{border:1px solid #e3e7ec;min-height:350px;max-height:550px;margin:0 14px 15px}.invoice-line-head,.invoice-line{grid-template-columns:minmax(125px,2fr) 60px 85px 110px 75px 30px;min-width:510px}.shelf-footer>.btn{flex:1}.shelf-footer{flex-wrap:nowrap}.invoice-actions .btn{flex:90px}}.brand{letter-spacing:.6px;gap:8px;padding-left:16px;padding-right:12px;font-size:12px}.brand>span:last-child{white-space:normal;text-align:left;max-width:135px;font-weight:600;line-height:1.4}.branch-bar{background:#fff;border-bottom:1px solid #e5e9ef;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 24px;display:flex}.branch-bar>strong{color:#233b5c;margin-right:auto}.branch-bar label{color:#64748b;align-items:center;gap:10px;font-size:12px;display:flex}.branch-bar select{min-width:210px;max-width:300px}.central-page{gap:22px;display:grid}.central-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.central-metrics>.panel{gap:14px;padding:22px;display:grid}.central-metrics span{color:#758193;font-size:13px}.central-metrics strong{color:#233b5c;font-size:25px}.central-branches{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.central-card{flex-direction:column;gap:22px;padding:22px;display:flex}.central-card header{align-items:flex-start;gap:12px;display:flex}.central-card header>div{flex:1}.central-card h2{margin:0;font-size:16px;line-height:1.5}.central-card header p{margin:5px 0;font-size:12px}.central-building{color:#438ff4;background:#edf5ff;border-radius:10px;padding:10px;display:flex}.central-card-stats{grid-template-columns:2fr 1fr;gap:12px;display:grid}.central-card-stats>div{gap:9px;display:grid}.central-card-stats small{color:#8993a3}.central-card-stats strong{font-size:21px}.central-detail-grid{grid-template-columns:1fr 1fr;gap:14px;font-size:12px;display:grid}.central-detail-grid span{color:#697588;justify-content:space-between;gap:7px;display:flex}.central-detail-grid b{color:#334155}.central-card footer{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.central-empty{color:#708095;background:#f5f8fc;padding:12px;font-size:12px;line-height:1.6}.central-page .panel-description{border-top:1px solid #eee;padding:12px 22px;line-height:1.7}@media (width<=1250px){.central-branches{grid-template-columns:1fr}.central-card header{align-items:center}}@media (width<=700px){.branch-bar{padding:12px 16px}.branch-bar>strong{width:100%}.branch-bar label{justify-content:space-between;width:100%}.central-metrics{grid-template-columns:1fr 1fr;gap:10px}.central-metrics>.panel{padding:16px}.central-metrics strong{font-size:20px}.central-card{padding:16px}}.reference-assign .assign-card{background:#fff;border-radius:4px;margin-bottom:14px;padding:18px 20px;display:block;box-shadow:0 2px 5px #00000012}.assign-title{border-bottom:1px dashed #ddd;margin-bottom:12px;padding-bottom:14px}.assignment-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin:9px 0;display:flex;position:relative}.assignment-row>select:first-child{width:180px}.assignment-row>input{width:150px}.assignment-row .assignment-unit{width:45px;min-width:45px;padding:3px}.assignment-menu{position:relative}.assignment-popover{z-index:8;background:#fff;width:220px;padding:6px;position:absolute;top:30px;right:0;box-shadow:0 4px 15px #0003}.assignment-popover button{text-align:left;background:#fff;border:0;width:100%;padding:10px;font-size:13px;display:block}.assignment-popover button:hover{background:#f0f5ff}.assignment-requested{text-align:right;color:#438ff4;width:100%}.reference-booking{background:#ebedf1;min-height:540px;grid-template-columns:370px 1fr!important}.reference-booking .booking-information{background:#fff;padding:20px 24px!important}.booking-information .toolbar>input{flex:1;width:100px}.booking-information h3{margin:0 0 7px}.booking-information h3:not(:first-child){margin-top:20px}.booking-name{width:100%;margin-top:8px}.booking-customer-results{border:1px solid #ddd;max-height:190px;overflow:auto}.booking-customer-results button{text-align:left;background:#fff;border:0;border-bottom:1px solid #eee;width:100%;padding:8px;display:block}.booking-customer-results small{color:#888;display:block}.booking-guest{background:#fff;border-radius:7px;margin-bottom:16px;padding:20px 16px}.booking-guest h3{color:#555;margin:0 0 16px;font-weight:600}.reference-booking .booking-services{padding:24px!important}.reference-booking .booking-service{background:0 0;border:0;flex-wrap:nowrap;gap:8px;margin-bottom:10px;padding:0;display:flex}.reference-booking .booking-service select{flex:1;width:100px;min-width:0;font-size:12px}.booking-guest-total{justify-content:flex-end;align-items:center;gap:8px;margin-top:24px;font-size:12px;display:flex}.booking-guest-total>span{color:#ddd}.booking-guest textarea{width:100%;margin-top:12px}.booking-quick-customer{background:#f5f7fb;gap:8px;margin-top:10px;padding:10px;display:grid}@media (width<=900px){.reference-booking{grid-template-columns:1fr!important}.reference-booking .booking-service{flex-wrap:wrap}.reference-booking .booking-service select{min-width:120px}}.public-booking{color:#233c32;background:#f5f2eb;min-height:100vh;padding:0 6vw;font-family:Arial,sans-serif}.public-booking header{border-bottom:1px solid #d7dfd4;justify-content:space-between;align-items:center;padding:30px 0;display:flex}.booking-logo{letter-spacing:4px;color:inherit;font-size:24px;font-weight:700;text-decoration:none}.booking-logo span{letter-spacing:5px;margin-top:6px;font-size:9px;display:block}.public-booking header>span{font-size:12px}.booking-public-grid{grid-template-columns:1fr 1fr;gap:8vw;max-width:1220px;margin:64px auto;display:grid}.booking-eyebrow{letter-spacing:2px;color:#7a765b;font-size:10px;font-weight:700}.booking-intro h1{letter-spacing:-2px;margin:25px 0;font:clamp(38px,4.3vw,66px)/1.12 Georgia,serif}.booking-intro h1 em{color:#7a8468;font-weight:400}.booking-intro p{max-width:390px;font-size:16px;line-height:1.8}.booking-steps{border-top:1px solid #d7dfd4;flex-direction:column;gap:18px;margin:35px 0;padding-top:25px;font-size:13px;display:flex}.booking-intro small{color:#68796d;line-height:1.8}.booking-public-card{background:#fff;border-radius:20px;padding:36px;box-shadow:0 12px 50px #233c3209}.booking-public-card h2{margin:15px 0 25px;font:30px Georgia,serif}.booking-public-card label{margin:16px 0 7px;font-size:13px;font-weight:600;display:block}.booking-public-card input:not([type=checkbox]),.booking-public-card select,.booking-public-card textarea{color:#233c32;box-sizing:border-box;background:#fff;border:1px solid #d5dcd5;border-radius:8px;width:100%;margin-top:8px;padding:12px;font:14px Arial;display:block}.booking-public-card input:focus,.booking-public-card select:focus,.booking-public-card textarea:focus{outline-offset:2px;outline:2px solid #829d86}.booking-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.booking-address{color:#6e7a70;overflow-wrap:anywhere;font-size:12px;line-height:1.6}.booking-public-card .booking-consent{align-items:flex-start;gap:9px;font-size:12px;font-weight:400;line-height:1.6;display:flex}.booking-submit{justify-content:center;width:100%;margin-top:15px;color:#fff!important;background:#233c32!important;padding:16px!important}.public-booking footer{color:#6e7a70;border-top:1px solid #d7dfd4;padding:25px 0;font-size:12px}@media (width<=760px){.public-booking{padding:0 5vw}.booking-public-grid{grid-template-columns:1fr;gap:28px;margin:25px auto}.booking-intro{padding-top:10px}.booking-intro h1{font-size:44px}.booking-steps{display:none}.booking-public-card{padding:24px}.public-booking header{padding:22px 0}.booking-intro p{font-size:14px}}.modal:has(.reference-assign){width:660px}.modal:has(.reference-booking){width:940px;position:relative}.modal:has(.reference-booking)>header{z-index:2;background:#fff;width:370px;height:45px;position:absolute;top:0;left:0}.modal:has(.reference-booking)>header .icon-button{display:none}.modal:has(.reference-booking)>form{background:#ebedf1}.modal:has(.reference-booking) .booking-information{padding-top:60px!important;padding-bottom:75px!important}.modal:has(.reference-booking) .modal-footer{background:#fff;justify-content:stretch;width:370px;position:sticky;bottom:0}.modal:has(.reference-booking) .modal-footer>*{flex:1}@media (width<=900px){.modal:has(.reference-booking)>header{width:100%}.modal:has(.reference-booking) .modal-footer{width:100%}}.booking-service-options{border:0;flex-wrap:wrap;gap:9px;margin:22px 0 10px;padding:0;display:flex}.booking-service-options legend{margin-bottom:10px;font-size:13px;font-weight:600}.booking-service-options legend small{color:#6e7a70;font-weight:400}.booking-service-options label{cursor:pointer;border:1px solid #d5dcd5;border-radius:8px;align-items:center;gap:8px;margin:0;padding:10px 12px;font-weight:400;display:flex}.public-booking{color:#171717;background:#faf5f5}.public-booking header{border-color:#e7d5d9}.booking-logo{letter-spacing:-.8px;font-weight:900}.booking-logo span{letter-spacing:3px;font-weight:400}.booking-eyebrow{color:#8e5265}.booking-intro h1{color:#171717;font-family:Georgia,serif}.booking-intro h1 em{color:#9a5a70}.booking-public-card{border:1px solid #efdae1;border-radius:5px;box-shadow:0 20px 65px #8a4e6010}.booking-public-card input:not([type=checkbox]),.booking-public-card select,.booking-public-card textarea{color:#171717;border-color:#e3d5da;border-radius:4px}.booking-public-card input:focus,.booking-public-card select:focus,.booking-public-card textarea:focus{outline-color:#a5677d}.booking-submit{letter-spacing:.3px;background:#171717!important;border-radius:4px!important}.booking-service-options label{border-color:#e3d5da;border-radius:4px}.booking-service-options label:has(input:checked){background:#f6dce5;border-color:#a5677d}.booking-service-options input,.booking-consent input{accent-color:#9a5a70}.booking-editorial{background:#f2cbd6;margin:28px 0 0;position:relative}.booking-editorial img{aspect-ratio:1.75;object-fit:cover;filter:saturate(.65);width:100%;display:block}.booking-editorial figcaption{letter-spacing:.5px;background:#f2cbd6;padding:16px;font-size:13px;font-weight:800}.booking-editorial figcaption span{letter-spacing:0;margin-top:5px;font-size:11px;font-weight:400;display:block}.booking-steps{border-color:#e7d5d9;margin:22px 0}.public-booking footer{border-color:#e7d5d9}.booking-public-grid{gap:6vw;margin-top:40px}.booking-intro{padding-top:15px}.booking-intro h1{font-size:clamp(38px,4vw,60px)}@media (width<=760px){.booking-editorial{margin-top:22px}.booking-editorial img{aspect-ratio:2.3}.booking-intro h1{font-size:42px}.booking-public-grid{margin-top:20px}.booking-public-card{padding:24px}}.booking-public-card select{height:46px;padding:10px 30px 10px 12px;line-height:20px}.booking-public-card input:not([type=checkbox]){height:46px;line-height:20px}.booking-public-card textarea{height:auto;line-height:1.5}
