:root{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;color:#1d1f1a;background:#f4f5f0;font-synthesis:none;--ink: #1d1f1a;--muted: #70736a;--soft-muted: #989b92;--paper: #ffffff;--canvas: #f4f5f0;--line: #e3e5de;--lime: #c5f15a;--lime-deep: #698f12;--lime-soft: #effbd6;--danger: #b94036;--danger-soft: #fff0ed;--amber: #9a6715;--amber-soft: #fff5dc;--blue: #315b93;--blue-soft: #edf4ff;--shadow: 0 12px 40px rgba(28, 31, 25, .07)}*{box-sizing:border-box}html{background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}a{color:inherit}.icon{flex:0 0 auto}.center-shell{min-height:100vh;display:grid;place-items:center;padding:24px;color:#fff;background:radial-gradient(circle at 15% 15%,#42552a,transparent 40%),var(--ink)}.setup-card{width:min(620px,100%);padding:44px;color:var(--ink);background:var(--paper);border-radius:28px;box-shadow:0 30px 90px #0007}.setup-card h1{margin:16px 0;font-size:clamp(2rem,6vw,3.5rem);line-height:1.03;letter-spacing:-.055em}.setup-card>p:not(.eyebrow){color:var(--muted);line-height:1.7}.code-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.code-list code{padding:10px 12px;border-radius:10px;background:#eeefe9;font-size:.78rem}.brand-mark{width:48px;height:48px;display:inline-grid;place-items:center;border-radius:14px;color:var(--ink);background:var(--lime);font-weight:850;font-size:1.2rem;box-shadow:inset 0 0 0 1px #ffffff30}.brand-mark.small{width:38px;height:38px;border-radius:11px;font-size:.95rem}.brand-logo-mark{width:54px;height:54px;object-fit:contain;display:block;padding:4px;background:linear-gradient(135deg,#f8faf4,#dfe5dc);border:1px solid #ffffff75;border-radius:16px;filter:drop-shadow(0 10px 22px rgba(6,31,68,.22))}.brand-logo-mark.small{width:42px;height:42px;border-radius:12px;filter:drop-shadow(0 7px 16px rgba(0,0,0,.26))}.eyebrow{margin:0 0 8px;color:var(--lime-deep);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.loader{width:34px;height:34px;border:3px solid #ffffff30;border-top-color:var(--lime);border-radius:50%;animation:spin .8s linear infinite}.loader.dark{border-color:#1d1f1a18;border-top-color:var(--ink)}@keyframes spin{to{transform:rotate(360deg)}}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(410px,.88fr);background:var(--ink)}.login-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,8vw,120px);color:#fbfcf8;background:radial-gradient(circle at 22% 25%,#46572a 0,#1d1f1a 43%);overflow:hidden}.login-copy:after{content:"";position:absolute;right:-180px;bottom:-230px;width:560px;height:560px;border:1px solid #c5f15a25;border-radius:50%;box-shadow:0 0 0 70px #c5f15a08,0 0 0 140px #c5f15a06}.brand-lockup{display:flex;align-items:center;gap:12px;font-weight:800}.login-copy .brand-lockup{position:absolute;top:38px}.brand-lockup .brand-logo-mark{width:46px;height:46px}.login-copy .eyebrow{color:var(--lime)}.login-copy h1{position:relative;z-index:1;margin:12px 0 24px;max-width:760px;font-size:clamp(3rem,6vw,6.4rem);line-height:.95;letter-spacing:-.072em}.login-copy .lead{max-width:570px;color:#c0c2b9;font-size:1.05rem;line-height:1.7}.security-note{display:flex;align-items:center;gap:10px;margin-top:36px;color:#dadcd4;font-size:.82rem}.pulse{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 6px #c5f15a1d}.login-panel{display:grid;place-items:center;padding:44px;background:var(--paper)}.login-panel form{width:min(430px,100%)}.login-panel h2{margin:8px 0 34px;font-size:2.3rem;letter-spacing:-.045em}label{display:grid;gap:8px;margin:18px 0;color:#575b52;font-size:.78rem;font-weight:700}input,select,textarea{width:100%;padding:14px 15px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:#8cb836;box-shadow:0 0 0 4px #c5f15a35}textarea{min-height:96px;resize:vertical}.form-error{color:var(--danger);font-size:.82rem}.primary-button{width:100%;margin-top:12px;padding:15px 20px;color:#fff;background:var(--ink);border:0;border-radius:12px;font-weight:800}.primary-button:hover{background:#30332c}.salon-app{min-height:100vh}.salon-topbar{position:sticky;z-index:30;top:0;min-height:72px;display:grid;grid-template-columns:240px 1fr 240px;align-items:center;padding:0 clamp(20px,4vw,64px);color:#fff;background:#1d1f1af7;border-bottom:1px solid #383b34;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.salon-brand{display:flex;align-items:center;gap:11px}.salon-brand>div{display:flex;flex-direction:column;line-height:1.15}.salon-brand strong{font-size:.95rem}.salon-brand small{color:#8f9388;font-size:.62rem;letter-spacing:.07em;text-transform:uppercase}.desktop-nav{justify-self:center;display:flex;align-items:center;gap:3px;padding:4px;background:#292c26;border:1px solid #3a3d36;border-radius:12px}.desktop-nav button{display:flex;align-items:center;gap:8px;padding:9px 15px;color:#aeb1a8;background:transparent;border:0;border-radius:8px;font-size:.75rem;font-weight:750}.desktop-nav button:hover{color:#fff}.desktop-nav button.active{color:var(--ink);background:var(--lime);box-shadow:0 3px 10px #0003}.topbar-tools{justify-self:end;display:flex;align-items:center;gap:12px}.install-button{display:flex;align-items:center;gap:7px;padding:9px 12px;color:var(--lime);background:transparent;border:1px solid #565a50;border-radius:10px;font-size:.7rem;font-weight:750}.offline-pill{padding:6px 9px;color:#ffd4a0;background:#6b481d;border-radius:999px;font-size:.65rem;font-weight:800}.account-menu{display:flex;align-items:center;gap:9px}.account-menu>span{width:34px;height:34px;display:grid;place-items:center;color:var(--ink);background:#eef0e9;border-radius:50%;font-size:.68rem;font-weight:850}.account-menu>div{display:flex;flex-direction:column}.account-menu strong{font-size:.68rem}.account-menu button{padding:0;color:#94988d;background:none;border:0;text-align:left;font-size:.62rem}.salon-main{width:min(1320px,100%);margin:0 auto;padding:46px clamp(20px,4vw,64px) 90px}.salon-main.calendar-main{width:100%;max-width:none;padding-inline:clamp(24px,3vw,72px)}.toast{position:fixed;z-index:80;top:88px;left:50%;transform:translate(-50%);width:min(480px,calc(100% - 32px));padding:12px 15px;border:1px solid;border-radius:12px;box-shadow:var(--shadow);font-size:.78rem;font-weight:650}.toast.success{color:#476214;background:#f1ffdc;border-color:#a6cd54}.toast.error{color:#8d3028;background:#fff1ef;border-color:#e2a7a1}.schedule-header{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:36px}.schedule-header h1,.system-heading h1{margin:3px 0 8px;font-size:clamp(2.8rem,5vw,4.9rem);line-height:.95;letter-spacing:-.065em}.schedule-header>div:first-child>p:last-child,.system-heading p:last-child{margin:0;color:var(--muted);font-size:.86rem}.today-summary{min-width:330px;display:grid;grid-template-columns:1fr 1.35fr;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:17px;box-shadow:0 8px 30px #1d1f1a08}.today-summary>div{padding:15px 18px;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:0 10px}.today-summary>div+div{border-left:1px solid var(--line)}.today-summary span{color:var(--muted);font-size:.66rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.today-summary strong{grid-row:1 / 3;grid-column:2;font-size:1.25rem;letter-spacing:-.04em}.today-summary small{color:var(--soft-muted);font-size:.63rem}.staff-section{margin-bottom:26px}.staff-label{display:flex;align-items:baseline;gap:8px;margin-bottom:11px}.staff-label span{color:var(--muted);font-size:.68rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.staff-label strong{font-size:.75rem}.employee-switcher{display:flex;gap:9px;padding-bottom:5px;overflow-x:auto;scrollbar-width:thin;scroll-snap-type:x proximity}.employee-switcher>button{min-width:156px;display:flex;align-items:center;gap:10px;padding:10px 13px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:14px;text-align:left;scroll-snap-align:start;transition:transform .15s,border-color .15s,background .15s}.employee-switcher>button:hover{transform:translateY(-1px);border-color:#b7bbaf}.employee-switcher>button.active{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 8px 20px #1d1f1a19}.employee-avatar{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;color:var(--ink);background:var(--lime);border-radius:10px;font-size:.78rem;font-weight:850}.employee-avatar.all{background:#ebede6}.employee-switcher>button.active .employee-avatar.all{background:var(--lime)}.employee-switcher>button>span:last-child{min-width:0;display:flex;flex-direction:column}.employee-switcher strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.employee-switcher small{color:var(--soft-muted);font-size:.62rem}.employee-switcher>button.active small{color:#9da196}.view-toolbar{min-height:48px;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mobile-view-tabs{display:none}.schedule-mode-toggle{display:inline-flex;align-items:center;gap:3px;margin-right:auto;padding:3px;background:#e8eae3;border:1px solid #dde0d7;border-radius:11px}.schedule-mode-toggle button{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;color:var(--muted);background:transparent;border:0;border-radius:8px;font-size:.68rem;font-weight:850;white-space:nowrap}.schedule-mode-toggle button.active{color:var(--ink);background:#fff;box-shadow:0 2px 9px #00000010}.month-picker{display:flex;align-items:center;gap:9px;margin:0 auto 0 0;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.month-picker input{width:auto;padding:7px 9px;border-radius:9px;font-size:.73rem}.refresh-button{display:flex;align-items:center;gap:7px;padding:8px 10px;color:var(--muted);background:transparent;border:0;font-size:.7rem;font-weight:750}.refresh-button:hover{color:var(--ink)}.refresh-warning{margin-left:auto;padding:6px 9px;color:#77570f;background:#fff4ce;border:1px solid #ead28a;border-radius:9px;font-size:.64rem;font-weight:750}.schedule-loading{min-height:330px;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted);font-size:.8rem}.schedule-list{padding-top:24px}.day-group+.day-group{margin-top:34px}.day-group>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.day-group>header>div{display:flex;align-items:baseline;gap:9px}.day-group h2{margin:0;font-size:1rem;letter-spacing:-.025em}.day-group header span{color:var(--muted);font-size:.7rem}.day-group header>small{color:var(--soft-muted);font-size:.66rem}.day-visits{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 5px 25px #1d1f1a05}.visit-card{min-height:132px;display:grid;grid-template-columns:105px minmax(0,1fr) 100px;align-items:stretch;background:var(--paper);border-left:4px solid var(--lime)}.visit-card+.visit-card{border-top:1px solid var(--line)}.visit-card.visit-scheduled{border-left-color:#f2cf63}.visit-card.visit-completed{border-left-color:#77a624}.visit-card.visit-no_show{border-left-color:#d29034}.visit-card.is-cancelled{border-left-color:#c9cbc4;background:#fafaf8}.visit-card.is-blocked{border-left-color:#9ca199;background:repeating-linear-gradient(-45deg,#f5f6f2 0 10px,#eef0eb 10px 20px)}.visit-time{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px 14px;border-right:1px solid var(--line)}.visit-time strong{font-size:1.35rem;letter-spacing:-.045em}.visit-time span{margin-top:3px;color:var(--soft-muted);font-size:.65rem}.visit-main{min-width:0;padding:18px 22px}.visit-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.visit-heading>div{min-width:0;display:flex;align-items:center;gap:9px}.visit-heading>div>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.appointment-badge{width:fit-content;display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;font-size:.58rem;font-weight:850;white-space:nowrap}.appointment-badge.scheduled{color:#577812;background:var(--lime-soft)}.appointment-badge.completed{color:#4d7011;background:#e9f8d0}.appointment-badge.no-show{color:#8f5c0d;background:var(--amber-soft)}.appointment-badge.changed{color:var(--blue);background:var(--blue-soft)}.appointment-badge.cancelled{color:#73766e;background:#eaebe7}.appointment-badge.block{color:#555950;background:#e2e4df}.visit-price{flex:0 0 auto;font-size:.88rem;font-weight:850}.visit-price.is-muted{color:#777b72}.visit-price-breakdown{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:3px;color:var(--ink);font-size:.75rem;line-height:1.25;white-space:nowrap}.visit-price-breakdown>span{display:flex;align-items:baseline;gap:4px}.visit-price-breakdown em{color:var(--muted);font-size:.62rem;font-style:normal;font-weight:700}.visit-price-breakdown strong{font-size:.88rem;font-weight:850}.visit-price-breakdown .visit-products-price strong{color:var(--lime-deep)}.visit-price-breakdown.compact{gap:1px}.visit-price-breakdown.compact em{font-size:.52rem}.visit-price-breakdown.compact strong{font-size:.65rem}.visit-service{display:flex;align-items:center;gap:7px;margin-top:10px;color:#4e5248;font-size:.77rem}.visit-service .icon{color:var(--lime-deep)}.visit-service-lines{display:grid;gap:6px;margin-top:9px}.visit-service-lines span{min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;background:#f6f8f1;border:1px solid #e3e8d8;border-radius:9px;color:#454a40;font-size:.66rem}.visit-service-lines em{color:var(--soft-muted);font-style:normal;font-weight:800}.visit-service-lines strong{color:var(--ink);font-size:.68rem}.visit-service-lines span.is-skipped{color:#8f5c0d;background:var(--amber-soft);border-color:#ecc06d}.visit-service-lines span.is-skipped strong{color:#8f5c0d}.visit-meta{display:flex;align-items:center;gap:16px;margin-top:12px;color:var(--muted);font-size:.67rem}.visit-meta span{display:flex;align-items:center;gap:5px}.visit-meta a{color:var(--blue);text-decoration:none}.tip-line{display:flex;align-items:center;gap:5px;margin-top:12px;color:var(--muted);font-size:.65rem}.tip-line strong{color:var(--lime-deep)}.tip-line span{margin-left:8px;padding-left:10px;border-left:1px solid var(--line)}.visit-action{display:grid;place-items:center;padding:18px;border-left:1px solid var(--line)}.outline-button{min-width:72px;padding:8px 11px;color:var(--ink);background:#fff;border:1px solid #cfd2c9;border-radius:9px;font-size:.68rem;font-weight:800}.outline-button:hover{border-color:var(--ink)}.cancel-note{color:var(--soft-muted);font-size:.62rem;text-align:center}.is-cancelled .visit-time,.is-cancelled .visit-main{opacity:.62}.is-blocked .visit-time,.is-blocked .visit-main{opacity:.78}.schedule-empty{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:16px;color:var(--lime-deep);background:var(--lime-soft);border-radius:18px}.schedule-empty strong{font-size:.95rem}.schedule-empty p{max-width:380px;margin:7px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}.calendar-pager{padding-top:18px}.calendar-pager-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px;padding:12px 14px;background:#e9ebe4;border:1px solid #dde0d7;border-radius:15px}.calendar-pager-toolbar>div:first-child{display:flex;flex-direction:column;gap:2px}.calendar-pager-toolbar strong{font-size:.82rem;letter-spacing:-.015em}.calendar-pager-toolbar span{color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.calendar-pager-actions{display:flex;align-items:center;gap:6px}.calendar-pager-actions button{padding:8px 10px;color:var(--ink);background:#fff;border:1px solid #cfd2c9;border-radius:9px;font-size:.66rem;font-weight:850;white-space:nowrap}.calendar-pager-actions button:not(:disabled):hover{border-color:var(--ink)}.calendar-pager-actions button:disabled{color:#a5a99f;background:#f1f2ed}.calendar-board{display:grid;align-items:start;gap:14px;padding:0 0 8px;overflow:visible}.calendar-day{min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 26px #1d1f1a08;scroll-snap-align:start}.calendar-day>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 17px;background:linear-gradient(180deg,#fff,#fbfcf8);border-bottom:1px solid var(--line)}.calendar-day h2{margin:3px 0 0;font-size:1.08rem;letter-spacing:-.035em}.calendar-day header span{color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.calendar-day header small{min-width:36px;height:36px;display:grid;place-items:center;color:#415a0d;background:var(--lime-soft);border:1px solid #c6e883;border-radius:12px;font-size:.78rem;font-weight:950}.calendar-day-visits{display:grid;align-content:start;gap:10px;padding:12px;background:#fbfcf8}.calendar-visit{width:100%;min-height:88px;display:grid;grid-template-columns:66px minmax(0,1fr);gap:11px;padding:12px;color:var(--ink);background:#fff;border:1px solid #d9ded2;border-left:5px solid var(--lime);border-radius:15px;text-align:left;box-shadow:0 6px 18px #1d1f1a0b;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.calendar-visit:hover{transform:translateY(-1px);border-color:#bfc8b4;box-shadow:0 10px 24px #1d1f1a12}.calendar-visit:disabled{cursor:default;opacity:.62}.calendar-visit.visit-scheduled{border-left-color:#f2cf63}.calendar-visit.visit-completed{border-left-color:#77a624}.calendar-visit.visit-no_show{border-left-color:#d29034}.calendar-visit.is-cancelled{border-left-color:#c9cbc4;background:#fafaf8}.calendar-visit.is-blocked{border-left-color:#9ca199;background:#f1f2ef}.calendar-visit.attention-active,.calendar-visit.attention-settlement_due{border-left-color:var(--danger)}.calendar-visit.attention-settlement_due{background:linear-gradient(90deg,#fff5f2 0,#fff 55%)}.calendar-visit-time{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding-right:10px;border-right:1px solid var(--line)}.calendar-visit-time strong{font-size:1.05rem;letter-spacing:-.045em}.calendar-visit-time em{color:var(--soft-muted);font-size:.62rem;font-style:normal}.calendar-visit-main{min-width:0;display:grid;gap:7px}.calendar-visit-top,.calendar-visit-footer{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.calendar-visit-top strong,.calendar-visit-service,.calendar-visit-footer>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-visit-top strong{font-size:.82rem}.calendar-visit-top b{flex:0 0 auto;font-size:.72rem}.calendar-visit-service{color:#454a40;font-size:.7rem}.calendar-visit-footer{color:var(--soft-muted);font-size:.63rem}.calendar-visit-footer .appointment-badge{padding:4px 7px;font-size:.53rem}.payments-panel{padding-top:24px}.payment-total-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}.payment-total-grid article{min-height:124px;display:flex;flex-direction:column;padding:18px;background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 22px #1d1f1a06}.payment-total-grid article:nth-child(1){border-left:4px solid var(--lime)}.payment-total-grid article:nth-child(2){border-left:4px solid #173f70}.payment-total-grid article:nth-child(3){border-left:4px solid #d6a13d}.payment-total-grid article:nth-child(4){border-left:4px solid var(--blue)}.payment-total-grid article:nth-child(5){border-left:4px solid #6c7566}.payment-total-grid span{color:var(--muted);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.payment-total-grid strong{margin-top:10px;font-size:1.45rem;letter-spacing:-.045em}.payment-total-grid small{margin-top:auto;color:var(--soft-muted);font-size:.65rem}.payment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.payment-toolbar .month-picker{margin:0}.payment-toolbar>span{color:var(--muted);font-size:.68rem;font-weight:750}.payment-days{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 5px 25px #1d1f1a05}.payment-day{display:grid;grid-template-columns:120px minmax(320px,1.5fr) minmax(170px,1fr) minmax(170px,1fr) 140px;align-items:stretch;min-height:106px;border-left:4px solid #cfd2c9}.payment-day+.payment-day{border-top:1px solid var(--line)}.payment-day.is-confirmed{border-left-color:var(--lime-deep);background:linear-gradient(90deg,#f6fbec 0,#fff 24%)}.payment-day-date{display:flex;flex-direction:column;justify-content:center;padding:17px 16px;border-right:1px solid var(--line)}.payment-day-date strong{font-size:.86rem;letter-spacing:-.02em}.payment-day-date span{margin-top:4px;color:var(--soft-muted);font-size:.62rem}.payment-notes-toggle{width:fit-content;display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:5px 7px;color:#8a5b00;background:#fff5d8;border:1px solid #e5bf5f;border-radius:8px;font-size:.58rem;font-weight:850}.payment-notes-toggle:hover{border-color:#9c6c09}.payment-day-amounts{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:8px;padding:14px 16px}.payment-day-amounts span{display:flex;flex-direction:column;gap:4px}.payment-day-amounts small{color:var(--soft-muted);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.payment-day-amounts strong{font-size:.8rem}.payment-method-detail{display:flex;align-items:center;gap:9px;padding:14px;border-left:1px solid var(--line)}.payment-method-detail .icon{color:var(--muted)}.payment-method-detail span{min-width:0;display:flex;flex-direction:column;gap:4px}.payment-method-detail strong{font-size:.68rem}.payment-method-detail small{color:var(--muted);font-size:.64rem;line-height:1.35}.card-detail .icon{color:var(--blue)}.cash-detail .icon{color:#5f674f}.payment-confirm-cell{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;padding:14px 16px;border-left:1px solid var(--line)}.confirm-day-button,.confirm-status{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:104px;padding:8px 10px;color:#58604f;background:#f3f4ef;border:1px solid #daddd4;border-radius:9px;font-size:.64rem;font-weight:850}.confirm-day-button.confirmed,.confirm-status.confirmed{color:#46640e;background:var(--lime-soft);border-color:#bfdc80}.confirm-day-button:not(:disabled):hover{border-color:var(--ink)}.payment-confirm-cell>small{color:var(--soft-muted);font-size:.55rem;text-align:right}.payment-day-notes{grid-column:1 / -1;display:grid;grid-template-columns:180px minmax(0,1fr);gap:14px;padding:14px 18px;background:#fffaf0;border-top:1px solid #ead9ae}.payment-day-notes-heading{display:flex;align-items:center;gap:7px;align-self:start;color:#805600;font-size:.69rem}.payment-day-notes-list{display:grid;gap:8px}.payment-day-notes-list article{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.3fr);gap:14px;padding:10px 12px;background:#fff;border:1px solid #eadfca;border-radius:10px}.payment-day-notes-list article>div{min-width:0;display:flex;flex-direction:column;gap:3px}.payment-day-notes-list strong{font-size:.69rem}.payment-day-notes-list small{overflow:hidden;color:var(--muted);font-size:.59rem;text-overflow:ellipsis;white-space:nowrap}.payment-day-notes-list p{margin:0;color:#4f4634;font-size:.68rem;line-height:1.45;overflow-wrap:anywhere}.payments-empty{background:var(--paper);border:1px solid var(--line);border-radius:18px}.payroll-panel{padding-top:24px}.payroll-toolbar{margin-bottom:18px}.payroll-total-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:18px}.payroll-total-grid article{min-height:128px;display:flex;flex-direction:column;justify-content:space-between;padding:18px;background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 25px #1d1f1a05}.payroll-total-grid article.negative{background:var(--danger-soft);border-color:#e4aaa4}.payroll-total-grid span{color:var(--muted);font-size:.64rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.payroll-total-grid strong{font-size:1.45rem;letter-spacing:-.055em}.payroll-total-grid small{color:var(--soft-muted);font-size:.62rem;line-height:1.35}.payroll-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;align-items:start}.payroll-card{padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 5px 25px #1d1f1a05}.payroll-staff-list article{display:grid;grid-template-columns:42px minmax(150px,1fr) repeat(3,minmax(94px,.55fr));align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.payroll-staff-list article>div{display:flex;flex-direction:column;min-width:0}.payroll-staff-list article>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.payroll-staff-list small{color:var(--soft-muted);font-size:.61rem}.payroll-staff-list span:not(.employee-avatar){display:flex;flex-direction:column;gap:4px}.payroll-staff-list b{font-size:.78rem}.fixed-cost-form{display:grid;grid-template-columns:1fr 120px;gap:9px;margin-bottom:16px;padding:13px;background:#f5f6f1;border-radius:13px}.fixed-cost-form label{gap:5px;margin:0;font-size:.62rem}.fixed-cost-form input{padding:10px;font-size:.72rem;border-radius:9px}.fixed-cost-form>div{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:6px}.fixed-cost-list article{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.fixed-cost-list article>div:first-child{display:flex;flex-direction:column;min-width:0}.fixed-cost-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem}.fixed-cost-list small{color:var(--soft-muted);font-size:.58rem}.fixed-cost-list b{font-size:.72rem;text-align:right}.payroll-chart-card{margin-top:14px}.payroll-trend{display:grid;gap:16px}.trend-legend{display:flex;flex-wrap:wrap;gap:8px}.trend-legend span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;color:#5f655b;background:#f5f6f1;border:1px solid var(--line);border-radius:999px;font-size:.62rem;font-weight:850}.trend-legend i{width:9px;height:9px;border-radius:999px}.trend-legend strong{color:var(--ink);font-size:.66rem}.trend-legend .sales i{background:#df8b2d}.trend-legend .revenue i{background:#79a91e}.trend-legend .tips i{background:#143a68}.trend-chart{position:relative;min-height:270px;padding:18px 16px 12px;overflow-x:auto;background:#f7f8f4;border:1px solid var(--line);border-radius:16px}.trend-chart-bars{scrollbar-width:thin;scrollbar-color:#c7d0c0 transparent}.trend-grid-lines{position:absolute;inset:18px 16px 44px;pointer-events:none;background:repeating-linear-gradient(to bottom,#dfe2da 0 1px,transparent 1px 25%);opacity:.82}.trend-bars-track{position:relative;z-index:1;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(74px,1fr);gap:14px;min-width:max-content;min-height:232px;align-items:end}.trend-day-group{display:grid;grid-template-rows:minmax(188px,1fr) auto;gap:9px;min-width:68px;height:100%}.trend-bars{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:188px;padding:0 5px;border-bottom:1px solid #cdd6c6}.trend-bar{position:relative;width:14px;height:var(--bar-height);min-height:5px;border-radius:999px 999px 7px 7px;box-shadow:inset 0 -7px 11px #00000016,0 7px 15px #1d1f1a0b;outline:none;transition:transform .18s ease,filter .18s ease}.trend-bar:hover,.trend-bar:focus-visible{z-index:5;transform:translateY(-3px);filter:brightness(1.04)}.trend-bar.empty{min-height:3px;opacity:.34;box-shadow:none}.trend-bar.sales{background:linear-gradient(180deg,#ffb24b,#df8b2d)}.trend-bar.revenue{background:linear-gradient(180deg,#a7d931,#79a91e)}.trend-bar.tips{background:linear-gradient(180deg,#255789,#143a68)}.trend-bar em{position:absolute;left:50%;bottom:calc(100% + 8px);display:none;width:max-content;max-width:150px;padding:6px 8px;color:#fff;background:#1d211a;border-radius:9px;box-shadow:0 10px 25px #00000024;font-size:.56rem;font-style:normal;font-weight:850;line-height:1.2;white-space:nowrap;transform:translate(-50%)}.trend-bar:hover em,.trend-bar:focus-visible em{display:block}.trend-day-label{overflow:hidden;color:var(--soft-muted);font-size:.56rem;font-weight:850;text-align:center;text-overflow:ellipsis;white-space:nowrap}.product-sales-summary{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.product-sales-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.product-sales-heading>div{display:flex;flex-direction:column;gap:3px}.product-sales-heading>div>strong{font-size:.84rem}.product-sales-heading small{color:var(--muted);font-size:.62rem}.product-sales-heading>span{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;color:#8a5517;background:#fff3df;border:1px solid #edc98e;border-radius:10px;font-size:.68rem;font-weight:850;white-space:nowrap}.product-sales-staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}.product-sales-staff{padding:14px;background:#f7f8f4;border:1px solid var(--line);border-radius:13px}.product-sales-staff>header{display:flex;align-items:center;gap:9px;padding-bottom:10px}.product-sales-staff>header>div{display:flex;flex-direction:column;gap:2px}.product-sales-staff>header strong{font-size:.74rem}.product-sales-staff>header small{color:var(--muted);font-size:.59rem}.product-sales-list{border-top:1px solid var(--line)}.product-sales-list>div{display:grid;grid-template-columns:minmax(0,1fr) 58px 78px;align-items:center;gap:8px;padding:9px 0}.product-sales-list>div+div{border-top:1px solid #e6e8e1}.product-sales-list strong{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.product-sales-list span{color:var(--muted);font-size:.62rem;text-align:right}.product-sales-list b{font-size:.68rem;text-align:right}.modal-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:18px;background:#11130f99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.visit-modal{position:relative;width:min(520px,100%);max-height:calc(100vh - 36px);overflow-y:auto;padding:30px;background:var(--paper);border-radius:22px;box-shadow:0 28px 90px #0006}.modal-close{position:absolute;top:18px;right:18px;width:36px;height:36px;display:grid;place-items:center;padding:0;color:var(--muted);background:#f0f1ec;border:0;border-radius:10px}.visit-modal h2{margin:4px 42px 6px 0;font-size:1.65rem;letter-spacing:-.045em}.modal-subtitle{color:var(--muted);font-size:.74rem}.status-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:24px 0;padding:0;border:0}.status-choice legend{grid-column:1 / -1;margin-bottom:8px;color:#575b52;font-size:.72rem;font-weight:800}.status-choice button{min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;color:var(--ink);background:#fafbf8;border:1px solid var(--line);border-radius:13px}.status-choice button>span{width:33px;height:33px;display:grid;place-items:center;margin-bottom:3px;color:#65695f;background:#eceee8;border-radius:10px;font-size:.66rem;font-weight:900}.status-choice button strong{font-size:.7rem}.status-choice button small{color:var(--soft-muted);font-size:.57rem}.status-choice button.selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.status-choice button.selected.completed>span{color:#486a0e;background:var(--lime)}.status-choice button.selected.no-show>span{color:#794c08;background:#ffd98e}.status-choice button.selected.scheduled>span{color:var(--blue);background:var(--blue-soft)}.tip-field{margin-top:0}.tip-field>span{position:relative;display:block}.tip-field input{padding-right:44px;font-size:1rem;font-weight:750}.tip-field em{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.78rem;font-style:normal}.tip-field small{color:var(--soft-muted);font-weight:400;line-height:1.5}.payment-summary{margin-top:20px;padding:14px;background:#f5f6f1;border-radius:12px}.payment-summary span{display:flex;justify-content:space-between;padding:4px 0;color:var(--muted);font-size:.7rem}.payment-summary span strong{color:var(--ink)}.payment-summary .total{margin-top:7px;padding-top:10px;color:var(--ink);border-top:1px solid var(--line);font-weight:800}.payment-summary .total strong{font-size:.9rem}.save-visit{background:var(--lime);color:var(--ink)}.save-visit:hover{background:#b7e44b}.system-heading{margin-bottom:34px}.system-grid{display:grid;grid-template-columns:1.25fr 1fr .8fr .8fr;gap:12px}.system-card{min-height:190px;display:flex;flex-direction:column;padding:21px;background:var(--paper);border:1px solid var(--line);border-radius:17px}.system-card.dark{color:#fff;background:var(--ink);border-color:var(--ink)}.system-card.warning{background:var(--amber-soft);border-color:#e2c27f}.system-label{color:var(--muted);font-size:.65rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.dark .system-label{color:#979b90}.system-card>strong{margin-top:13px;font-size:2rem;letter-spacing:-.05em}.system-card>strong.system-date{font-size:1.25rem}.system-card>p{margin:7px 0 18px;color:var(--muted);font-size:.7rem;line-height:1.45}.dark>p{color:#a6aaa0}.system-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}.system-footer>span{display:flex;align-items:center;gap:6px;color:#b8bbb2;font-size:.62rem}.system-footer i{width:7px;height:7px;background:#777;border-radius:50%}.system-footer i.online{background:var(--lime)}.system-footer button{display:flex;align-items:center;gap:5px;padding:7px 9px;color:var(--ink);background:var(--lime);border:0;border-radius:8px;font-size:.62rem;font-weight:800}.privacy-card{display:flex;align-items:flex-start;gap:14px;margin-top:24px;padding:20px;color:#3f5d0d;background:var(--lime-soft);border:1px solid #cfeb93;border-radius:15px}.privacy-icon{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;color:#fff;background:#688f15;border-radius:9px;font-size:.7rem;font-weight:900}.privacy-card strong{font-size:.8rem}.privacy-card p{margin:4px 0 0;color:#61733e;font-size:.7rem;line-height:1.5}.sync-attention-panel{margin-top:18px;padding:20px;background:#fff8e8;border:1px solid #e7c981;border-radius:17px}.sync-attention-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.sync-attention-heading h2{margin:2px 0 6px;font-size:1.15rem;letter-spacing:-.035em}.sync-attention-heading p{max-width:760px;margin:0;color:#79633a;font-size:.7rem;line-height:1.45}.sync-attention-heading>strong{min-width:38px;height:38px;display:grid;place-items:center;color:#6d4614;background:#ffe2a6;border:1px solid #edbf66;border-radius:12px;font-size:1.1rem}.sync-attention-list{display:grid;gap:10px}.sync-attention-item{padding:14px;background:#fff;border:1px solid #ead9b4;border-left:4px solid #d18b21;border-radius:13px}.sync-attention-item.failed{border-left-color:#c33b35}.sync-attention-item>span{display:inline-flex;margin-bottom:6px;padding:5px 8px;color:#6d4614;background:#fff0cf;border-radius:999px;font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.sync-attention-item.failed>span{color:#8b211d;background:#ffe1df}.sync-attention-item strong{display:block;font-size:.82rem;line-height:1.3}.sync-attention-item small{display:block;margin-top:4px;color:#8c7c61;font-size:.62rem;line-height:1.45}.sync-attention-item>p{margin:9px 0 0;color:#4f4634;font-size:.7rem;line-height:1.45}.sync-attention-item details{margin-top:10px;padding-top:9px;border-top:1px solid #efe2c4}.sync-attention-item summary{cursor:pointer;color:#5f6f23;font-size:.65rem;font-weight:850}.sync-attention-item details p{margin:7px 0 0;color:#70644d;font-size:.66rem;line-height:1.45;overflow-wrap:anywhere}.mobile-bottom-nav{display:none}@media(max-width:1050px){.salon-topbar{grid-template-columns:190px 1fr 190px}.system-grid{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr 420px}.login-copy h1{font-size:4.2rem}.payment-total-grid{grid-template-columns:repeat(2,1fr)}.payroll-total-grid{grid-template-columns:repeat(3,1fr)}.payroll-grid{grid-template-columns:1fr}.payment-day{grid-template-columns:110px minmax(280px,1fr) minmax(160px,1fr) minmax(160px,1fr)}.payment-confirm-cell{grid-column:2 / -1;align-items:flex-start;border-top:1px solid var(--line)}}@media(max-width:780px){body{padding-bottom:env(safe-area-inset-bottom)}.login-shell{grid-template-columns:1fr}.login-copy{min-height:46vh;padding:92px 28px 44px}.login-copy .brand-lockup{top:24px}.login-copy h1{font-size:2.9rem}.login-copy .lead{font-size:.9rem}.security-note{margin-top:18px}.login-panel{padding:38px 28px 48px}.salon-topbar{min-height:62px;grid-template-columns:1fr auto;padding:0 16px}.salon-brand small,.desktop-nav{display:none}.salon-brand .brand-mark.small,.salon-brand .brand-logo-mark.small{width:34px;height:34px}.topbar-tools{gap:8px}.account-menu{gap:7px}.account-menu strong{display:none}.account-menu>div{display:flex}.account-menu button{padding:7px 10px;color:var(--ink);background:#eef0e9;border-radius:999px;font-size:.58rem;font-weight:850}.install-button{width:34px;height:34px;display:grid;place-items:center;padding:0;font-size:0}.salon-main{padding:30px 14px calc(132px + env(safe-area-inset-bottom))}.salon-main.calendar-main{padding-inline:14px}.schedule-header{align-items:stretch;flex-direction:column;gap:20px;margin-bottom:28px}.schedule-header h1,.system-heading h1{font-size:3rem}.schedule-header>div:first-child>p:last-child{max-width:330px;line-height:1.5}.today-summary{min-width:0;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.today-summary>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px}.today-summary span,.today-summary strong,.today-summary small{max-width:100%;min-width:0}.today-summary strong{grid-row:auto;grid-column:auto;font-size:clamp(1.08rem,5vw,1.35rem);line-height:1.05;white-space:nowrap}.today-summary small{line-height:1.15}.staff-section{margin-inline:-14px}.staff-label{padding-inline:14px}.employee-switcher{padding:0 14px 7px}.employee-switcher>button{min-width:142px}.view-toolbar{justify-content:space-between}.mobile-view-tabs{display:flex;gap:3px;padding:3px;background:#e8eae3;border-radius:9px}.mobile-view-tabs button{padding:7px 10px;color:var(--muted);background:transparent;border:0;border-radius:7px;font-size:.66rem;font-weight:800}.mobile-view-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 1px 6px #00000012}.view-toolbar{flex-wrap:wrap;gap:8px}.mobile-view-tabs{flex:1 1 auto;max-width:calc(100% - 44px);overflow-x:auto}.schedule-mode-toggle{order:3;width:100%;margin-right:0}.schedule-mode-toggle button{flex:1;justify-content:center;padding-block:9px}.month-picker{margin-left:0}.month-picker{font-size:0}.month-picker input{max-width:135px}.refresh-button{width:34px;height:34px;display:grid;place-items:center;padding:0;font-size:0}.refresh-warning{order:3;width:100%;margin-left:0;text-align:center}.schedule-list{padding-top:20px}.calendar-pager{padding-top:14px}.calendar-pager-toolbar{align-items:stretch;flex-direction:column;gap:10px;padding:11px}.calendar-pager-actions{display:grid;grid-template-columns:1fr 1fr 1fr}.calendar-pager-actions button{padding-inline:6px;font-size:.58rem}.calendar-board{grid-template-columns:1fr!important;gap:10px;padding:0 0 8px}.calendar-day>header{padding:14px}.calendar-day h2{font-size:.98rem}.calendar-day-visits{gap:9px;padding:10px}.calendar-visit{min-height:82px;grid-template-columns:58px minmax(0,1fr);padding:10px;gap:9px}.calendar-visit-time{padding-right:8px}.calendar-visit-time strong{font-size:.96rem}.calendar-visit-top strong{font-size:.76rem}.calendar-visit-service{font-size:.66rem}.calendar-visit-footer{font-size:.59rem}.day-group+.day-group{margin-top:28px}.day-visits{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}.visit-card{min-height:0;grid-template-columns:65px minmax(0,1fr);margin-bottom:9px;border:1px solid var(--line);border-left:4px solid var(--lime);border-radius:15px;box-shadow:0 5px 18px #1d1f1a08;overflow:hidden}.visit-card+.visit-card{border-top:1px solid var(--line)}.visit-card.visit-completed{border-left-color:#77a624}.visit-card.visit-no_show{border-left-color:#d29034}.visit-card.is-cancelled{border-left-color:#c9cbc4}.visit-card.is-blocked{border-left-color:#9ca199}.visit-time{grid-row:1 / 3;padding:16px 8px;justify-content:flex-start;border-right:1px solid var(--line)}.visit-time strong{font-size:1rem}.visit-time span{font-size:.56rem}.visit-main{padding:14px 12px 9px}.visit-heading{gap:7px}.visit-heading>div{align-items:flex-start;flex-direction:column;gap:5px}.visit-heading>div>strong{max-width:175px;font-size:.82rem}.visit-price{font-size:.76rem}.visit-price-breakdown{gap:2px;font-size:.67rem}.visit-price-breakdown em{font-size:.55rem}.visit-price-breakdown strong{font-size:.76rem}.visit-service{margin-top:9px;font-size:.69rem}.visit-meta{gap:10px;margin-top:10px;flex-wrap:wrap;font-size:.61rem}.tip-line{flex-wrap:wrap;margin-top:9px}.visit-action{grid-column:2;display:flex;justify-content:flex-end;padding:0 12px 12px;border-left:0}.outline-button{min-width:80px}.visit-modal{align-self:end;width:calc(100% + 36px);max-height:92vh;margin:-18px;padding:26px 20px calc(22px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.modal-backdrop{place-items:end center}.status-choice{gap:6px}.status-choice button{padding:12px 4px}.status-choice button small{display:none}.system-grid{grid-template-columns:1fr}.system-card{min-height:160px}.mobile-bottom-nav{position:fixed;z-index:40;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);padding:10px 16px calc(22px + env(safe-area-inset-bottom));background:#fffffff7;border-top:1px solid var(--line);border-radius:22px 22px 0 0;box-shadow:0 -8px 30px #1d1f1a12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px;color:#8b8e85;background:none;border:0;font-size:.58rem;font-weight:750}.mobile-bottom-nav button.active{color:var(--ink)}.mobile-bottom-nav button.active .icon{color:var(--lime-deep);stroke-width:2.3}.payment-total-grid{grid-template-columns:1fr 1fr}.payment-total-grid article{min-height:106px;padding:14px}.payment-total-grid strong{font-size:1.1rem}.payment-toolbar{align-items:flex-start;flex-direction:column}.payment-toolbar>span{padding-left:2px}.payment-days{overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}.payment-day{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:10px;background:var(--paper);border:1px solid var(--line);border-left:4px solid #cfd2c9;border-radius:15px;box-shadow:0 5px 18px #1d1f1a08;overflow:hidden}.payment-day.is-confirmed{border-left-color:var(--lime-deep)}.payment-day+.payment-day{border-top:1px solid var(--line)}.payment-day-date{padding:14px;border-right:0;border-bottom:1px solid var(--line)}.payment-day-amounts{grid-template-columns:1fr 1fr;padding:13px 14px}.payment-day-notes{grid-template-columns:1fr;gap:10px;padding:13px 14px}.payment-day-notes-list article{grid-template-columns:1fr;gap:7px}.payment-method-detail{padding:12px 14px;border-left:0;border-top:1px solid var(--line)}.payment-confirm-cell{grid-column:auto;align-items:stretch;padding:12px 14px;border-left:0;border-top:1px solid var(--line)}.confirm-day-button,.confirm-status{width:100%}.payroll-total-grid{grid-template-columns:1fr 1fr}.payroll-total-grid article{min-height:112px;padding:14px}.payroll-total-grid strong{font-size:1.12rem}.payroll-card{padding:16px}.payroll-staff-list article{grid-template-columns:42px 1fr}.payroll-staff-list article>span:not(.employee-avatar){grid-column:2;padding-top:8px;border-top:1px solid #00000008}.fixed-cost-form,.fixed-cost-list article{grid-template-columns:1fr}.fixed-cost-list b{text-align:left}.fixed-cost-list .row-actions{justify-content:flex-start}.trend-chart{min-height:220px;padding:14px 10px 10px}.trend-grid-lines{inset:14px 10px 38px}.trend-bars-track{grid-auto-columns:58px;gap:8px;min-height:190px}.trend-day-group{grid-template-rows:150px auto;min-width:54px}.trend-bars{height:150px;gap:3px;padding:0 3px}.trend-bar{width:10px}.trend-bar em{max-width:120px;font-size:.5rem;white-space:normal}.trend-legend span{flex:1 1 140px;justify-content:space-between}.trend-day-label{font-size:.5rem}.product-sales-heading{align-items:flex-start;flex-direction:column}.product-sales-staff-grid{grid-template-columns:1fr}}@media(max-width:420px){.today-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.today-summary>div{padding:12px 14px}.today-summary span{font-size:.56rem;letter-spacing:.05em}.today-summary strong{font-size:clamp(1rem,5.4vw,1.22rem)}.schedule-header h1,.system-heading h1{font-size:2.65rem}.appointment-badge{font-size:.53rem}.visit-heading>div>strong{max-width:145px}.mobile-view-tabs button{padding-inline:8px;font-size:.61rem}.payment-total-grid,.payroll-total-grid{grid-template-columns:1fr}.mobile-bottom-nav button{font-size:.52rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.context-bar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-18px 0 34px;padding:9px 12px;color:#55594f;background:#e9ebe4;border:1px solid #dde0d7;border-radius:13px}.context-bar>div{display:flex;align-items:center;gap:8px;font-size:.7rem;font-weight:750}.context-bar select{width:auto;min-width:150px;padding:7px 34px 7px 10px;background-color:#fff;border-radius:8px;font-size:.72rem;font-weight:800}.context-staff-picker{display:none}.role-pill{padding:6px 9px;color:#4e681a;background:var(--lime-soft);border:1px solid #cae98c;border-radius:999px;font-size:.62rem;font-weight:850}.schedule-header-actions{display:flex;align-items:flex-end;gap:12px}.quick-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.walk-in-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 13px;color:var(--ink);background:#fff;border:1px solid #cfd2c9;border-radius:10px;font-size:.7rem;font-weight:800;white-space:nowrap}.walk-in-button{color:var(--ink);background:var(--lime);border-color:#abd747}.product-withdraw-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 13px;color:var(--ink);background:#fff;border:1px solid #b8c0af;border-radius:10px;font-size:.7rem;font-weight:850;white-space:nowrap;box-shadow:0 5px 18px #1d1f1a08}.product-withdraw-button .icon{color:var(--lime-deep)}.walk-in-button:hover,.secondary-button:hover,.product-withdraw-button:hover{border-color:var(--ink)}@media(min-width:951px){.schedule-header-actions,.quick-actions{align-items:stretch}.quick-actions{flex-wrap:nowrap}.quick-actions>button{flex:0 0 160px;min-height:72px;padding:12px;font-size:.72rem}.today-summary{min-height:72px}}@keyframes urgent-pulse{0%,to{box-shadow:0 0 #c4362d59}50%{box-shadow:0 0 0 9px #c4362d00}}@keyframes urgent-button{0%,to{transform:scale(1);box-shadow:0 0 #b9403659}50%{transform:scale(1.03);box-shadow:0 0 0 7px #b9403600}}.visit-card.attention-active,.visit-card.attention-settlement_due{border-left-color:var(--danger)}.visit-card.attention-settlement_due{background:linear-gradient(90deg,#fff7f5 0,#fff 28%)}.live-visit{display:flex;align-items:center;gap:5px;margin-top:12px!important;color:var(--danger)!important;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.live-visit i{width:8px;height:8px;background:#d33f35;border-radius:50%;animation:urgent-pulse 1.35s ease-in-out infinite}.outline-button.settle-attention{color:#fff;background:var(--danger);border-color:var(--danger);animation:urgent-button 1.35s ease-in-out infinite}.visit-meta a{display:inline-flex;align-items:center;gap:5px}.note-line{max-width:650px;display:flex;align-items:flex-start;gap:6px;margin-top:10px;padding:8px 10px;color:#5b5f55;background:#f3f4ef;border-radius:8px;font-size:.65rem;line-height:1.4}.note-line.block-note{color:#555950;background:#e9ebe5;border:1px dashed #c7cbc1}.settlement-modal{width:min(1240px,calc(100vw - 48px));padding:30px}.settlement-modal>.eyebrow{margin-bottom:4px}.settlement-modal>h2{margin-top:3px;font-size:1.8rem}.settlement-modal>.modal-subtitle{margin-bottom:20px}.settlement-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(380px,1fr);align-items:start;gap:22px}.settlement-main-column,.settlement-side-column{min-width:0;display:grid;align-content:start;gap:16px}.amount-grid,.form-grid,.service-edit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.service-edit-grid{margin:22px 0 8px;padding:16px;background:#f4f6ef;border:1px solid #e0e4d8;border-radius:14px}.service-edit-grid label{margin-top:0}.service-lines-section{margin:0;padding:16px;background:#f4f6ef;border:1px solid #e0e4d8;border-radius:16px}.service-lines-list{display:grid;gap:10px}.service-line-edit{display:grid;grid-template-columns:68px minmax(0,1fr) 110px auto;align-items:end;gap:10px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:13px}.service-line-edit.is-skipped{background:#fff9eb;border-color:#ecc06d}.service-line-edit label{margin:0}.service-line-edit select,.service-line-edit input{padding:11px 12px;border-radius:10px;font-size:.71rem}.service-line-edit select:disabled,.service-line-edit input:disabled{color:#8b8170;background:#f2eee4;opacity:1}.service-line-service{min-width:0;display:grid;gap:7px}.booksy-service-details{min-width:0;padding:9px 11px;background:#f7f8f4;border:1px solid #e2e7d7;border-radius:10px}.booksy-service-details summary{cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;list-style:none}.booksy-service-details summary::-webkit-details-marker{display:none}.booksy-service-details summary:after{content:"+";color:var(--soft-muted);font-size:.72rem;font-weight:900;line-height:1}.booksy-service-details[open] summary:after{content:"−"}.booksy-service-details summary span{color:#6b8618;font-size:.57rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.booksy-service-details summary strong{min-width:0;overflow:hidden;color:var(--ink);font-size:.73rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.booksy-service-details p{margin:7px 0 0;color:var(--muted);font-size:.68rem;line-height:1.35;overflow-wrap:anywhere}.booksy-service-details:not([open]) p{display:none}.service-line-time{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-right:10px;border-right:1px solid var(--line)}.service-line-time strong{font-size:.95rem;letter-spacing:-.035em}.service-line-time span{color:var(--soft-muted);font-size:.58rem}.line-status-toggle{min-height:42px;padding:9px 11px;color:#4d7011;background:#e9f8d0;border:1px solid #b9dc74;border-radius:10px;font-size:.64rem;font-weight:900;white-space:nowrap}.line-status-toggle.skipped{color:#8f5c0d;background:var(--amber-soft);border-color:#ecc06d}.line-status-toggle.is-static{display:inline-flex;align-items:center;justify-content:center}.form-grid.three{grid-template-columns:1.2fr 1fr 1fr}.amount-grid label,.form-grid label{margin-top:0}.money-control{position:relative;display:block}.money-control input{padding-right:42px}.money-control em{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.72rem;font-style:normal}.product-sale-section,.payment-section,.settlement-summary-section{margin:0;padding:16px;background:#f7f8f4;border:1px solid var(--line);border-radius:16px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.section-title>div{display:flex;align-items:center;gap:7px}.section-title strong{font-size:.76rem}.section-title>span{color:var(--soft-muted);font-size:.6rem}.settlement-payment-title{align-items:flex-end}.payment-title-copy>span{display:flex;flex-direction:column;gap:2px}.payment-title-copy small{color:var(--soft-muted);font-size:.55rem;font-weight:500}.payment-tip-field{width:154px;display:grid;grid-template-columns:auto minmax(84px,1fr);align-items:center;justify-content:end;gap:8px;margin:0;font-size:.62rem}.payment-tip-field>span:first-child{color:var(--soft-muted)}.payment-tip-field input{min-height:38px;padding:9px 31px 9px 11px;border-radius:10px;font-size:.82rem;font-weight:900}.payment-tip-field .money-control em{right:10px;font-size:.62rem}.product-line{display:grid;grid-template-columns:minmax(130px,1fr) 72px 90px 34px;align-items:end;gap:8px;padding:10px 0;border-top:1px solid var(--line)}.product-line>div{display:flex;flex-direction:column;align-self:center}.product-line>div strong{font-size:.7rem}.product-line>div small{color:var(--soft-muted);font-size:.58rem}.product-line label{gap:4px;margin:0;font-size:.58rem}.product-line input{padding:8px;border-radius:8px;font-size:.68rem}.icon-button{width:34px;height:34px;display:grid;place-items:center;padding:0;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:8px}.add-product-line{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:10px}.add-product-line select{padding:11px 12px;border-radius:10px;font-size:.7rem}.add-product-line .secondary-button{padding:10px 13px}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:9px}.payment-methods>button{display:flex;align-items:center;gap:10px;padding:13px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:11px;text-align:left}.payment-methods>button.selected{background:var(--lime-soft);border-color:#8dbb34;box-shadow:0 0 0 1px #8dbb34}.payment-methods>button span{display:flex;flex-direction:column}.payment-methods strong{font-size:.72rem}.payment-methods small{color:var(--soft-muted);font-size:.58rem}.payment-amounts{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}.payment-amounts.is-split{grid-template-columns:1fr 1fr}.payment-amounts label{margin:0}.payment-amounts input{padding-block:11px}.inline-error{margin:10px 0 0;color:var(--danger);font-size:.68rem;line-height:1.4}.check-line{grid-template-columns:20px 1fr;align-items:center;gap:10px;padding:12px;background:#f4f5f0;border-radius:11px}.check-line input{width:18px;height:18px;margin:0;accent-color:#7ca91d}.check-line span{display:flex;flex-direction:column;gap:2px}.check-line strong{color:var(--ink);font-size:.72rem}.check-line small{color:var(--soft-muted);font-size:.6rem;font-weight:500}.settlement-note-toggle{margin:0;padding:14px}.settlement-note{margin:0}.settlement-note textarea{min-height:76px;padding:11px 13px}.settlement-save{width:100%;margin:0;padding:14px 18px;font-size:.82rem}.settlement-summary-section>.section-title{margin-bottom:8px}.settlement-summary-section .payment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:6px 10px;background:#fff;border:1px solid var(--line)}.settlement-summary-section .payment-summary span{min-width:0;display:flex;flex-direction:column;gap:4px;padding:10px 12px}.settlement-summary-section .payment-summary span:nth-child(2n){border-left:1px solid var(--line)}.settlement-summary-section .payment-summary span:nth-child(n+3){border-top:1px solid var(--line)}.settlement-summary-section .payment-summary .total{margin:0;padding:10px 12px;border-top:1px solid var(--line)}.settlement-main-column .status-choice{margin:0}.settlement-main-column .status-choice legend{margin-bottom:8px}.settlement-main-column .status-choice button{padding:13px 9px}.settlement-main-column .status-choice button>span{width:33px;height:33px;margin-bottom:3px;border-radius:10px}.walk-in-settlement-modal{width:min(1080px,calc(100vw - 48px));padding:28px}.walk-in-settlement-modal>.modal-subtitle{margin-bottom:0}.walk-in-settlement-form{margin-top:18px}.walk-in-settlement-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr);align-items:start;gap:16px}.walk-in-main-column,.walk-in-side-column{min-width:0;display:grid;align-content:start;gap:12px}.walk-in-mode{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}.walk-in-mode button{min-height:42px;padding:8px 10px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:10px;font-size:.7rem;font-weight:850}.walk-in-mode button.selected{color:var(--ink);background:var(--lime-soft);border-color:#95bd49;box-shadow:0 0 0 1px #95bd49}.walk-in-product-only{margin:0;padding:12px;color:#4f5b3c;background:#fff;border:1px solid #d7e5bd;border-radius:10px;font-size:.72rem;line-height:1.5}.walk-in-product-only strong{color:var(--ink)}.walk-in-service-line{display:grid;grid-template-columns:minmax(0,1fr) 104px 34px;align-items:end;gap:8px;margin-top:8px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:10px}.walk-in-service-line>strong{align-self:center;min-width:0;font-size:.72rem;line-height:1.3;overflow-wrap:anywhere}.walk-in-service-line label{margin:0;font-size:.58rem}.walk-in-service-line input{padding:8px 27px 8px 8px;font-size:.72rem}.walk-in-service-line .money-control em{right:8px}.walk-in-note{margin:0}.walk-in-note textarea{min-height:76px}.walk-in-save{min-height:48px;margin-top:14px;color:var(--ink);background:var(--lime);font-size:.82rem}.walk-in-save:hover{background:#b6e849}.product-withdraw-modal{width:min(560px,100%)}.product-withdraw-form{display:grid;gap:12px;margin-top:20px}.product-withdraw-form label{margin:0}.product-withdraw-form textarea{min-height:88px}.product-withdraw-preview{display:flex;align-items:center;gap:12px;padding:13px;color:#4b5f23;background:var(--lime-soft);border:1px solid #c9e58b;border-radius:13px}.product-withdraw-preview>div{min-width:0;display:flex;flex-direction:column;gap:2px}.product-withdraw-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.product-withdraw-preview small{color:#697a45;font-size:.62rem;line-height:1.4}.settings-tabs{display:flex;gap:5px;margin:0 0 24px;padding:5px;overflow-x:auto;background:#e8eae3;border-radius:12px}.settings-tabs button{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;color:var(--muted);background:transparent;border:0;border-radius:8px;font-size:.7rem;font-weight:800;white-space:nowrap}.settings-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 9px #00000010}.catalog-panel,.company-costs-panel{padding:24px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 5px 25px #1d1f1a05}.company-cost-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.company-cost-toolbar .month-picker{margin:0}.company-cost-toolbar>span{color:var(--muted);font-size:.64rem}.company-cost-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:16px}.company-cost-totals article{min-height:104px;display:flex;flex-direction:column;padding:15px;background:#f7f8f4;border:1px solid var(--line);border-left:4px solid #8b8f84;border-radius:13px}.company-cost-totals article.paid{border-left-color:var(--lime-deep)}.company-cost-totals article.remaining{border-left-color:#d6a13d}.company-cost-totals article.overdue{color:#8f2c25;background:var(--danger-soft);border-color:#e4aaa4}.company-cost-totals small{color:var(--muted);font-size:.58rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.company-cost-totals strong{margin-top:8px;font-size:1.22rem;letter-spacing:-.04em}.company-cost-totals span{margin-top:auto;color:var(--soft-muted);font-size:.59rem}.company-cost-form{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(125px,.8fr) 120px 120px;gap:10px;margin-bottom:16px;padding:15px;background:#f5f6f1;border:1px solid var(--line);border-radius:14px}.company-cost-form label,.company-cost-edit label{gap:5px;margin:0;font-size:.61rem}.company-cost-form input,.company-cost-form select,.company-cost-edit input,.company-cost-edit select{padding:10px;border-radius:9px;font-size:.7rem}.company-cost-note-field{grid-column:1 / 3}.company-cost-check{grid-column:3 / -1;display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important;padding:9px 11px;background:#fff;border:1px solid var(--line);border-radius:10px}.company-cost-check input{width:17px;height:17px;flex:0 0 auto;padding:0}.company-cost-check span{display:flex;flex-direction:column;gap:2px}.company-cost-check strong{font-size:.65rem}.company-cost-check small{color:var(--muted);font-size:.56rem;font-weight:500;line-height:1.35}.company-cost-form-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:7px}.company-cost-modal{width:min(720px,100%)}.company-cost-modal>.modal-subtitle{margin-bottom:0}.company-cost-modal-form{margin:20px 0 0}.company-cost-modal .company-cost-edit{padding:15px}.company-cost-list{overflow:hidden;border:1px solid var(--line);border-radius:14px}.company-cost-list>article{display:grid;grid-template-columns:42px minmax(220px,1fr) 140px auto;align-items:center;gap:12px;min-height:92px;padding:14px 16px;background:#fff;border-left:4px solid #d6a13d}.company-cost-list>article+article{border-top:1px solid var(--line)}.company-cost-list>article.is-paid{border-left-color:var(--lime-deep);background:#fbfdf6}.company-cost-list>article.is-overdue{border-left-color:var(--danger);background:#fff9f8}.company-cost-paid-toggle{width:36px;height:36px;display:grid;place-items:center;color:#8b8f84;background:#f0f1ed;border:1px solid #d8dbd2;border-radius:10px}.is-paid .company-cost-paid-toggle{color:#41620b;background:var(--lime-soft);border-color:#bddd78}.company-cost-main{min-width:0;display:flex;flex-direction:column;gap:5px}.company-cost-main>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.company-cost-main>div>strong{font-size:.78rem}.company-cost-main>small{color:var(--muted);font-size:.59rem}.is-overdue .company-cost-main>small{color:var(--danger);font-weight:800}.company-cost-main p{margin:1px 0 0;color:#555a50;font-size:.62rem;line-height:1.4}.company-cost-category,.company-cost-recurring,.company-cost-ended{padding:4px 7px;background:#eef0e9;border-radius:999px;color:#5f655b;font-size:.52rem;font-weight:800}.company-cost-recurring{color:#496a0d;background:var(--lime-soft)}.company-cost-ended{color:#777b72;background:#e5e6e2}.company-cost-amount{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.company-cost-amount strong{font-size:.86rem}.company-cost-amount small{color:var(--soft-muted);font-size:.55rem;text-align:right}.company-cost-actions{max-width:230px;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:2px 4px}.text-button.danger{color:#9b3028}.company-cost-edit{margin-top:14px;padding:16px;background:#f7f8f4;border:1px solid var(--line);border-radius:14px}.company-cost-edit-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.company-cost-edit-heading h3{margin:3px 0 0;font-size:1rem}.company-cost-edit-fields{display:grid;grid-template-columns:minmax(170px,1.4fr) minmax(125px,.8fr) 120px 150px;gap:9px}.company-cost-edit-note{grid-column:1 / -1}.company-cost-edit>.company-cost-check{margin-top:10px}.company-cost-edit>.company-cost-form-actions{margin-top:10px}.settings-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.settings-section-heading h2{margin:0 0 5px;font-size:1.25rem;letter-spacing:-.035em}.settings-section-heading p{margin:0;color:var(--muted);font-size:.72rem}.settings-availability-stack{display:grid;gap:18px}.catalog-form{display:grid;grid-template-columns:minmax(180px,1.7fr) 1fr 1fr auto;align-items:end;gap:10px;margin-bottom:22px;padding:15px;background:#f5f6f1;border-radius:13px}.catalog-form.product-form{grid-template-columns:1.4fr .8fr .8fr .7fr auto}.catalog-form label{gap:5px;margin:0;font-size:.64rem}.catalog-form input{padding:10px;border-radius:9px;font-size:.72rem}.catalog-form>div{display:flex;align-items:center;gap:6px}.primary-button.compact{width:auto;margin:0;padding:11px 15px}.text-button{padding:6px;color:#59604f;background:transparent;border:0;font-size:.65rem;font-weight:800}.catalog-list article{display:grid;grid-template-columns:42px 1fr 120px auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.catalog-list article.inactive,.product-grid article.inactive{opacity:.55}.catalog-icon{width:38px;height:38px;display:grid;place-items:center;color:#5f7e1b;background:var(--lime-soft);border-radius:10px}.catalog-list article>div:nth-child(2){display:flex;flex-direction:column}.catalog-list strong,.product-grid strong{font-size:.76rem}.catalog-list small,.product-grid small{color:var(--soft-muted);font-size:.61rem}.catalog-list b{font-size:.75rem}.row-actions{display:flex;justify-content:flex-end;gap:3px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.product-grid article{display:flex;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:14px}.product-grid article.stock-high{background:#edf7e7;border-color:#b7d992}.product-grid article.stock-equal{background:var(--amber-soft);border-color:#e3c37d}.product-grid article.stock-low{background:#fdeaea;border-color:#e3a2a2}.product-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.stock-badge{padding:5px 7px;color:#4f6e14;background:var(--lime-soft);border-radius:999px;font-size:.58rem;font-weight:850}.stock-badge.high{color:#4f6e14;background:var(--lime-soft)}.stock-badge.equal{color:#8b590b;background:#ffe6aa}.stock-badge.low{color:#9b1c1c;background:#ffd5d5}.product-grid article.stock-high .catalog-icon{color:#4f6e14;background:#e7f3d8}.product-grid article.stock-equal .catalog-icon{color:#8b590b;background:#ffe6aa}.product-grid article.stock-low .catalog-icon{color:#9b1c1c;background:#ffd5d5}.product-grid article>b{margin-top:8px;font-size:1rem}.product-grid article.stock-equal>p{margin:6px 0 0;color:#8b590b;font-size:.62rem;font-weight:800}.product-grid article.stock-low>p{margin:6px 0 0;color:#9b1c1c;font-size:.62rem;font-weight:800}.restock-line{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:15px}.restock-line input{min-width:0;padding:8px;border-radius:8px;font-size:.66rem}.restock-line button{padding:8px;color:var(--ink);background:var(--lime);border:0;border-radius:8px;font-size:.62rem;font-weight:850}.product-grid .row-actions{margin-top:8px;padding-top:8px;border-top:1px solid #0000000d}.settings-empty{padding:50px 20px;color:var(--muted);background:#f7f8f4;border-radius:13px;text-align:center;font-size:.74rem}.settings-empty.compact{padding:18px;text-align:left}.inventory-history{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.settings-section-heading.compact{margin-bottom:14px}.inventory-history-list{display:grid;gap:8px}.inventory-history-list article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;padding:12px;background:#f7f8f4;border:1px solid var(--line);border-radius:13px}.inventory-history-list article.out{background:#fffaf0;border-color:#ebd5a9}.inventory-history-list article.in{background:#f1f9e8;border-color:#cde5a7}.inventory-history-icon{width:34px;height:34px;display:grid;place-items:center;color:var(--muted);background:#fff;border:1px solid #dfe2da;border-radius:10px}.inventory-history-list article.out .inventory-history-icon{color:#8b5d13;background:#fff0cf;border-color:#ecc06d}.inventory-history-list article.in .inventory-history-icon{color:#527312;background:#eaf8d2;border-color:#c7e784}.inventory-history-list article>div{min-width:0;display:grid;gap:3px}.inventory-history-list strong{overflow-wrap:anywhere;font-size:.74rem;line-height:1.35}.inventory-history-list small{color:var(--soft-muted);font-size:.6rem;line-height:1.4}.inventory-history-list p{margin:4px 0 0;color:#606459;font-size:.66rem;line-height:1.45}.assignment-list article{display:grid;grid-template-columns:42px minmax(130px,1fr) minmax(210px,.8fr) 104px auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.assignment-list article>div{display:flex;flex-direction:column}.assignment-list article strong{font-size:.76rem}.assignment-list article small{color:var(--soft-muted);font-size:.61rem}.assignment-list label{margin:0;gap:4px;font-size:.58rem}.assignment-list select,.assignment-list input{padding:9px;border-radius:8px;font-size:.7rem}.payout-save-button{padding-inline:11px}.availability-panel{padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 5px 25px #1d1f1a05}.availability-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.availability-toolbar h2{margin:2px 0 6px;font-size:1.45rem;letter-spacing:-.04em}.availability-toolbar p{margin:0;color:var(--muted);font-size:.73rem;line-height:1.5}.availability-controls{display:flex;align-items:flex-end;gap:10px}.availability-controls label{min-width:160px;margin:0;gap:5px;font-size:.62rem}.availability-controls select,.availability-controls input{padding:10px;border-radius:10px;font-size:.72rem}.availability-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.availability-summary-grid article{padding:15px;background:#f7f8f4;border:1px solid var(--line);border-radius:15px}.availability-summary-grid span{display:block;margin-bottom:6px;color:var(--muted);font-size:.61rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.availability-summary-grid strong{display:block;font-size:1.3rem;letter-spacing:-.04em}.availability-summary-grid small{color:var(--soft-muted);font-size:.62rem}.availability-calendar{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.availability-day{display:flex;flex-direction:column;gap:12px;min-height:245px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:16px}.availability-day.weekend{background:#f7f7f3}.availability-day.vacation{background:#f5fbea;border-color:#cce992}.availability-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.availability-day-head strong{display:block;font-size:.84rem}.availability-day-head small{color:var(--soft-muted);font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.availability-chip,.vacation-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;font-size:.58rem;font-weight:900;white-space:nowrap}.availability-chip.available{color:#4f6e14;background:var(--lime-soft)}.availability-chip.unavailable{color:#8b302b;background:#ffe7e4}.availability-chip.empty{color:var(--muted);background:#eff0eb}.vacation-chip{color:#526f12;background:#eaffbf;border:1px solid #c6e778}.availability-status-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:#f0f1ec;border-radius:12px}.availability-status-toggle button{padding:9px;color:var(--muted);background:transparent;border:0;border-radius:9px;font-size:.68rem;font-weight:850}.availability-status-toggle button.active{color:var(--ink);background:#fff;box-shadow:0 2px 9px #0000000f}.availability-time-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.availability-time-row label,.availability-note{gap:5px;margin:0;font-size:.61rem}.availability-time-row input,.availability-note input{padding:10px;border-radius:10px;font-size:.72rem}.availability-save{width:100%;margin-top:auto}.vacation-day-note{margin-top:auto;padding:14px;background:#edf7da;border-radius:13px}.vacation-day-note strong{display:block;margin-bottom:5px;font-size:.74rem}.vacation-day-note small{color:#65714e;font-size:.63rem;line-height:1.45}.availability-planner-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;align-items:start}.availability-planner{padding:12px;background:#f7f8f4;border:1px solid var(--line);border-radius:18px}.availability-weekdays,.availability-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.availability-weekdays{margin-bottom:7px}.availability-weekdays span{padding:7px 4px;color:var(--muted);font-size:.58rem;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:.08em}.planner-day{min-height:112px;display:flex;flex-direction:column;gap:7px;padding:10px;color:var(--ink);background:#fff;border:1px solid #dbded5;border-radius:13px;text-align:left;box-shadow:0 5px 16px #1d1f1a08}.planner-day.empty{background:transparent;border:0;box-shadow:none}.planner-day:not(:disabled):hover{transform:translateY(-1px);border-color:#a7c85d}.planner-day:disabled{cursor:default;opacity:.8}.planner-day.weekend{background:#fbfbf7}.planner-day.available{border-color:#bde574;background:#f7ffe8}.planner-day.unavailable{border-color:#efc1ba;background:#fff2f0}.planner-day.vacation{border-color:#b9dc62;background:#eef8d8}.planner-day.selected{outline:3px solid #153e74;outline-offset:2px}.planner-day-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.planner-day-top b{font-size:1.1rem;letter-spacing:-.04em}.planner-day-top small{color:var(--soft-muted);font-size:.54rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.planner-day>strong{margin-top:auto;font-size:.73rem;line-height:1.25}.planner-day-note{min-height:18px;overflow:hidden;color:var(--soft-muted);font-size:.58rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.availability-bulk-panel{position:sticky;top:92px;display:grid;gap:12px;padding:16px;background:#1d1f1a;color:#fff;border-radius:18px;box-shadow:var(--shadow)}.bulk-panel-head span{display:block;color:#cbd1c0;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.bulk-panel-head strong{display:block;margin:4px 0;font-size:1.65rem;letter-spacing:-.05em}.bulk-panel-head small,.availability-bulk-panel p{color:#d6dcca;font-size:.64rem;line-height:1.5}.quick-selection-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.quick-selection-grid button{padding:9px;color:var(--ink);background:#f1f5e9;border:0;border-radius:10px;font-size:.62rem;font-weight:900}.quick-selection-grid button:hover:not(:disabled){background:var(--lime)}.quick-selection-grid button:disabled,.availability-bulk-panel button:disabled{opacity:.45}.availability-bulk-panel label{gap:5px;margin:0;color:#d6dcca;font-size:.62rem}.availability-bulk-panel input,.availability-bulk-panel select{padding:10px;color:var(--ink);background:#fff;border-color:#494d43;border-radius:10px;font-size:.72rem}.availability-bulk-panel .availability-time-row label{color:#d6dcca}.bulk-save-button{width:100%;background:var(--lime);color:var(--ink)}.bulk-copy-button{width:100%;color:#fff;background:transparent;border-color:#55594f}.availability-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;color:var(--muted);font-size:.62rem;font-weight:800}.availability-legend span{display:inline-flex;align-items:center;gap:6px}.availability-legend i{width:10px;height:10px;border-radius:999px}.availability-legend i.available{background:#9bcf28}.availability-legend i.unavailable{background:#d96960}.availability-legend i.vacation{background:#c8f36a;border:1px solid #7da51d}.availability-legend i.selected{background:#153e74}.availability-settings-panel{overflow:hidden}.vacation-layout{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(220px,.75fr);gap:14px;margin-bottom:22px}.vacation-form{display:grid;gap:12px;padding:16px;background:#f7f8f4;border:1px solid var(--line);border-radius:16px}.vacation-form label{gap:5px;margin:0;font-size:.62rem}.vacation-form input,.vacation-form select{padding:11px;border-radius:10px;font-size:.72rem}.vacation-date-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.vacation-preview{padding:13px;background:#fff;border:1px solid var(--line);border-radius:13px}.vacation-preview span{display:block;color:var(--muted);font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.vacation-preview strong{display:block;margin:5px 0 3px;font-size:1.1rem}.vacation-preview small{color:var(--soft-muted);font-size:.62rem}.vacation-balance-card{padding:18px;background:#1d1f1a;color:#fff;border-radius:17px}.vacation-balance-card span{display:block;color:#cbd1c0;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.vacation-balance-card strong{display:block;margin:7px 0 12px;font-size:2rem;letter-spacing:-.05em}.vacation-balance-card p{margin:12px 0 0;color:#d9dfd0;font-size:.68rem;line-height:1.5}.vacation-progress{height:9px;overflow:hidden;background:#34372f;border-radius:999px}.vacation-progress i{display:block;height:100%;background:var(--lime);border-radius:inherit}.vacation-overview-grid{display:grid;grid-template-columns:minmax(260px,1.25fr) repeat(2,minmax(160px,.75fr));gap:14px;margin-bottom:22px}.vacation-overview-card{padding:18px;background:#f7f8f4;border:1px solid var(--line);border-radius:17px}.vacation-overview-card span{display:block;color:var(--muted);font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.vacation-overview-card strong{display:block;margin:7px 0 6px;font-size:2rem;letter-spacing:-.05em}.vacation-overview-card small{color:var(--soft-muted);font-size:.68rem;line-height:1.45}.vacation-list{display:grid;gap:8px}.vacation-list h3{margin:0 0 4px;font-size:.9rem}.vacation-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.vacation-list article.archived{opacity:.55}.vacation-list article>div{display:flex;flex-direction:column;gap:3px}.vacation-list strong{font-size:.76rem}.vacation-list small{color:var(--soft-muted);font-size:.61rem}@media(max-width:950px){.schedule-header-actions{align-items:stretch;flex-direction:column-reverse}.quick-actions{justify-content:stretch}.quick-actions>button{flex:1 1 190px}.product-grid,.catalog-form,.catalog-form.product-form{grid-template-columns:repeat(2,1fr)}.catalog-form>div{grid-column:1 / -1;justify-content:flex-end}.availability-summary-grid{grid-template-columns:repeat(2,1fr)}.availability-planner-layout{grid-template-columns:1fr}.availability-bulk-panel{position:static}.vacation-layout{grid-template-columns:1fr}.vacation-overview-grid{grid-template-columns:1fr 1fr}.vacation-overview-grid .vacation-balance-card{grid-column:1 / -1}}@media(max-width:780px){.context-bar{margin-top:-12px;margin-bottom:24px}.context-bar>div>span{display:none}.context-bar select{min-width:130px}.schedule-header-actions,.quick-actions,.walk-in-button,.product-withdraw-button{width:100%}.product-line{grid-template-columns:1fr 62px 75px 34px}.section-title>span{display:none}.amount-grid,.form-grid,.form-grid.three,.service-edit-grid,.service-line-edit,.payment-amounts.is-split{grid-template-columns:1fr}.service-line-time{align-items:flex-start;padding:0 0 8px;border-right:0;border-bottom:1px solid var(--line)}.payment-methods{grid-template-columns:1fr 1fr}.catalog-panel,.company-costs-panel{padding:16px}.company-cost-toolbar{align-items:flex-start;flex-direction:column}.company-cost-totals,.company-cost-form,.company-cost-edit-fields{grid-template-columns:1fr 1fr}.company-cost-note-field,.company-cost-edit-note,.company-cost-check{grid-column:1 / -1}.company-cost-modal{width:calc(100% + 36px)}.company-cost-modal-form{margin-top:18px}.company-cost-list{overflow:visible;border:0}.company-cost-list>article{grid-template-columns:42px minmax(0,1fr);margin-bottom:9px;padding:13px;border:1px solid var(--line);border-left:4px solid #d6a13d;border-radius:13px}.company-cost-list>article+article{border-top:1px solid var(--line)}.company-cost-amount{grid-column:2;align-items:flex-start;padding-top:9px;border-top:1px solid var(--line)}.company-cost-actions{grid-column:2;flex-wrap:wrap}.settings-section-heading{flex-direction:column}.settings-section-heading .secondary-button{width:100%}.product-grid{grid-template-columns:1fr}.catalog-list article{grid-template-columns:42px 1fr auto}.catalog-list article>b{grid-column:2}.catalog-list .row-actions{grid-column:3;grid-row:1 / 3;flex-direction:column}.assignment-list article{grid-template-columns:42px 1fr}.assignment-list label{grid-column:1 / -1}.payout-save-button{grid-column:1 / -1;width:100%}.sync-attention-heading{flex-direction:column}.sync-attention-heading>strong{align-self:flex-start}.availability-panel{padding:16px}.availability-toolbar,.availability-controls{flex-direction:column;align-items:stretch}.availability-controls label{min-width:0}.availability-summary-grid{grid-template-columns:1fr 1fr}.availability-planner{padding:9px;overflow-x:auto}.availability-weekdays,.availability-month-grid{min-width:650px;gap:6px}.planner-day{min-height:96px;padding:8px}.vacation-overview-grid{grid-template-columns:1fr}.vacation-overview-grid .vacation-balance-card{grid-column:auto}.vacation-list article{grid-template-columns:1fr;align-items:start}.vacation-list .text-button{justify-self:start}}@media(max-width:480px){.product-line{grid-template-columns:1fr 60px 34px}.product-line>div{grid-column:1 / -1}.product-line label:nth-of-type(2){grid-column:2}.payment-methods,.catalog-form,.catalog-form.product-form{grid-template-columns:1fr}.catalog-form>div{grid-column:auto}.company-cost-totals,.company-cost-form,.company-cost-edit-fields{grid-template-columns:1fr}.company-cost-note-field,.company-cost-edit-note,.company-cost-check{grid-column:auto}.availability-summary-grid,.vacation-date-row,.availability-time-row,.quick-selection-grid{grid-template-columns:1fr}}@media(max-width:950px){.settlement-modal{width:min(680px,100%)}.settlement-layout{grid-template-columns:1fr}}@media(max-width:780px){.settlement-backdrop{place-items:center;padding:max(10px,env(safe-area-inset-top)) 0 calc(58px + env(safe-area-inset-bottom))}.settlement-backdrop .settlement-modal{align-self:center;width:100%;max-height:calc(100vh - 76px - env(safe-area-inset-bottom));max-height:calc(100dvh - 76px - env(safe-area-inset-bottom));margin:0;padding:18px 16px;border-radius:22px}.settlement-modal>h2{margin-bottom:3px;font-size:1.42rem}.settlement-modal>.modal-subtitle{margin-bottom:10px;font-size:.66rem}.settlement-layout,.settlement-main-column,.settlement-side-column{gap:8px}.service-lines-section,.product-sale-section,.payment-section,.settlement-summary-section{padding:10px}.settlement-modal .service-line-edit{grid-template-columns:48px minmax(0,1fr) 72px;align-items:end;gap:6px;padding:8px}.settlement-modal .service-line-time{grid-column:1;grid-row:1;align-items:center;justify-content:center;padding:0 7px 0 0;border-right:1px solid var(--line);border-bottom:0}.settlement-modal .service-line-time strong{font-size:.8rem}.settlement-modal .service-line-service{grid-column:2;grid-row:1}.settlement-modal .service-line-edit>label{grid-column:3;grid-row:1}.settlement-modal .service-line-edit select,.settlement-modal .service-line-edit input{padding:8px 7px;font-size:.62rem}.settlement-modal .service-line-edit .money-control input{padding-right:23px}.settlement-modal .service-line-edit .money-control em{right:7px;font-size:.56rem}.settlement-modal .line-status-toggle{grid-column:2 / 4;min-height:32px;padding:6px 8px}.settlement-main-column .status-choice{gap:5px}.settlement-main-column .status-choice legend{margin-bottom:3px}.settlement-main-column .status-choice button{min-height:42px;flex-direction:row;justify-content:center;gap:5px;padding:6px 4px}.settlement-main-column .status-choice button>span{width:24px;height:24px;margin:0}.settlement-payment-title{margin-bottom:8px}.payment-title-copy small{display:none}.payment-tip-field{width:142px;grid-template-columns:auto minmax(78px,1fr)}.payment-tip-field input{min-height:36px;padding-block:8px;font-size:.78rem}.settlement-modal .payment-methods{grid-template-columns:1fr 1fr;gap:6px}.settlement-modal .payment-methods>button{justify-content:center;padding:8px 6px}.settlement-modal .payment-methods small{display:none}.settlement-modal .payment-amounts{margin-top:6px}.settlement-modal .payment-amounts input{padding-block:8px}.settlement-note-toggle{padding:9px 10px}.settlement-note-toggle small{display:none}.settlement-save{padding:11px 15px}.settlement-summary-section .payment-summary{padding:5px 7px}.settlement-summary-section .payment-summary span,.settlement-summary-section .payment-summary .total{flex-direction:row;justify-content:space-between;padding:5px 7px}}@media(min-width:781px){.salon-main{padding-top:16px}.context-bar{position:sticky;z-index:25;top:72px;min-height:58px;margin:0 0 14px;box-shadow:0 8px 20px #1d1f1a12}.context-bar>div:first-child{flex:0 1 auto;min-width:0;white-space:nowrap}.context-staff-picker{min-width:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:9px;font-size:.72rem;font-weight:800}.context-staff-label{flex:0 0 auto;color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}.context-staff-picker .employee-switcher{min-width:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:0;overflow:visible}.context-staff-picker .employee-switcher>button{min-width:95px;max-width:130px;min-height:36px;gap:6px;padding:5px 8px;border-radius:9px}.context-staff-picker .employee-avatar{width:24px;height:24px;border-radius:7px;font-size:.66rem}.context-staff-picker .employee-switcher strong{font-size:.7rem}.context-staff-picker .employee-switcher small{display:none}.context-bar .role-pill{flex:0 0 auto}.schedule-header{margin-bottom:14px}.schedule-header>div:first-child,.staff-section{display:none}.schedule-header-actions{width:100%;align-items:stretch;flex-direction:row}.quick-actions{align-items:stretch;flex-wrap:nowrap}.quick-actions>button{flex:0 1 160px;min-width:140px;min-height:60px;padding:10px}.today-summary{min-height:60px;margin-left:auto}.today-summary>div{padding-block:10px}.visit-heading>div{flex-wrap:wrap}.visit-heading>div>strong{overflow:visible;white-space:normal;overflow-wrap:anywhere;font-size:1.08rem;line-height:1.2}.appointment-badge{padding:5px 9px;font-size:.68rem;line-height:1.2}.visit-service{font-size:.84rem}.visit-meta{font-size:.74rem}.is-cancelled .visit-time,.is-cancelled .visit-main{opacity:.85}.calendar-visit-top strong{font-size:.93rem}.calendar-visit-footer .appointment-badge{font-size:.64rem}}@media(min-width:781px)and (max-width:1100px){.context-staff-label{display:none}}@media(max-width:950px){.walk-in-settlement-layout{grid-template-columns:1fr}}@media(max-width:780px){.settlement-backdrop .walk-in-settlement-modal{align-self:center;width:100%;max-height:calc(100dvh - 76px - env(safe-area-inset-bottom));margin:0;padding:18px 16px;border-radius:22px}.walk-in-settlement-form{margin-top:12px}.walk-in-main-column,.walk-in-side-column,.walk-in-settlement-layout{gap:9px}.walk-in-settlement-modal .service-lines-section,.walk-in-settlement-modal .product-sale-section,.walk-in-settlement-modal .payment-section,.walk-in-settlement-modal .settlement-summary-section{padding:11px}.walk-in-mode button{min-height:40px;padding:7px;font-size:.64rem}.walk-in-service-line{grid-template-columns:minmax(0,1fr) 84px 34px}.walk-in-save{position:sticky;bottom:8px;z-index:2;box-shadow:0 8px 24px #1d1f1a26}}
