@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{font-family:Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#292a35;background:#f6f7fa;font-synthesis:none;font-size:14px;--berry:#93254b;--berry-dark:#75203d;--muted:#7a7d8c;--border:#e9eaf0;--green:#33745b}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c46c90;outline-offset:3px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}button span[data-icon]{display:inline-flex}a{color:inherit;text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:242px;background:#fff;border-right:1px solid var(--border);padding:31px 20px 0;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:var(--berry);font-size:30px;font-weight:750;letter-spacing:-1px;padding:0 10px}.brandmark{font-family:Georgia,serif;font-style:italic;font-size:42px;background:var(--berry);color:white;width:42px;height:46px;line-height:40px;text-align:center;border-radius:13px}.brand-sub{font-size:8px;letter-spacing:1.25px;display:block;margin-top:2px;font-weight:800}.branch{border:1px solid var(--border);border-radius:12px;margin:36px 0 30px;display:flex;gap:9px;align-items:center;padding:12px 9px;font-size:12px}.branch-icon{background:#f6eef1;color:var(--berry);padding:9px;border-radius:8px;font-weight:800}.branch strong{font-size:13px}.branch small{font-size:10px;display:block;color:var(--muted);margin-top:4px}.nav-caption{font-size:10px;letter-spacing:1.3px;color:#9799a6;font-weight:700;padding:0 12px;margin-bottom:13px}nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 12px;border-radius:9px;text-align:left;color:#6b6c7b;font-weight:600;white-space:nowrap}.nav-item:hover{background:#f6f6f8}.nav-item.active{background:#f7eaf0;color:var(--berry)}.nav-count{margin-left:auto;background:#eaceda;border-radius:5px;min-width:23px;text-align:center;padding:2px;font-size:12px}.demo-small{font-size:10px;margin-left:auto;color:#9598a4}.sidebar-bottom{margin-top:auto;padding-top:35px}.pilot-note{background:#faf7f9;border:1px solid #f1e8ed;padding:17px;border-radius:12px;margin-bottom:27px}.pilot-label{font-size:9px;letter-spacing:1.8px;color:var(--berry);font-weight:750}.pilot-note p{font-weight:650;font-size:17px;line-height:1.65;margin:10px 0}.pilot-note small{font-size:11px;line-height:1.7;color:var(--muted);display:block}.account{border-top:1px solid var(--border);padding:20px 0;display:flex;align-items:center;gap:11px}.avatar{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;font-size:12px;font-weight:750;flex:none}.owner,.rose{background:#f6e4ec;color:#974462}.purple{background:#eee8f8;color:#8665a6}.blue{background:#e4edf9;color:#6586b0}.green{background:#e3f0e9;color:#5d9173}.account strong{font-size:12px}.account small{display:block;font-size:10px;color:var(--muted);margin-top:3px}main{margin-left:242px;min-width:0;flex:1}.topbar{height:75px;padding:0 34px;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{padding:0 13px;color:#c6c7cf}.breadcrumb strong{color:#535664;font-weight:500}.topbar-right{display:flex;align-items:center;gap:20px}.demo-label{font-size:11px;color:#8d6375;display:flex;gap:7px;align-items:center}.demo-label>span{width:6px;height:6px;border-radius:50%;background:#bd809a}.icon-button{border:1px solid var(--border);border-radius:8px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:white;flex:none}.icon-button svg{width:17px;height:17px}.icon-button:hover{background:#f6f2f4}.workspace{padding:29px 34px 12px;max-width:1800px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.eyebrow{color:#a07588;font-size:10px;letter-spacing:1.65px;font-weight:750}h1{font-size:29px;letter-spacing:-1.2px;margin:7px 0 6px;font-weight:750}.page-heading p{color:var(--muted);font-size:13px;margin:0}.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--berry);color:white;border:1px solid var(--berry);padding:12px 19px;border-radius:8px;font-weight:650;font-size:13px;min-height:42px}.primary:hover{background:var(--berry-dark)}.primary svg{width:17px;height:17px}.secondary{display:inline-flex;align-items:center;gap:7px;justify-content:center;border:1px solid #dedfe7;padding:10px 14px;border-radius:8px;background:white;font-weight:600;font-size:13px;min-height:40px}.secondary:hover{background:#f9f5f7}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.stat{background:white;border:1px solid var(--border);border-radius:12px;padding:17px 20px}.stat-label{font-size:12px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:5px}.stat-label svg{width:16px;height:16px;color:#a1a3b0}.stat-value{font-size:26px;line-height:1.4;letter-spacing:-.8px;font-weight:750;margin-top:7px}.stat-foot{font-size:11px;color:var(--muted);margin-top:4px}.stat:first-child{border-color:#e9d8e0}.stat:first-child .stat-value{color:var(--berry)}.stat-foot.highlight{color:var(--green)}.schedule-card{background:white;border:1px solid var(--border);border-radius:12px;overflow:hidden}.toolbar{padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:16px}.date-controls{display:flex;gap:9px;align-items:center}.date-label{font-weight:750;font-size:15px;margin:0 8px}.date-input{border:1px solid var(--border);border-radius:7px;font-size:12px;max-width:132px;padding:6px;color:#6d6f7e;background:#fff}.today-button{font-size:12px;padding:8px 11px;border:1px solid var(--border);border-radius:7px}.toolbar-filters{display:flex;align-items:center;gap:9px}.search-field{display:flex;align-items:center;gap:7px;background:#f8f9fb;border:1px solid var(--border);border-radius:7px;padding:8px 10px}.search-field svg{width:16px;height:16px;color:#9b9dac}.search-field input{border:0;background:transparent;width:140px;font-size:12px;outline:none}.select-small{border:1px solid var(--border);background:white;padding:8px 10px;border-radius:7px;font-size:12px;max-width:160px;color:#656776}.legend{border-top:1px solid #f3f3f7;border-bottom:1px solid var(--border);padding:11px 20px;display:flex;gap:18px;align-items:center;font-size:11px;color:#7b7e8c}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:7px;height:7px;display:inline-block;border-radius:2px;background:#b6a2d4}.legend .arrived-dot{background:#c65a83}.legend .completed-dot{background:#83ae99}.legend .planned-dot{background:#daa451}.legend .cancelled-dot{background:#aaaebc}.legend .legend-hint{margin-left:auto;color:#a0a2ad}.calendar-scroll{overflow:auto;max-height:650px;scrollbar-width:thin;scrollbar-color:#dcdde7 transparent}.calendar{min-width:760px;display:grid;grid-template-columns:62px repeat(4,minmax(0,1fr));position:relative}.calendar-head{height:79px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:white;position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:10px}.calendar-head.clock-head{color:#a0a2af}.staff-title{font-size:13px;font-weight:750}.staff-role{color:var(--muted);font-size:10px;margin-top:3px}.staff-count{font-size:10px;color:#a1a2ac;margin-left:4px}.time-column,.staff-column{height:1144px;position:relative;border-right:1px solid var(--border)}.time-mark{position:absolute;left:0;right:0;text-align:center;font-size:10px;color:#9a9ca9;transform:translateY(-50%);font-weight:600}.time-mark:first-child{transform:none;top:8px!important}.slot{height:52px;display:block;width:100%;border-bottom:1px solid #f3f3f7;text-align:left;padding:6px;color:transparent;font-size:12px}.slot:nth-child(2n){border-bottom-color:#e9eaf0}.slot:hover{background:#fcf4f7;color:#a45273}.slot:focus-visible{outline-offset:-3px}.appointment{position:absolute;left:5px;right:5px;border-radius:7px;padding:10px 11px;text-align:left;border-left:3px solid #a086bd;background:#f2eef8;color:#68557e;overflow:hidden;transition:filter .15s,box-shadow .15s;display:flex;flex-direction:column;gap:5px;width:calc(100% - 10px)}.appointment:hover{filter:brightness(.98);box-shadow:0 3px 12px #3c204321}.appointment.arrived{background:#fae8f0;border-color:#b74775;color:#8a3155}.appointment.completed{background:#eaf3ee;border-color:#81a991;color:#47735b}.appointment.planned{background:#fff5e6;border-color:#d4a451;color:#9b7333}.appointment.cancelled,.appointment.noshow{background:#f1f2f5;border-color:#b0b5c2;color:#777c8a;opacity:.75}.appointment.cancelled .appointment-name,.appointment.noshow .appointment-name{text-decoration:line-through}.appointment-time{font-size:10px;font-weight:650;display:flex;align-items:center;justify-content:space-between;gap:4px}.appointment-time svg{width:12px;height:12px}.appointment-name{font-size:13px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appointment-service{font-size:11px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.appointment-bottom{margin-top:auto;font-size:11px;font-weight:750;display:flex;justify-content:space-between;gap:3px}.appointment-source{font-size:9px;font-weight:500;opacity:.8;max-width:90px;overflow:hidden;white-space:nowrap}.break{position:absolute;left:5px;right:5px;height:46px;background:repeating-linear-gradient(-45deg,#fafafa,#fafafa 5px,#f3f3f6 5px,#f3f3f6 6px);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#9b9dab;font-size:10px;pointer-events:none}.calendar-footer{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-top:1px solid var(--border);font-size:11px;color:#90929f}.calendar-footer strong{color:#535764}.workspace-footer{font-size:10px;color:#9b9eab;display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:14px;line-height:1.6}.text-button{color:var(--berry);font-size:12px;font-weight:650;white-space:nowrap;padding:5px 0}.sheet{position:fixed;left:auto;right:0;top:0;bottom:0;margin:0;border:0;border-left:1px solid var(--border);width:490px;max-width:100%;max-height:100dvh;height:100dvh;padding:0;box-shadow:-12px 0 60px #28212b22;color:#292a35}.sheet[open]{display:flex;flex-direction:column}.sheet::backdrop,.info-dialog::backdrop{background:#24202d44;backdrop-filter:blur(2px)}.sheet-header{padding:25px 26px 18px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--border)}.sheet-header h2{font-size:23px;letter-spacing:-.6px;margin:7px 0 0}.sheet-body{padding:23px 26px;overflow:auto;flex:1}.sheet-body fieldset{padding:0;margin:0;border:0;min-width:0}.section-label{font-size:11px;letter-spacing:1.3px;font-weight:750;color:#868998;margin:0 0 13px}.form-section+.form-section{margin-top:24px;padding-top:22px;border-top:1px solid var(--border)}label.field{display:flex;flex-direction:column;font-size:12px;color:#767887;gap:7px;margin-bottom:13px}.field input,.field select,.field textarea{border:1px solid #dfe1e9;background:white;border-radius:8px;padding:11px 12px;color:#383b48;width:100%;font-size:14px;min-height:42px}.field textarea{resize:vertical;min-height:75px}.field input:disabled,.field select:disabled{background:#f7f8fa;color:#747783}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.client-banner{display:flex;align-items:center;gap:12px;margin-bottom:18px}.client-banner .avatar{width:44px;height:44px}.client-banner strong{font-size:16px}.client-banner small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.badge{font-size:11px;padding:5px 9px;border-radius:5px;background:#f5ecf0;color:var(--berry);display:inline-flex;align-items:center}.service-row{display:flex;justify-content:space-between;gap:12px;background:#f8f8fb;padding:12px;border-radius:8px;margin-bottom:8px;align-items:center}.service-row strong{font-size:12px;font-weight:650;display:block}.service-row small{display:block;font-size:11px;color:#9295a1;margin-top:5px}.service-row .remove{color:#a2a4b0;font-size:20px}.service-price{font-size:13px;white-space:nowrap;font-weight:650}.add-service{display:flex;align-items:center;gap:8px;margin-top:11px}.add-service select{flex:1;min-width:0;padding:9px 8px;border:1px solid var(--border);background:white;border-radius:7px;font-size:12px}.summary-line{display:flex;justify-content:space-between;margin-top:12px;font-size:13px}.summary-line.total{font-size:17px;font-weight:750}.summary-line small{font-size:11px;color:var(--muted)}.notice{border-radius:8px;padding:12px 14px;background:#f6f3f8;color:#83738d;font-size:12px;line-height:1.65;margin:16px 0}.notice.success{background:#edf5f0;color:#527963}.payment-box{padding:15px;background:#f9fafb;border:1px solid var(--border);border-radius:10px}.payment-box .form-row{margin-top:15px}.payment-box .field{margin-bottom:0}.payment-box .secondary{width:100%;margin-top:10px}.error{color:#b22e48;background:#fdf0f2;border:1px solid #f4cfd6;padding:11px 13px;border-radius:8px;font-size:12px;line-height:1.65;margin-bottom:12px}.sheet-footer{padding:18px 26px;border-top:1px solid var(--border);background:white}.sheet-footer .button-row{display:flex;gap:10px}.sheet-footer .primary{flex:1}.sheet-footer small{font-size:10px;color:#9b9eaa;display:block;margin-top:10px;text-align:center}.info-dialog{border:1px solid var(--border);border-radius:18px;max-width:470px;padding:30px;color:#343541}.info-dialog h2{font-size:25px;letter-spacing:-.7px}.info-dialog p{font-size:15px;line-height:1.7;color:#757986}.close-info.icon-button{float:right}.info-dialog .primary{width:100%}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);background:#343541;color:white;box-shadow:0 7px 30px #27243233;padding:14px 22px;border-radius:10px;font-size:13px;z-index:100;transition:transform .2s;pointer-events:none;max-width:90vw}.toast.visible{transform:translateX(-50%) translateY(0)}.table-card{background:white;border:1px solid var(--border);border-radius:12px;overflow:auto}.table-card table{width:100%;border-collapse:collapse;text-align:left;font-size:13px;min-width:630px}.table-card th{padding:16px 20px;font-size:11px;color:#9295a2;font-weight:650;border-bottom:1px solid var(--border);background:#fcfcfd}.table-card td{padding:17px 20px;border-bottom:1px solid #f1f2f6}.client-cell{display:flex;align-items:center;gap:12px}.client-cell strong{font-size:13px}.client-cell small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.empty{text-align:center;padding:50px 20px;color:var(--muted);font-size:14px}.finance-note{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 22px;color:#797d8c;font-size:13px;line-height:1.7;margin-bottom:20px}.finance-note strong{color:#535764}.financial-title{font-size:17px;font-weight:750;margin:25px 0 14px}.client-history{display:grid;gap:12px}.history-row{padding:14px;background:#f8f9fb;border-radius:8px;display:grid;gap:7px;font-size:13px}.history-row small{color:var(--muted)}.client-panel-top{margin-bottom:25px}.readonly-note{font-size:12px;color:#989aa5;line-height:1.6}.mobile-view-label{display:none}
@media(min-width:1500px){.calendar-scroll{max-height:calc(100vh - 430px);min-height:450px}.appointment-name{font-size:14px}.appointment-service{font-size:12px}.appointment-time,.appointment-bottom{font-size:12px}}
@media(max-width:1200px){.sidebar{width:210px;padding-left:14px;padding-right:14px}main{margin-left:210px}.workspace{padding:25px 23px 12px}.topbar{padding:0 23px}.toolbar{flex-wrap:wrap}.toolbar-filters{margin-left:auto}.calendar{min-width:720px}.stat{padding:15px}.stat-value{font-size:23px}.legend .legend-hint{display:none}.brand{font-size:27px}.brand-sub{font-size:7px}.nav-item{font-size:12px}}
@media(max-width:850px){.sidebar{width:76px;padding:22px 10px}.brand{padding:0;justify-content:center}.brand>span:last-child,.branch,.nav-caption,.nav-item>span:not([data-icon]),.sidebar-bottom{display:none}.nav-item{font-size:0;justify-content:center;padding:14px 0}.nav-item span[data-icon]{display:flex}.brandmark{margin-bottom:28px}.nav-item svg{width:22px;height:22px}main{margin-left:76px}.topbar{height:60px}.breadcrumb{font-size:11px}.demo-label{font-size:10px}.workspace{padding:24px 18px}.stats{gap:9px}.stat{padding:12px}.stat-label{font-size:10px}.stat-value{font-size:22px}.stat-foot{font-size:10px}.page-heading h1{font-size:25px}.legend{gap:13px;font-size:10px}.date-label{font-size:13px}.calendar-scroll{max-height:650px}.workspace-footer{font-size:9px}}
@media(max-width:560px){.sidebar{position:sticky;inset:auto;top:0;width:100%;height:57px;padding:0 14px;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--border);justify-content:space-between;z-index:6}.app{display:block}.brandmark{margin:0;font-size:29px;width:31px;height:34px;line-height:31px;border-radius:8px}.sidebar nav{display:flex;gap:10px}.nav-item{padding:10px 13px}.nav-item svg{width:19px;height:19px}main{margin:0}.topbar{padding:0 16px;height:43px}.breadcrumb{font-size:10px}.topbar-right{gap:9px}.topbar .icon-button{width:27px;height:27px;border:0}.demo-label{font-size:9px}.demo-label>span{display:none}.workspace{padding:22px 12px 12px}.page-heading{gap:8px;margin-bottom:20px}.page-heading h1{font-size:24px}.page-heading p{font-size:11px}.eyebrow{font-size:9px}.page-heading .primary{font-size:11px;padding:10px;gap:4px;min-height:38px}.stats{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px}.stat{padding:13px 15px}.stat-label{font-size:11px}.stat-value{font-size:25px}.stat-foot{font-size:10px}.toolbar{padding:13px 12px;gap:12px}.date-controls{gap:5px;flex-wrap:wrap}.date-label{margin:0 3px;font-size:12px}.date-input{max-width:120px;font-size:11px}.today-button{font-size:10px;padding:7px}.toolbar-filters{width:100%;margin:0}.search-field{flex:1;min-width:0}.search-field input{width:100%;min-width:0}.select-small{max-width:125px;font-size:11px}.legend{padding:10px 12px;gap:9px;flex-wrap:wrap;font-size:9px}.calendar{min-width:710px}.calendar-footer{font-size:10px;padding:11px 12px}.workspace-footer{align-items:flex-start;font-size:9px}.workspace-footer span{max-width:220px}.sheet{width:100%}.sheet-header{padding:20px}.sheet-body{padding:20px}.sheet-footer{padding:15px 20px}.info-dialog{margin:auto 15px;max-width:calc(100% - 30px);padding:24px}.finance-note{padding:15px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.revenue-strip{display:flex;align-items:center;gap:30px;border:1px solid #e6d7df;border-radius:12px;background:linear-gradient(110deg,#fff 0%,#fcf7fa 100%);padding:23px 25px;margin-bottom:16px}.goal-main{display:flex;align-items:center;gap:15px;flex:none}.goal-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:var(--berry);background:#f6e9ef}.goal-caption{font-size:9px;letter-spacing:1.25px;color:#9d7488;font-weight:750;display:flex;align-items:center;gap:12px}.inline-edit{font-size:10px;color:#a4a0ac;text-decoration:underline;text-underline-offset:3px;letter-spacing:0;padding:0}.goal-amount{font-size:24px;font-weight:750;letter-spacing:-.6px;margin-top:5px}.goal-amount>span{font-size:10px;color:#9b94a0;letter-spacing:0;font-weight:500;margin-left:8px}.goal-progress{flex:1;min-width:170px}.goal-progress-label{display:flex;justify-content:space-between;font-size:10px;color:#8b8490;gap:8px}.goal-progress-label strong{font-size:12px;color:#795167;margin-left:4px}.progress-track{height:7px;background:#eadfe5;border-radius:5px;position:relative;overflow:hidden;margin:10px 0}.progress-booked,.progress-earned{position:absolute;left:0;top:0;height:100%;border-radius:5px;background:#d3a3b9}.progress-earned{background:var(--berry)}.goal-progress-foot{display:flex;justify-content:space-between;gap:8px;font-size:9px;color:#a599a1}.goal-progress-foot>span:first-child{color:#946078}.goal-progress-foot i{display:inline-block;width:6px;height:6px;border-radius:2px;background:var(--berry);margin-right:5px}.goal-gap{border-left:1px solid #eadce3;padding-left:27px;min-width:151px}.goal-gap small{font-size:9px;color:#9f7e8e;letter-spacing:1.1px;display:block;font-weight:650}.goal-gap strong{font-size:23px;color:var(--berry);letter-spacing:-.6px;display:block;margin-top:5px}.admin-stats{margin-bottom:17px}.admin-stats .stat{padding:14px 18px}.admin-stats .stat-value{font-size:24px;margin-top:5px}.admin-stats .stat:first-child .stat-value{color:#292a35}.stat-action{font-size:11px;color:var(--berry);padding:0}.stat-action svg{width:12px;height:12px;margin-left:3px}.opportunities{margin-bottom:23px}.opportunities-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:10px}.opportunities-title>span{font-size:12px;font-weight:750;display:flex;gap:7px;align-items:center}.opportunities-title svg{width:16px;height:16px;color:var(--berry)}.opportunities-title>small{font-size:10px;color:#9295a2}.opportunity-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.opportunity{display:flex;align-items:center;text-align:left;border:1px solid var(--border);background:white;border-radius:9px;padding:12px 14px;gap:10px;min-width:0}.opportunity:hover{border-color:#ceabc0;box-shadow:0 2px 8px #6e30400a}.opportunity strong{font-size:11px;display:block;white-space:nowrap}.opportunity small{font-size:10px;display:block;color:#92939f;margin-top:5px}.opportunity>svg{width:15px;height:15px;flex:none;margin-left:auto;color:#a09aa6}.opportunity-avatar{border-radius:8px;width:31px;height:34px;font-size:10px;font-weight:750;display:flex;align-items:center;justify-content:center;flex:none}.weekday{font-size:11px;font-weight:500;color:#a0a2af}.filter-note:empty{display:none}.filter-note{padding:10px 20px;background:#fff8e9;color:#9b7b47;font-size:11px;line-height:1.6}.upsell{background:#f9edf3;border:1px solid #efdae5;border-radius:9px;padding:14px;margin-top:15px;color:#935273}.upsell>div{display:flex;align-items:center;gap:7px;font-size:12px}.upsell>div svg{width:16px;height:16px}.upsell p{font-size:11px;line-height:1.6;margin:8px 0 12px}.upsell-button{font-size:11px;color:var(--berry);display:flex;align-items:center;gap:9px;font-weight:650;padding:0}.upsell-button svg{width:14px;height:14px}.rebooking{border:1px solid #e3eade;border-radius:9px;background:#f4f8f2;padding:16px;margin:18px 0}.rebooking strong{font-size:13px}.rebooking p{font-size:12px;color:#87907d;line-height:1.6}.rebooking .secondary{font-size:12px}.empty.compact{padding:15px;font-size:12px}
@media(max-width:1250px){.revenue-strip{gap:20px;padding:20px}.goal-main{gap:10px}.goal-amount>span{display:none}.goal-gap{padding-left:20px;min-width:130px}.goal-progress-foot>span:last-child{display:none}.opportunity{padding:12px 10px;gap:8px}.opportunity-avatar{display:none}.opportunity strong{font-size:10px}.opportunity small{font-size:9px}.weekday{display:none}}
@media(max-width:850px){.revenue-strip{flex-wrap:wrap;gap:16px}.goal-main{flex:1}.goal-progress{order:3;flex-basis:100%}.goal-gap{min-width:150px}.goal-amount>span{display:inline}.goal-progress-foot>span:last-child{display:block}.opportunity-list{grid-template-columns:repeat(3,1fr)}.opportunity strong{font-size:10px}.opportunity>svg{display:none}.opportunities-title>small{font-size:9px}.goal-progress-label{font-size:11px}.goal-progress-foot{font-size:10px}}
@media(max-width:560px){.revenue-strip{padding:15px;gap:14px}.goal-icon{display:none}.goal-amount{font-size:24px}.goal-amount>span{display:none}.goal-gap{min-width:120px;padding-left:15px}.goal-gap strong{font-size:22px}.goal-gap small{font-size:8px}.goal-caption{font-size:8px;gap:7px}.goal-caption button{font-size:9px}.admin-stats .stat{padding:13px}.admin-stats .stat-value{font-size:23px}.opportunities-title{align-items:flex-start}.opportunities-title>small{font-size:8px;max-width:120px;text-align:right}.opportunity-list{grid-template-columns:1fr;gap:7px}.opportunity{padding:10px 13px}.opportunity-avatar{display:flex}.opportunity strong{font-size:12px}.opportunity small{font-size:10px;margin-top:3px}.opportunity>svg{display:block}.opportunities{margin-bottom:17px}.goal-progress-label{font-size:10px}.goal-progress-foot{font-size:9px}.date-controls{gap:4px}.date-label{font-size:12px}}
/* Operational controls stay readable; the calendar remains the main workspace. */
.nav-item,.primary,.secondary,.select-small,.search-field input,.today-button,.date-input,.field,.service-price,.staff-title,.appointment-name,.table-card table,.upsell-button{font-size:14px}
.page-heading p,.finance-note,.info-dialog p{font-size:16px}
.eyebrow,.nav-caption,.branch small,.account small,.pilot-note small,.pilot-label,.demo-label,.breadcrumb,.demo-small,.stat-label,.stat-foot,.stat-action,.goal-caption,.inline-edit,.goal-amount>span,.goal-progress-label,.goal-progress-foot,.goal-gap small,.opportunities-title>small,.opportunity small,.staff-role,.staff-count,.time-mark,.appointment-time,.appointment-service,.appointment-bottom,.appointment-source,.break,.legend,.calendar-footer,.workspace-footer,.text-button,.section-label,.service-row small,.summary-line small,.notice,.readonly-note,.upsell p,.sheet-footer small,.filter-note,.table-card th,.client-cell small,.client-banner small,.goal-progress-label strong{font-size:12px}
.branch strong,.account strong,.opportunities-title>span,.opportunity strong,.service-row strong,.upsell>div,.client-cell strong,label.field{font-size:14px}
.brand-sub{font-size:8px}.goal-caption{letter-spacing:.7px}.goal-gap small{letter-spacing:.6px}.goal-progress-foot{font-size:12px}.goal-amount>span{display:none}.revenue-strip{padding:17px 20px;gap:23px}.goal-gap{min-width:169px}.goal-main{gap:10px}.goal-progress-label strong{font-size:14px}.goal-progress-foot>span:last-child{display:none}.admin-stats .stat{padding:10px 16px}.admin-stats .stat-value{font-size:23px;line-height:1.15;margin-top:7px}.admin-stats .stat-foot{margin-top:5px}.stat-label{line-height:1.4}.opportunity small{line-height:1.5}.opportunity strong{white-space:normal}.opportunity{padding:9px 12px}.opportunity-avatar{display:none}.opportunities{margin-bottom:18px}.opportunities-title{margin-bottom:8px}.page-heading{margin-bottom:20px}.workspace{padding-top:23px}.page-heading p{font-size:14px}.appointment{padding:8px 9px;gap:4px}.appointment-source{display:none}.appointment-service{line-height:1.4}.appointment-bottom{margin-top:auto}.calendar-head{height:70px}.staff-role{line-height:1.4}.time-column{background:#fcfcfd}.legend{flex-wrap:wrap;gap:12px}.legend .legend-hint{display:none}.cancelled-list:empty{display:none}.cancelled-list{display:flex;gap:10px;flex-wrap:wrap;padding:12px 20px;background:#f7f7f9;border-top:1px solid var(--border)}.cancelled-item{font-size:12px;color:#7e7f8b;text-decoration:line-through}.brand-sub{letter-spacing:.8px}.branch{padding:10px 7px}.branch-icon{padding:7px}.branch small{font-size:10px}.sidebar .nav-caption{font-size:10px}.pilot-note small{font-size:12px}.topbar{height:65px}.sheet-body .notice,.sheet-body .readonly-note{font-size:12px}.upsell p{font-size:13px}.service-row strong{line-height:1.5}.error{font-size:14px}.rebooking p{font-size:14px}.rebooking strong{font-size:15px}.rebooking .secondary{font-size:14px}.history-row{font-size:14px}
@media(min-width:1251px){.toolbar{padding:14px 17px}.calendar-scroll{max-height:660px}.goal-progress{min-width:200px}}
@media(max-width:1250px){.goal-progress-label{flex-wrap:wrap;gap:3px}.goal-progress-label strong{margin-left:0}.goal-progress-foot{font-size:12px}.revenue-strip{gap:15px}.goal-gap{padding-left:15px;min-width:156px}.goal-icon{display:none}.opportunity strong{font-size:13px}.opportunity small{font-size:12px}.opportunity{gap:4px}.opportunity>svg{width:12px}}
@media(max-width:850px){.sidebar .nav-item{font-size:0}.topbar{height:49px}.revenue-strip{padding:13px 16px;gap:10px;display:grid;grid-template-columns:1fr 165px}.goal-progress{grid-column:1;grid-row:2;margin-top:2px}.goal-gap{grid-column:2;grid-row:1 / 3;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.goal-amount{font-size:25px}.goal-progress-label>span:last-child{display:none}.goal-progress-foot{display:none}.progress-track{margin:8px 0 0}.admin-stats{gap:8px}.admin-stats .stat{padding:10px}.admin-stats .stat-foot{font-size:12px}.admin-stats .stat-value{font-size:21px}.opportunities-title>small{display:none}.opportunity-list{gap:8px}.opportunity small{display:none}.opportunity strong{font-size:12px;line-height:1.5}.opportunity{min-height:46px}.opportunities{margin-bottom:14px}.goal-caption{font-size:10px}.goal-gap small{font-size:10px}.toolbar{padding:12px}.legend{font-size:12px}.workspace-footer{font-size:12px}.workspace-footer span{max-width:420px}.date-controls .icon-button{width:30px;height:30px}.date-label{font-size:14px}.weekday{display:none}.toolbar-filters{width:100%;justify-content:space-between}.search-field{flex:1}.search-field input{width:100%}}
@media(max-width:560px){.topbar{height:40px}.demo-label{font-size:10px}.breadcrumb{font-size:10px}.page-heading p{font-size:12px}.workspace{padding-top:18px}.page-heading .primary{font-size:12px}.page-heading{margin-bottom:16px}.goal-caption{font-size:9px}.goal-progress-label{font-size:12px}.goal-gap{padding-left:14px;min-width:0}.revenue-strip{grid-template-columns:1fr 120px;padding:14px;gap:8px}.goal-gap small{font-size:9px}.goal-gap strong{font-size:22px}.goal-amount{font-size:24px}.goal-progress-label strong{font-size:12px}.admin-stats{grid-template-columns:1fr 1fr;gap:8px}.admin-stats .stat{padding:10px 13px}.stat-label{font-size:12px}.admin-stats .stat-foot{font-size:12px}.opportunity-list{grid-template-columns:1fr 1fr 1fr}.opportunity{padding:9px}.opportunity>svg{display:none}.opportunities-title>span{font-size:14px}.opportunity strong{font-size:12px}.opportunity-avatar{display:none}.calendar{min-width:790px}.date-controls{gap:6px}.date-label{font-size:14px}.date-input{font-size:12px;max-width:124px}.today-button{font-size:12px}.select-small,.search-field input{font-size:14px}.workspace-footer{font-size:12px;flex-direction:column;gap:5px}.workspace-footer span{max-width:none}.sheet-header h2{font-size:25px}.sheet-body{padding:18px}.sheet-footer .primary,.sheet-footer .secondary{font-size:14px}.sheet-footer small{font-size:12px}.form-row{gap:10px}.goal-main{min-width:0}.goal-progress{min-width:0}}
@media(min-width:1050px) and (min-height:700px){
 main{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.topbar{flex:none}.workspace{width:100%;flex:1;min-height:0;display:flex;flex-direction:column;padding-top:18px}.page-heading{flex:none;margin-bottom:15px}.page-heading h1{margin-top:4px}.page-heading .eyebrow{display:none}#content{flex:1;min-height:0;overflow:auto}#content:has(.schedule-card){display:flex;flex-direction:column;overflow:hidden}.revenue-strip,.admin-stats,.opportunities{flex:none}.revenue-strip{padding:13px 18px;margin-bottom:12px}.admin-stats{margin-bottom:12px}.admin-stats .stat{padding:9px 14px}.opportunities{margin-bottom:14px}.schedule-card{flex:1;min-height:200px;display:flex;flex-direction:column}.toolbar,.legend,.calendar-footer,.cancelled-list{flex:none}.calendar-scroll{flex:1;min-height:0;max-height:none}.calendar-footer{padding-top:9px;padding-bottom:9px}.workspace-footer{flex:none;margin-top:8px;font-size:12px}.opportunities-title>small{font-size:12px}.calendar-head{height:62px}
}
.payment-history{margin-top:16px;padding:12px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.payment-caption{font-size:12px;color:var(--muted);margin-bottom:9px}.payment-history-row{display:flex;justify-content:space-between;font-size:14px;padding:5px 0}.payment-history-row strong{font-weight:650}.split-payment{margin-top:20px}.split-payment>strong{font-size:14px}.split-payment>p{font-size:12px;color:var(--muted);line-height:1.6;margin:6px 0 13px}.payment-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.payment-parts .field{font-size:12px}.payment-parts .field input{padding:10px 8px}.payment-error{color:#b22e48;font-size:12px;line-height:1.5;margin-top:10px}.payment-error:empty{display:none}.finance-payment-methods{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.6}
@media(max-width:380px){.payment-parts{grid-template-columns:1fr}.payment-parts .field{flex-direction:row;align-items:center;justify-content:space-between}.payment-parts input{max-width:160px}}
.appointment-open{display:flex;flex-direction:column;gap:4px;width:100%;height:100%;text-align:left;padding:0;color:inherit;min-width:0}.appointment-open .appointment-bottom{width:100%}.quick-arrive{position:absolute;right:7px;bottom:6px;display:flex;align-items:center;justify-content:center;gap:3px;min-height:26px;border-radius:5px;padding:4px 7px;background:#fff;color:#744a68;border:1px solid #d9c8d5;font-size:12px;font-weight:700;box-shadow:0 1px 3px #35204008}.quick-arrive:hover{background:#f9e7ee;border-color:#b96b8b;color:#93254b}.quick-arrive svg{width:13px;height:13px}.arrival-badge{position:absolute;right:9px;bottom:9px;font-size:12px;font-weight:700;pointer-events:none}.short-visit .appointment-service{-webkit-line-clamp:1}.appointment.confirmed .appointment-bottom,.appointment.planned .appointment-bottom,.appointment.arrived .appointment-bottom{padding-right:82px}.appointment:has(.quick-arrive:focus-visible){overflow:visible;z-index:2}
.visit-history-preview{margin-top:18px;border-top:1px solid var(--border);padding-top:16px}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.history-heading>strong{font-size:14px}.history-heading svg{width:14px;height:14px}.history-row{text-align:left;width:100%;border:1px solid #e9eaf0}.history-row:hover{border-color:#d4adbf;background:#fcf6f9}.history-row-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.history-row-heading strong{font-size:13px}.history-row .badge{font-size:12px}.history-row>span{font-size:14px;line-height:1.5}.history-row small{font-size:12px;line-height:1.6}.history-title{font-size:16px;margin:24px 0 12px}.client-history-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--border);border-radius:9px;padding:14px;background:#fcf8fa}.client-history-summary span{font-size:12px;line-height:1.6;color:var(--muted)}.client-history-summary strong{display:block;font-size:21px;color:var(--berry);margin-top:4px}
.shift-roster{display:grid;gap:14px}.shift-row{border:1px solid var(--border);border-radius:10px;padding:15px;background:#fff}.shift-person{display:flex;align-items:center;gap:9px;cursor:pointer;margin-bottom:14px}.shift-person input,.break-toggle input{accent-color:var(--berry);width:17px;height:17px}.shift-person strong{font-size:14px}.shift-person small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.shift-person .avatar{width:30px;height:30px;font-size:10px}.shift-state{margin-left:auto;font-size:11px;color:var(--berry)}.break-toggle{display:flex;align-items:center;gap:8px;font-size:14px;margin:0 0 10px}.shift-row fieldset:disabled{opacity:.45}.break-times[hidden]{display:none}.new-staff{margin-top:20px;border:1px dashed #d4adbf;padding:16px;border-radius:9px}.new-staff summary{font-size:14px;color:var(--berry);font-weight:700;cursor:pointer}.shift-row .field{font-size:12px}.staff-shift-button{padding:0;text-align:left;color:inherit}.staff-shift-button:hover{text-decoration:underline;text-underline-offset:3px}.slot:disabled{opacity:1;background:repeating-linear-gradient(-45deg,#f6f6f8,#f6f6f8 5px,#efeff2 5px,#efeff2 6px);cursor:not-allowed;color:transparent}.toolbar{flex-wrap:wrap}.toolbar-filters{flex-wrap:wrap}.toolbar-filters .secondary{font-size:12px;padding:8px 11px;min-height:36px}.empty .primary{margin-top:20px}
.waitlist-journal-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e6dce4;border-radius:9px;background:#fff;padding:10px 14px;margin:0 0 14px;font-size:12px;text-align:left;flex:none}.waitlist-journal-banner>span{display:flex;align-items:center;gap:9px}.waitlist-journal-banner strong{font-size:14px;color:var(--berry)}.waitlist-journal-banner svg{width:17px;height:17px;color:var(--berry);flex:none}.waitlist-journal-banner.has-match{background:#f6eef4;border-color:#d9bbcb}.waitlist-journal-banner>span>span{color:var(--muted)}.waitlist-intro{display:flex;align-items:center;gap:25px;justify-content:space-between;padding:21px 24px;background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:19px}.waitlist-intro p{font-size:16px;line-height:1.6;max-width:740px;margin:9px 0}.waitlist-intro small{font-size:12px;color:var(--muted);line-height:1.6;display:block}.waitlist-intro .secondary{white-space:nowrap;flex:none}.waitlist-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.waitlist-tabs button{display:flex;gap:10px;align-items:center;font-size:14px;border:1px solid var(--border);border-radius:8px;padding:10px 15px;background:#fff}.waitlist-tabs button.active{background:#f7eaf0;border-color:#dbc2cf;color:var(--berry);font-weight:700}.waitlist-tabs button span{font-size:12px;padding:2px 6px;background:#f1edf0;border-radius:5px}.waitlist-entries{display:grid;gap:16px;padding-bottom:8px}.waitlist-entry{display:grid;grid-template-columns:minmax(260px,1fr) minmax(270px,390px);background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}.waitlist-entry-main{padding:21px 24px}.waitlist-person{display:flex;align-items:center;gap:10px;margin-bottom:18px}.waitlist-person h2{font-size:17px;margin:0 0 4px;letter-spacing:-.3px}.waitlist-person>div>span{font-size:12px;color:var(--muted)}.waitlist-person>.badge{margin-left:auto;white-space:nowrap;font-size:12px}.match-badge{background:#e9f3ee;color:#46775e}.waitlist-service{font-size:15px}.waitlist-conditions{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:10px;font-size:12px;color:#818492;line-height:1.6}.waitlist-conditions span:last-child{flex-basis:100%}.waitlist-note{font-size:14px;line-height:1.6;color:#737785;margin:15px 0}.waitlist-entry-actions{display:flex;gap:19px;margin-top:17px;flex-wrap:wrap}.text-button.muted{color:#888b97}.waitlist-match-area{display:flex;flex-direction:column;gap:9px;padding:21px;background:#fbfafc;border-left:1px solid var(--border)}.waitlist-match-area>.section-label{margin-bottom:2px}.waitlist-slot{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;background:white;border:1px solid #e1d9e2;border-radius:8px;padding:11px 12px}.waitlist-slot:hover{border-color:#bc86a0;background:#fcf3f7}.waitlist-slot strong{display:block;font-size:14px}.waitlist-slot small{display:block;margin-top:5px;font-size:12px;color:var(--muted)}.waitlist-slot>svg{width:17px;height:17px;color:var(--berry);flex:none}.waitlist-agreement{font-size:12px;line-height:1.6;color:#97929e;margin-top:3px}.waitlist-no-match{padding:18px 5px;color:#92929d;line-height:1.7}.waitlist-no-match>svg{display:block;margin-bottom:10px}.waitlist-no-match strong{font-size:14px;color:#777382}.waitlist-no-match p,.waitlist-match-area>p{font-size:14px;line-height:1.6;margin:7px 0}.sidebar .nav-item{gap:9px}.sidebar #waitlist-count{min-width:20px}
@media(max-width:1100px){.waitlist-intro{align-items:flex-start;flex-direction:column;gap:12px}.waitlist-entry{grid-template-columns:1fr}.waitlist-match-area{border-left:0;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr}.waitlist-match-area>.section-label,.waitlist-agreement,.waitlist-no-match{grid-column:1/-1}.waitlist-journal-banner>span:first-child{flex-wrap:wrap}.waitlist-journal-banner>span:last-child{white-space:nowrap}}
@media(max-width:560px){.waitlist-intro{padding:17px}.waitlist-intro p{font-size:14px}.waitlist-tabs{gap:6px}.waitlist-tabs button{padding:9px 10px;font-size:12px;gap:7px}.waitlist-entry-main{padding:17px}.waitlist-person{flex-wrap:wrap}.waitlist-person>.badge{margin-left:0}.waitlist-person h2{font-size:16px}.waitlist-match-area{padding:17px;grid-template-columns:1fr}.waitlist-slot strong{font-size:14px}.waitlist-journal-banner{padding:10px;font-size:12px}.waitlist-journal-banner>span:first-child>span{flex-basis:100%}.waitlist-journal-banner>span:last-child{font-size:12px}.sidebar nav{gap:3px}}

.day-outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}.day-outcomes>button{display:grid;gap:7px;text-align:left;padding:16px 18px;border:1px solid var(--border);background:#fff;border-radius:10px}.day-outcomes>button[aria-pressed=true]{border-color:var(--berry);background:#faf0f5}.day-outcomes span{font-size:14px;font-weight:600}.day-outcomes strong{font-size:25px}.day-outcomes small{font-size:12px;color:var(--muted);line-height:1.5}.day-outcome-detail:empty{display:none}.day-outcome-detail{border:1px solid var(--border);background:white;border-radius:12px;padding:18px;margin-bottom:18px}.outcome-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.outcome-heading h2{font-size:18px;margin:0}.day-outcome-detail>p{font-size:14px;color:var(--muted);line-height:1.6}.cancellation-bands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.cancellation-bands>span{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f8f5f7;padding:10px;border-radius:6px;font-size:14px;line-height:1.5}.cancellation-bands strong{color:var(--berry);font-size:16px}.outcome-row{display:flex;width:100%;gap:18px;align-items:center;justify-content:space-between;text-align:left;padding:14px 0;border-top:1px solid var(--border);font-size:14px;line-height:1.6}.outcome-row>span:first-child{flex:1}.outcome-row small{display:block;color:var(--muted);font-size:12px}.outcome-row>span:nth-child(2){max-width:45%;color:#875568}.outcome-row>svg{flex:none;width:18px}.visit-attendance{margin-bottom:20px}.attendance-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}.attendance-actions .secondary{font-size:14px}.attendance-actions button:disabled{opacity:.45;cursor:not-allowed}.visit-attendance>small,.attendance-summary>small{font-size:12px;line-height:1.6;color:var(--muted)}.attendance-summary{margin-top:16px;border:1px solid var(--border);border-radius:10px;padding:14px}.attendance-summary h3{font-size:15px;margin:0 0 10px}.attendance-summary p{font-size:14px;margin:0}.attendance-summary .cancellation-bands{grid-template-columns:1fr 1fr}.attendance-detail{color:#875568!important;line-height:1.6}.outcome-row:hover{background:#fcf7fa}
@media(max-width:650px){.day-outcomes{gap:6px}.day-outcomes>button{padding:12px 10px}.day-outcomes small{font-size:12px}.day-outcomes span{font-size:14px}.day-outcomes strong{font-size:22px}.cancellation-bands{grid-template-columns:1fr 1fr}.outcome-row{flex-wrap:wrap;gap:6px}.outcome-row>span:first-child{flex-basis:100%}.outcome-row>span:nth-child(2){max-width:90%}.outcome-heading h2{font-size:16px}}
.journal-client-warning{position:absolute;top:6px;right:6px;z-index:4;max-width:calc(100% - 12px);border:1px solid #deb783;background:#fff3dd;color:#80551c;border-radius:5px;padding:4px 6px;font-size:12px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment:has(.journal-client-warning) .appointment-open{padding-top:28px}.appointment.short-visit:has(.journal-client-warning) .appointment-service{display:none}.client-warning{padding:12px;background:#fff5e4;border:1px solid #e8cda6;border-radius:8px;margin-bottom:14px;color:#80551c;font-size:14px;line-height:1.6}.client-warning p{margin:7px 0}.client-warning summary{cursor:pointer;text-decoration:underline}.client-warning details p{font-size:12px;border-top:1px solid #e8cda6;padding-top:8px}
.visit-attendance-details{margin-top:12px}.visit-attendance-details>summary{font-size:14px;color:var(--berry);cursor:pointer;line-height:1.6}.visit-attendance-details .attendance-summary{margin-top:10px}

/* Finance follows the existing CRM visual language. */
[hidden]{display:none!important}.finance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.finance-toolbar label{display:flex;gap:12px;align-items:center;font-weight:600}.finance-toolbar input{border:1px solid var(--border);border-radius:8px;padding:10px;background:white;color:inherit}.finance-toolbar>span{font-size:12px;color:var(--muted)}.finance-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:25px}.finance-panel{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;line-height:1.65}.finance-panel h2{font-size:18px;margin:0 0 16px}.finance-panel small{color:var(--muted);font-size:12px}.finance-panel dl{display:grid;grid-template-columns:1fr auto;gap:12px}.finance-panel dd{margin:0;font-weight:700}.finance-big{font-size:36px;color:var(--berry);display:block;margin-bottom:12px}.finance-form{display:flex;flex-wrap:wrap;gap:16px;align-items:end}.finance-form .field{flex:1 1 160px;margin:0}.finance-form button{margin-bottom:0}.finance-table{overflow-x:auto}.finance-table th,.finance-table td{white-space:nowrap}.finance-tabs{margin-bottom:22px}.finance-panel .progress-track{height:9px}.finance-panel .progress-earned{height:100%;background:var(--green)}
@media(max-width:800px){.finance-grid{grid-template-columns:1fr}.finance-panel{padding:18px}.finance-toolbar{align-items:flex-start}.finance-form .field{flex-basis:100%}.finance-tabs button{white-space:nowrap}}

.finance-native-frame{display:block;width:100%;height:calc(100vh - 215px);min-height:620px;border:1px solid var(--border);border-radius:12px;background:white} @media(max-width:650px){.finance-native-frame{min-height:720px;height:calc(100vh - 180px)}}

/* Finance navigation belongs to the CRM sidebar. */
.finance-chevron{margin-left:auto;font-size:18px;transition:transform .15s}.nav-item[aria-expanded=true] .finance-chevron{transform:rotate(180deg)}
.finance-subnav{display:grid;gap:3px;margin:4px 0 12px 21px;padding-left:12px;border-left:1px solid #e4e5eb}.finance-subnav button{font-size:14px;line-height:1.45;text-align:left;color:#737583;padding:10px 12px;border-radius:7px;white-space:normal}.finance-subnav button:hover{background:#f6f7fa;color:#292a35}.finance-subnav button.active{background:#f7eaf0;color:var(--berry);font-weight:700}
.finance-view .page-heading{margin-bottom:16px}.finance-view #page-description{display:none}.finance-view #content{min-height:0;flex:1}.finance-view .finance-native-frame{border:0;border-radius:0;background:#f6f7fa;min-height:560px;height:calc(100dvh - 200px)}.finance-view .sidebar{overflow-y:auto}.finance-view .sidebar-bottom{padding-top:16px}
@media(min-width:561px) and (max-width:850px){.finance-view .sidebar{width:200px;padding:22px 12px}.finance-view .sidebar .nav-item{font-size:14px;justify-content:flex-start;padding:12px 10px}.finance-view .sidebar .finance-chevron{display:block}.finance-view .app>main{margin-left:200px;width:calc(100% - 200px)}.finance-view .brand{justify-content:flex-start}.finance-view .finance-subnav{margin-left:20px;padding-left:7px}}
@media(max-width:560px){.finance-view .sidebar{height:auto;flex-wrap:wrap;padding-top:4px;padding-bottom:8px}.finance-view .sidebar nav{flex-wrap:wrap;flex:1;justify-content:flex-end}.finance-view .sidebar .brand{align-self:flex-start;margin-top:6px}.finance-view .finance-subnav{order:5;flex-basis:100%;display:flex;flex-wrap:wrap;gap:4px;margin:4px 0 0;padding:4px 0 0;border-left:0;border-top:1px solid var(--border)}.finance-view .finance-subnav button{padding:7px 9px;font-size:12px}.finance-view .finance-native-frame{height:calc(100dvh - 255px);min-height:480px}.finance-view .page-heading h1{font-size:24px}}
.birthday-badge{display:inline-block;font-size:14px;line-height:1.5;color:#855425;background:#fff2dd;border-radius:6px;padding:3px 7px;vertical-align:middle;font-weight:500;white-space:normal}.birthday-badge.compact{padding:0 2px;background:transparent;font-size:16px;line-height:1.1;white-space:nowrap}.birthday-editor{padding:16px;margin:14px 0 20px;border:1px solid var(--border);border-radius:10px}.birthday-editor .field{margin:0 0 12px}.birthday-actions{display:flex;align-items:center;gap:18px;margin-top:12px}.birthday-editor>small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin-top:10px}#birthday-error{font-size:14px;color:var(--berry);margin-top:8px}.birthday-editor>.birthday-badge{margin:3px 0}
.rating-editor{padding:16px;border:1px solid var(--border);border-radius:10px;margin-bottom:18px;background:#fffdf8}.rating-editor h3{font-size:16px;margin:0 0 5px}.rating-editor p{font-size:14px;color:var(--muted);margin:0 0 12px}.rating-stars{display:flex;gap:8px;flex-wrap:wrap;border:0;padding:0;margin:0 0 14px}.rating-stars legend{font-size:14px;margin-bottom:8px}.rating-stars label{display:flex;align-items:center;gap:4px;padding:8px;border:1px solid #e5d7bb;border-radius:7px;cursor:pointer;font-size:16px;color:#805619}.rating-stars label:has(input:checked){background:#ffe7aa;border-color:#ac781f}.rating-stars input{accent-color:#95621f}.rating-editor textarea{width:100%;min-height:75px;padding:10px;border:1px solid var(--border);border-radius:7px;font:inherit;font-size:14px;resize:vertical}.rating-editor>small{display:block;font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0}.rating-editor .field{margin-bottom:7px}#rating-error{color:#a23055;font-size:14px;margin:8px 0}.rating-badge{font-size:12px;color:#805619;white-space:nowrap;font-weight:600}.rating-empty{font-size:14px;color:var(--muted)}.client-rating-summary{font-size:14px;margin:12px 0}.rated-history{color:#805619!important;white-space:pre-wrap;overflow-wrap:anywhere}

/* Promotions and customer booking */
.promo-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 26px}.promo-intro h2{font-size:25px;margin:8px 0}.promo-intro p,.promo-card p{color:#6b6c7b;line-height:1.7}.promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;margin-bottom:24px}.promo-card{background:white;border:1px solid var(--border);border-radius:16px;padding:26px}.promo-card-top{display:flex;justify-content:space-between;align-items:center}.promo-discount{font-size:32px;color:var(--berry)}.promo-card h2{margin:18px 0 12px}.promo-price{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap}.promo-price del{color:#777986;font-size:13px;font-weight:500}.promo-price strong{color:var(--berry)}.promo-choices{border:1px solid var(--border);border-radius:12px;padding:16px;margin:20px 0}.promo-choices legend{font-weight:750}.promo-choices label,.promo-check{display:flex;align-items:center;gap:10px;margin:10px 0;line-height:1.5}.promo-choices input,.promo-check input,.online-service input{accent-color:var(--berry);width:17px;height:17px;flex-shrink:0}.promo-choices [data-choices]{padding-top:6px;border-top:1px solid var(--border);margin-top:14px}.online-booking{max-width:820px;margin:auto}.online-service{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--border);cursor:pointer}.online-service>span:first-of-type{flex:1}.online-service small{display:block;color:#6b6c7b;margin-top:6px}.online-slots{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.online-slots .selected{background:var(--berry);border-color:var(--berry);color:white}.online-booking form{margin-top:24px}.promo-choices [hidden],#promo-hours[hidden]{display:none}.sidebar{overflow-y:auto}.promo-card .error:empty{display:none}@media(max-width:700px){.promo-intro{align-items:start;flex-direction:column}.promo-card{padding:18px}.online-service{flex-wrap:wrap}.promo-grid{grid-template-columns:1fr}}
.loyalty-payment{padding:14px;border:1px solid #decbd5;border-radius:9px;background:#fbf4f8;margin-bottom:16px}.loyalty-payment>strong{font-size:15px}.loyalty-payment p{font-size:14px;line-height:1.6;margin:7px 0}.loyalty-payment .field{margin:10px 0}.loyalty-payment>small{font-size:12px;line-height:1.6;color:var(--muted)}.loyalty-payment .readonly-note{font-size:12px}
.marketing-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.marketing-tabs button{padding:10px 16px;border:1px solid var(--border);border-radius:9px;background:#fff;font-weight:700}.marketing-tabs button[aria-selected="true"]{background:#f7eaf0;border-color:#e8cada;color:var(--berry)}.loyalty-management{max-width:760px}.loyalty-management form{display:grid;gap:14px;margin:22px 0}.loyalty-management .form-row{margin:0}.loyalty-management .primary{justify-self:start}.loyalty-management [role="alert"]:empty{display:none}


.catalog-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:20px}.catalog-intro h2{font-size:23px;margin:8px 0}.catalog-intro p{font-size:15px;color:var(--berry)}.catalog-intro small{color:var(--muted);line-height:1.6}.catalog-intro button{flex:none}.catalog-tools{display:flex;gap:12px;align-items:center;margin-bottom:18px}.catalog-tools input,.catalog-tools select{border:1px solid var(--border);border-radius:8px;padding:12px;background:white;max-width:100%;min-width:0}.catalog-tools input{flex:1}.catalog-tools span{color:var(--muted);font-size:12px}.catalog-group{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:18px}.catalog-group h3{font-size:16px;margin:0;padding:18px 20px;background:#faf6f8}.catalog-service{display:grid;grid-template-columns:minmax(200px,1fr) 135px 125px 135px 12px;gap:16px;align-items:center;text-align:left;width:100%;padding:17px 20px;border-top:1px solid var(--border)}.catalog-service:hover{background:#fdf8fa}.catalog-service strong{font-size:14px;line-height:1.5}.catalog-service small{display:block;color:var(--muted);margin-top:4px;font-size:12px}.catalog-role{font-size:11px;padding:6px 9px;border-radius:6px;background:#f3eef5;justify-self:start}.catalog-role.addon{background:#eaf3ed;color:#46775e}.catalog-role.hidden{color:#888;background:#f3f3f5}.catalog-time,.catalog-price{font-size:12px}.catalog-time.missing{color:#a36530}.catalog-price{font-weight:600}.catalog-targets{max-height:240px;overflow:auto;border:1px solid var(--border);border-radius:8px}.catalog-targets label{display:flex;gap:10px;align-items:center;padding:10px;font-size:13px;border-bottom:1px solid var(--border)}.catalog-targets input,.preview-addon input,.catalog-staff-row>input:first-child{accent-color:var(--berry);width:17px;height:17px;flex:none}.booking-preview{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:26px}.booking-preview h2{font-size:24px}.booking-preview aside{padding:24px;background:#faf4f7;border-radius:10px;align-self:start}.booking-preview aside>strong{font-size:26px;color:var(--berry)}.booking-preview aside h3{font-size:16px;line-height:1.6}.booking-preview small{font-size:12px;color:var(--muted);line-height:1.6}.preview-addon{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:8px;margin-bottom:10px;font-size:14px}.preview-addon small{display:block;margin-top:5px}.catalog-staff-services{display:grid;gap:10px}.catalog-staff-row{display:grid;grid-template-columns:18px 1fr 75px;gap:12px;align-items:center;font-size:13px;padding:10px;border-bottom:1px solid var(--border)}.catalog-staff-row small{display:block;color:var(--muted);margin-top:6px}.catalog-staff-row input[type=number]{width:75px;border:1px solid var(--border);border-radius:6px;padding:9px}.catalog-staff-row:has(input:disabled){opacity:.6}
@media(max-width:1100px){.catalog-service{grid-template-columns:minmax(180px,1fr) 115px 110px;gap:10px}.catalog-service>span:first-child{grid-column:1/-1}.catalog-service>span:last-child{display:none}.catalog-intro{align-items:flex-start;flex-direction:column}.booking-preview{grid-template-columns:1fr}.catalog-tools{flex-wrap:wrap}.catalog-tools span{width:100%}}
@media(max-width:560px){.catalog-service{grid-template-columns:1fr 1fr;padding:14px}.catalog-price{grid-column:2;text-align:right}.catalog-intro{padding:17px}.catalog-intro h2{font-size:20px}.booking-preview{padding:17px}.catalog-tools select{width:100%}.catalog-service strong{font-size:13px}}
.offer-settings{margin:22px 0;padding:16px;border:1px solid var(--border);border-radius:10px}.offer-settings[hidden]{display:none}.offer-settings>strong{font-size:15px}.offer-settings .catalog-targets{max-height:220px}.offer-settings small{display:block;margin-top:4px;color:var(--muted);font-size:11px}
.duration-setting{margin:18px 0}.duration-setting>strong{display:block;font-size:13px;margin-bottom:10px}.duration-fields{display:flex;gap:12px}.duration-fields label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.duration-fields select{width:90px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:11px;color:var(--ink)}.catalog-staff-row{grid-template-columns:18px minmax(0,1fr) 150px}.catalog-staff-row .duration-fields{gap:8px}.catalog-staff-row .duration-fields select{width:68px}.catalog-staff-row .duration-fields label{font-size:11px}@media(max-width:560px){.catalog-staff-row{grid-template-columns:18px minmax(0,1fr)}.catalog-staff-row .duration-fields{grid-column:2}}
.catalog-settings-buttons{display:flex;flex-direction:column;gap:10px;flex:none}.structure-section{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--border)}.structure-section h3{font-size:17px;margin:0 0 18px}.structure-picker{margin-top:24px}.structure-categories form{display:flex;gap:14px;align-items:center;margin-bottom:12px}.structure-categories .field{flex:1;min-width:0;margin:0}.structure-categories{margin-bottom:24px}#structure-status{font-size:13px;color:#46775e;margin-bottom:10px}

/* Employee cards and individual service times. */
.staff-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:20px}
.staff-card{padding:24px;min-width:0}.staff-card h2{font-size:20px;margin:12px 0}.staff-card p{line-height:1.6;overflow-wrap:anywhere}.staff-card ul{list-style:none;padding:0;margin:18px 0}.staff-card li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #eee}.staff-card li strong{white-space:nowrap;font-size:13px}.staff-service{display:grid;grid-template-columns:1fr 96px;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #eee}.staff-service>label:first-child{display:flex;gap:10px;align-items:center}.staff-service .field{margin:0}.staff-service input[type=checkbox]{accent-color:#901e43;width:18px;height:18px;flex-shrink:0}.staff-card .secondary{width:100%}
@media(max-width:600px){.staff-cards{grid-template-columns:1fr}.staff-card{padding:18px}.staff-service{grid-template-columns:1fr 80px;gap:10px}}

.staff-service{grid-template-columns:minmax(0,1fr) 170px}.staff-service[hidden]{display:none}.staff-service small{display:block;color:var(--muted);font-size:12px;margin:5px 0}.staff-service .duration-fields{gap:8px}.staff-catalog-filters{padding:12px 0}.staff-service-list{max-height:440px;overflow-y:auto;padding-right:8px}.staff-service>label{align-items:flex-start!important}.staff-card li{overflow-wrap:anywhere}.staff-card ul{max-height:240px;overflow:auto}.staff-service .duration-fields select{width:100%}@media(max-width:600px){.staff-service{grid-template-columns:1fr}.staff-service-list{max-height:380px}}
.roster-panel{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}.roster-toolbar{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px;border-bottom:1px solid var(--border)}.roster-navigation,.roster-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.roster-toolbar .field{margin:0}.roster-caption{padding:16px 20px}.roster-caption h2{font-size:18px;margin:0 0 8px}.roster-caption p,.roster-note{font-size:12px;color:var(--muted);line-height:1.6}.roster-scroll{overflow:auto;max-height:65vh}.roster-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.roster-table th,.roster-table td{padding:8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;min-width:130px;background:white}.roster-table thead th{background:#faf7f8}.roster-table thead{position:sticky;top:0;z-index:3}.roster-table tr>:first-child{position:sticky;left:0;min-width:190px;max-width:210px;text-align:left;z-index:2;background:#fff}.roster-table thead tr>:first-child{background:#faf7f8;z-index:4}.roster-table small,.roster-table th span,.roster-table th strong{display:block}.roster-table small{color:var(--muted);font-weight:400;margin-top:6px;line-height:1.5}.roster-table th strong{margin-top:6px;font-size:15px}.roster-table .roster-current{background:#fff5f8}.roster-person{white-space:normal;text-align:left;line-height:1.5}.roster-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:100%;min-height:85px;border:1px solid transparent;border-radius:8px;padding:8px;cursor:pointer;font:inherit}.roster-cell.on-duty{background:#edf6ef;color:#28583e}.roster-cell.off-duty{background:#f7f7f8;color:var(--muted)}.roster-cell:hover,.roster-cell:focus-visible{border-color:var(--berry);outline:2px solid #901e4322}.roster-cell small{font-size:10px;margin:0}.roster-counts td{background:#faf7f8}.roster-counts strong{font-size:18px;color:var(--berry)}.roster-zero{color:#ad5062}.roster-note{padding:14px 20px;margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.new-staff[hidden]{display:none}@media(max-width:600px){.roster-toolbar{padding:12px}.roster-table tr>:first-child{min-width:140px;max-width:150px}.roster-filters{width:100%}.roster-filters .field{flex:1}.roster-toolbar select{max-width:100%}.roster-caption{padding:14px}.roster-table th,.roster-table td{min-width:120px}}
.staff-card-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:12px 24px;border-bottom:1px solid var(--border);background:#fff;flex:none}.staff-card-tabs button{border:1px solid var(--border);background:white;border-radius:8px;padding:10px 12px;font:inherit;font-size:12px;cursor:pointer}.staff-card-tabs button[aria-selected=true]{background:#f5e9ee;border-color:#dbc4cd;color:var(--berry);font-weight:600}.staff-editor [role=tabpanel][hidden],.staff-duration-row[hidden]{display:none}.staff-editor [role=tabpanel] h3{font-size:18px;margin:0 0 16px}.staff-editor .staff-service{grid-template-columns:1fr}.staff-duration-row{display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.staff-duration-row small{display:block;font-size:12px;color:var(--muted);line-height:1.5;margin:8px 0}.staff-duration-row .duration-fields{gap:8px}.staff-duration-row select{width:74px}.staff-summary{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.medical-badge{font-size:12px;padding:10px 12px;border-radius:8px;background:#f4f4f6;color:#666}.medical-badge.expired{background:#fcebee;color:#9b2941}.medical-badge.soon{background:#fff2d9;color:#875b0a}.medical-badge.valid{background:#edf6ef;color:#28583e}.staff-specialties{font-size:13px;color:var(--muted)}@media(max-width:600px){.staff-card-tabs{padding:10px 16px}.staff-card-tabs button{padding:9px}.staff-duration-row{grid-template-columns:1fr}}
.manual-week-nav{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:16px 0}.manual-week-nav .field{margin:0}.manual-week-nav strong{font-size:13px}.manual-shift-days{display:grid;gap:8px}.manual-shift-day{display:grid;grid-template-columns:minmax(125px,1.4fr) minmax(74px,1fr) minmax(74px,1fr);gap:8px;align-items:end;padding:12px;border:1px solid var(--border);border-radius:9px}.manual-shift-day .field{margin:0;font-size:12px}.manual-shift-day input[type=time]{width:100%;min-width:0}.manual-day-toggle,.manual-break-toggle{display:flex;align-items:center;gap:7px;font-size:13px}.manual-day-toggle input,.manual-break-toggle input{accent-color:var(--berry)}.staff-pattern-option{margin-top:22px;padding:14px;border:1px solid var(--border);border-radius:9px}.staff-pattern-option summary{cursor:pointer;font-weight:600;color:var(--berry)}.staff-pattern-option fieldset{margin-top:12px}@media(max-width:600px){.manual-shift-day{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-day-toggle{grid-column:1/-1}}
.payroll-history article{padding:14px 0;border-bottom:1px solid var(--border)}.payroll-history small{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:7px}.payroll-history-heading{margin-top:24px!important}
body.pilot-loading .app,body.pilot-locked .app{visibility:hidden}
#pilot-gate:not([hidden]){position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#f8f4f3;padding:24px}
.pilot-gate-card{width:min(100%,420px);padding:32px;border-radius:20px;background:white;box-shadow:0 20px 60px #3d173126}
.pilot-gate-card h2{margin:12px 0 24px}.pilot-gate-card form{display:grid;gap:16px}.pilot-gate-card [role=alert]{color:#b42336}
body.pilot-mode .workspace-footer{display:flex;gap:16px}body.pilot-mode #save-status{font-size:13px;color:#4b6651}
.calendar .staff-column>.slot{height:26px;padding:3px 6px;font-size:11px}
.calendar .staff-column>.slot:nth-child(2n){border-bottom-color:#f3f3f7}
.calendar .staff-column>.slot:nth-child(4n){border-bottom-color:#e9eaf0}
.calendar .staff-column>.slot:disabled{background:#f5f6f8}
.outside-shift{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;background:#f5f6f8;color:#7a7d8c;font-size:11px;font-weight:600;pointer-events:none}
.branch-closed{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;background:#e9ebef;color:#686c79;font-size:11px;font-weight:650;pointer-events:none}
