/* Barber ERP — unified interface: type scale, spacing, contrast and actions. */
:root{--ink:#172e2b;--green:#185746;--deep:#103e33;--sage:#e9f2ed;--cream:#f3f5f4;--gold:#b07c27;--line:#d6e0dc;--muted:#566963;--danger:#a83c37;--ui-shadow:0 5px 24px #193e2f09;--ui-radius:16px}
html{font-size:16px;background:var(--cream)}
body,.client-shell{background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.5;color:var(--ink);-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:inherit;font-size:14px;line-height:1.4}
button{min-height:44px;border:1px solid var(--line);border-radius:10px;padding:10px 16px;background:#fff;color:var(--green);font-weight:650;white-space:normal;overflow-wrap:break-word;transition:background .15s,border-color .15s}
button:hover:not(:disabled){background:#edf4f0;border-color:#90afa2}
button:disabled{opacity:.6;cursor:not-allowed}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b47d22;outline-offset:3px}
button.primary,a.primary,button.client-primary,a.client-primary,.pdv-pay{background:var(--green)!important;color:#fff!important;border:1px solid var(--green)!important;box-shadow:none!important;font-size:15px;min-height:46px}
button.primary:hover,button.client-primary:hover,.pdv-pay:hover{background:var(--deep)!important}
button.danger{background:#fff1ef;color:#9c3029;border-color:#e9b8b1}
.primary.cash-open-action{background:#f3dfb5!important;color:#513b11!important;border-color:#ddc08b!important}
h1,h2,h3,h4,.title h1,.hero h1,.bi-heading h1,.client-title h1,.client-hero h1,.client-current-plan h2,.service-card h3,.module-grid h2{font-family:inherit;font-weight:650;letter-spacing:-.035em;line-height:1.2;color:inherit}
.title h1,.hero h1,.bi-heading h1,.client-title h1{font-size:clamp(28px,3vw,42px);margin:8px 0 12px}
.client-hero h1{font-size:clamp(30px,4vw,46px)}
h2{font-size:24px}h3{font-size:19px}
small,.muted,.help,.subtitle{font-size:12px;line-height:1.5;color:var(--muted)}
.shell>header,.client-head{background:#fff;border-bottom:1px solid var(--line);box-shadow:none}
.logo{letter-spacing:-.02em}.logo small{font-size:10px;letter-spacing:.12em}.account small{font-size:12px}
.home,.page{width:100%;max-width:1480px;margin:0 auto;padding:28px clamp(16px,3vw,44px) 44px}
.title,.title.split,.bi-heading{gap:16px;align-items:center;margin-bottom:24px;flex-wrap:wrap}
.title p,.bi-heading p,.client-title p{font-size:14px;color:var(--muted);max-width:70ch}
.back,.client-back{display:inline-flex;align-items:center;gap:9px;min-height:44px;font-size:14px;padding:9px 14px;margin-bottom:16px;border:1px solid var(--line);border-radius:10px;background:#fff}
.back svg,.client-back svg{width:20px;height:20px;flex-shrink:0}
.module-grid{gap:18px;margin-top:28px}.module-grid>button{border:1px solid var(--line);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);padding:24px;min-height:168px;background:#fff;color:var(--ink);text-align:left}
.module-grid>button:hover{border-color:#82a494;background:#fafffc;transform:none}
.module-grid h2{font-size:22px;margin:16px 0 6px}.module-grid p{font-size:13px;color:var(--muted)}.module-grid i{background:var(--sage);color:var(--green);border-radius:12px}
.service-card,.integration-card,.role-card,.bi-card,.finance-kpi,.client-service,.client-plan-grid>article,.client-receipt,.client-section,.settings-grid>a,.settings-grid>button{border:1px solid var(--line);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow);background:#fff}
.service-card,.integration-card,.client-service,.client-plan-grid>article{padding:20px}
.service-card p,.integration-card p,.client-service p,.client-plan-grid p{font-size:14px;color:var(--muted)}
.service-card small,.integration-card small,.client-service small,.client-plan-grid small{font-size:12px}
.form,.client-profile{gap:18px}.form label,.form-row label,.client-profile label,.client-date,.finance-period label,.finance-report-filters label{font-size:13px;font-weight:600;color:var(--ink);min-width:0}
input:not([type=checkbox]):not([type=radio]),select,textarea,.form input,.form select,.form textarea{min-height:46px;padding:11px 13px;border:1px solid #b8cac1;border-radius:10px;background:#fff;color:var(--ink);font-size:15px;max-width:100%}
input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--green);flex-shrink:0}
.form-row{gap:16px}.form-row>*{min-width:0}textarea{resize:vertical;min-height:92px}
.list-row{gap:14px;padding:16px 20px;min-height:76px}.list-row strong{font-size:15px}.list-row small,.list-row em{font-size:12px}
.title-actions,.finance-actions,.inline-actions,.inventory-actions,.report-export-toolbar,.pix-actions,.client-inline{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.title-actions>button,.finance-actions>button,.inline-actions>button,.inventory-actions>button{font-size:14px;min-height:44px;padding:10px 15px;line-height:1.4}
.finance-submodules,.settings-tabs,.product-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px;background:#e7eeea;border:1px solid var(--line);border-radius:13px;margin-bottom:22px}
.finance-submodules button{font-size:14px;min-height:44px;padding:10px 18px;border:0;background:transparent;color:#465d53}
.finance-submodules button.active{background:#fff;color:var(--green);box-shadow:0 2px 5px #143a2810}
.finance-actions{margin-top:16px}.finance-period{gap:12px;align-items:end;flex-wrap:wrap}.finance-period label{min-width:150px}.finance-period button{align-self:end}
.finance-kpis,.bi-kpis{gap:16px}.finance-kpi,.bi-kpis>article{padding:20px;min-width:0}.finance-kpi strong,.bi-kpis strong,.bi-kpi strong{font-family:inherit;font-size:clamp(24px,2vw,32px);font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.finance-kpi small,.bi-kpis small,.bi-card small,.finance-kpi span{font-size:12px}.finance-kpi h3{font-size:13px}
.finance-report-table,.finance-table,.table-wrap{overflow:auto}.finance-report-table>div>*{font-size:13px}
.finance-integrity{padding:18px;border-radius:14px;font-size:14px}.finance-integrity small{font-size:12px}
.date-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px}
.date-nav>div{flex:1 1 180px;min-width:0;text-align:center}.date-nav>button{position:static!important;transform:none!important;min-width:100px;width:auto;min-height:44px;flex:0 1 auto;background:#eef1f3;color:#344954;border-color:#d4dfe3;font-size:14px}
.date-nav>button:nth-of-type(2){background:#ede8df;color:#665236}.date-nav label{font-size:13px}.date-nav strong{font-size:16px}
.pdv-layout{gap:22px}.pdv-ticket,.pdv-panel{border:1px solid var(--line);border-radius:16px;box-shadow:var(--ui-shadow)}
.pdv-ticket label,.pdv-section-title,.pdv-catalog button,.pdv-cart small{font-size:13px}.pdv-cart strong,.pdv-item strong{font-size:15px}
.pdv-pay{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:16px 18px;min-height:58px;height:auto;position:static;overflow:visible}.pdv-pay span,.pdv-pay strong{font-size:16px;font-family:inherit;color:inherit;white-space:normal}.pdv-pay b:empty{display:none}
.payment-grid{gap:14px}.payment-grid label,.payment-grid small{font-size:13px}.payment-total strong{font-family:inherit;font-size:36px}
.modal-backdrop,.client-modal{padding:24px;background:#102c2466;backdrop-filter:blur(5px);overflow:auto}
.modal,.client-modal>section,.client-modal>form{max-height:calc(100dvh - 48px);max-width:100%;overflow:auto;padding:30px;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px #12382b24}
.modal>h2,.client-modal h2{font-family:inherit;font-size:26px;padding-right:32px;line-height:1.25}.modal-close,.client-modal-close{position:absolute;right:12px;top:12px;width:40px;height:40px;min-height:40px;padding:4px;background:#f0f4f2;color:var(--green);z-index:2}
.client-main{max-width:1040px;padding:28px 24px 120px}.client-title{margin-bottom:24px}.client-search{gap:8px}.client-chips{gap:8px;flex-wrap:wrap}.client-chips button{font-size:13px;min-height:40px}
.client-service h3,.client-plan-grid h2{font-family:inherit;font-size:23px}.client-service button{width:100%;margin-top:12px;min-height:46px}.client-service-mark{height:110px;background:#edf3ee}.client-service>img{height:160px;object-fit:cover}
.client-current-plan{background:var(--green);color:#fff;padding:28px;border-radius:18px}.client-current-plan small,.client-current-plan p{color:#e5eee8;font-size:14px}.client-current-plan h2{font-size:30px;color:#fff}
.client-appointment{gap:16px;padding:20px}.client-appointment h3{font-family:inherit;font-size:18px}.client-appointment p,.client-appointment small{font-size:13px}.client-inline button{font-size:13px;min-height:42px;padding:9px 13px}
.client-selection{border:1px solid var(--line);box-shadow:0 8px 32px #173c2920;background:#fff;gap:14px;border-radius:16px;padding:16px}.client-selection span{font-size:13px}
.client-nav{height:74px;max-width:760px;border-radius:18px;background:var(--deep);box-shadow:0 8px 26px #143e3226}.client-nav button{border:0;padding:8px 3px;min-width:0;font-size:11px;color:#dceae3;background:transparent}.client-nav button.active{color:#fff;background:#ffffff14;border-radius:12px}.client-nav svg{width:23px;height:23px}.client-nav span,.client-nav small{font-size:11px;color:inherit}
.client-receipt{padding:26px}.client-receipt p,.client-receipt dl{font-size:15px}.client-receipt dt{font-size:13px}.client-receipt dd{font-size:15px;overflow-wrap:anywhere}.client-receipt del{font-size:13px;color:var(--muted)}
.payment-choice{display:grid;gap:14px;margin:20px 0}.payment-reference{display:block;overflow-wrap:anywhere;margin:16px 0;font-size:12px}.recurring-consent{display:flex;gap:12px;align-items:flex-start;padding:16px;background:var(--sage);border-radius:12px;font-size:14px}
.paid-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;background:#e7f3eb;color:#1b6543;font-size:12px;font-weight:650;line-height:1.4}
.covered-receipt{text-align:center;padding:18px 0}.covered-receipt h2{font-size:44px;padding:0}.covered-receipt p{font-size:15px;max-width:50ch}.covered-receipt button{margin-top:16px}
.online-payment-row{display:grid;grid-template-columns:1fr auto;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.online-payment-row p{margin:6px 0}.online-payment-row>div:nth-child(2){display:flex;align-items:end;flex-direction:column;gap:8px}.online-payment-row details{grid-column:1/-1;font-size:13px;overflow-wrap:anywhere}.online-payment-row summary{cursor:pointer;font-weight:600}.online-payment-row dl{display:grid;grid-template-columns:130px 1fr;gap:8px}.online-payment-row dd{margin:0}.online-payment-row>button{justify-self:start}
#toast{font-size:14px;line-height:1.5;max-width:min(460px,calc(100vw - 32px));overflow-wrap:anywhere}
@media(max-width:760px){.home,.page{padding:20px 16px 36px}.title.split{align-items:stretch}.title-actions>button{flex:1}.finance-actions>button{flex:1 1 145px}.finance-submodules button{flex:1 1 130px;padding:10px}.finance-period{width:100%}.finance-period label{flex:1 1 130px}.finance-period>button{width:100%}.module-grid{gap:12px}.module-grid>button{padding:18px;min-height:150px}.module-grid h2{font-size:20px}.date-nav>button{flex:1 1 85px;min-width:0}.date-nav>div{flex-basis:100%;order:-1}.date-nav label{flex-basis:100%}.form-row,.form-row.triple,.payment-grid{grid-template-columns:1fr}.modal-backdrop,.client-modal{padding:12px}.modal,.client-modal>section,.client-modal>form{max-height:calc(100dvh - 24px);padding:24px 18px}.client-main{padding:22px 16px 130px}.client-appointment{padding:16px;gap:12px}.client-inline{gap:8px}.client-selection{flex-wrap:wrap}.client-selection>button{flex:1 1 100%}.client-nav{width:calc(100% - 16px);bottom:max(8px,env(safe-area-inset-bottom))}.client-nav button{min-width:0;padding:8px 2px}.online-payment-row{grid-template-columns:1fr}.online-payment-row>div:nth-child(2){align-items:start}.online-payment-row dl{grid-template-columns:1fr}.client-receipt{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body,.client-shell{background:white}.page{padding:0}.modal-backdrop,.client-modal{position:static;background:white}.modal{box-shadow:none;max-height:none}.finance-actions,.finance-submodules{display:none}}
