@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Cormorant+Garamond:wght@500;600;700&display=swap";:root{--bg:#eef1ef;--bg-2:#e5e9e6;--panel:#fff;--panel-2:#f6f8f6;--panel-3:#eef1ef;--midnight:#050706;--ink:#151a18;--text:#151a18;--muted:#69736e;--dim:#8a938e;--line:#d8ddd9;--line-strong:#c4ccc7;--brass:#004a32;--brass-2:#006144;--wine:#db2c24;--wine-2:#e0463f;--teal:#2c9a66;--green:#2c9a66;--blue:#004a32;--blue-2:#2c9a66;--steel:#69736e;--amber:#b76500;--surface-light:#fff;--surface-light-2:#eef1ef;--line-on-light:#d8ddd9;--text-on-light:#151a18;--muted-on-light:#69736e;--shadow:0 10px 30px #0507061f;--soft-shadow:0 4px 14px #05070612;--radius:3px;--speed:.16s;--font-display:"Cormorant Garamond", Georgia, serif;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--text);background:var(--bg);margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}input,select{min-width:0}.app-shell{grid-template-columns:200px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--midnight);color:#dbe4ec;flex-direction:column;gap:18px;min-height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.sidebar .brand-lockup strong{color:#fff;font-family:var(--font-display);letter-spacing:.4px;text-transform:uppercase;font-size:22px}.sidebar .brand-lockup span{color:#7d8ea0}.brand-lockup{text-align:center;justify-items:center;gap:4px;padding:6px 0 14px;display:grid}.crest{color:#fff;background:var(--wine);border-radius:var(--radius);place-items:center;width:56px;height:56px;margin-bottom:8px;display:grid;overflow:hidden}.crest-logo{object-fit:cover;width:100%;height:100%}.brand-lockup strong{letter-spacing:0;font-size:20px}.brand-lockup span,.today-card span,.today-card small{color:var(--muted);font-size:12px}.side-nav{gap:13px;display:grid}.nav-group{gap:1px;display:grid}.nav-group-label{text-transform:uppercase;letter-spacing:.22em;color:#566169;padding:0 10px 4px;font-size:9.5px;font-weight:600}.side-nav button{color:#9aa8b4;border-radius:var(--radius);background:0 0;align-items:center;gap:11px;height:38px;padding:0 12px;transition:background .24s cubic-bezier(.32,.72,0,1),color .24s cubic-bezier(.32,.72,0,1);display:flex;position:relative}.side-nav button svg{color:#6f7d88;flex:none;transition:color .24s cubic-bezier(.32,.72,0,1),transform .24s cubic-bezier(.32,.72,0,1)}.side-nav button span{letter-spacing:.01em;font-size:13px}.side-nav button:hover{color:#fff;background:#ffffff0d}.side-nav button:hover svg{color:#cdd6de}.side-nav button.active{color:#fff;background:#004a3247}.side-nav button.active:before{content:"";background:var(--green);border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.side-nav button.active svg{color:var(--green)}.owner-card,.today-card,.panel,.portal-shell{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius)}.sidebar .owner-card,.sidebar .today-card{color:#dbe4ec;background:#ffffff0f;border-color:#ffffff1f}.sidebar .owner-card span,.sidebar .today-card span,.sidebar .today-card small{color:#8ea0b1}.sidebar .today-card b{color:#fff}.sidebar .today-card button{color:#dbe4ec;background:#ffffff14;border-color:#ffffff24}.owner-card{grid-template-columns:42px 1fr auto;align-items:center;gap:10px;margin-top:auto;padding:10px;display:grid}.owner-card img{border-radius:var(--radius);object-fit:cover;width:42px;height:42px}.owner-monogram{border-radius:var(--radius);background:var(--wine);color:#fff;width:42px;height:42px;font-family:var(--font-display);letter-spacing:.04em;place-items:center;font-size:17px;font-weight:700;display:grid;overflow:hidden}.owner-monogram img{object-fit:cover;width:100%;height:100%}.owner-card strong,.owner-card span{display:block}.owner-card span{color:var(--muted);font-size:12px}.today-card{background:var(--panel-2);gap:8px;padding:16px;display:grid}.today-card b{font-variant-numeric:tabular-nums;letter-spacing:-.01em;white-space:nowrap;font-size:17px}.today-card button,.tiny-action,.calendar-tools button,.mode-toggle button,.pay-methods button,.bell-button,.checkout-head button{color:var(--text);border:1px solid var(--line);border-radius:var(--radius);transition:transform var(--speed), background var(--speed), border-color var(--speed);background:#05070614;justify-content:center;align-items:center;gap:8px;display:inline-flex}.today-card button{min-height:38px;margin-top:4px}.workspace{gap:16px;min-width:0;padding:24px;display:grid}.topbar{grid-template-columns:minmax(240px,1fr) minmax(280px,430px) auto auto auto;align-items:center;gap:12px;display:grid}h1,h2,p{margin:0}h1{font-family:var(--font-display);letter-spacing:0;color:var(--ink);font-size:clamp(30px,2.8vw,40px);font-weight:700;line-height:1.02}h2{font-family:var(--font-display);letter-spacing:0;color:var(--ink);font-size:24px;font-weight:700}.topbar p,.panel-head span,.checkout-head span,.checkout-head p{color:var(--muted);margin-top:6px;font-size:13px}.search{height:46px;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);background:#f5f8fa;align-items:center;gap:10px;padding:0 14px;display:flex}.search input,.booking-modal input,.booking-modal select,.product-form input,.product-form select,.client-booking input,.client-booking select{width:100%;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);background:#fff;outline:0;min-height:42px;padding:0 12px}.search input{background:0 0;border:0;padding:0}select option{color:#14161a}.portal-access{height:46px;color:var(--brass);border-radius:var(--radius);white-space:nowrap;transition:background var(--speed), border-color var(--speed), color var(--speed);background:#004a320f;border:1px solid #004a3259;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.portal-access:hover,.portal-access:focus-visible{color:var(--brass-2);background:#004a321f;border-color:#004a328c}.notfound-stage{place-items:center;display:grid}.notfound-panel{text-align:center;justify-items:center;gap:12px;width:min(440px,100%);display:grid}.notfound-links{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.notfound-links a{align-items:center;min-height:44px;padding:0 16px;text-decoration:none;display:inline-flex}.bell-button{width:46px;height:46px;position:relative}.bell-button.has-alerts{border-color:#db2c246b}.bell-button span{color:#fff;background:var(--wine-2);border-radius:999px;place-items:center;min-width:22px;height:22px;font-size:11px;font-weight:800;display:grid;position:absolute;top:-7px;right:-7px}.primary-action,.form-button,.pay-button{color:#fff;background:var(--brass);border-radius:var(--radius);min-height:46px;transition:background var(--speed), filter var(--speed);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:800;display:inline-flex}.primary-action:hover,.form-button:hover,.pay-button:hover{filter:brightness(1.08)}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dash-caja{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:inline-flex}.dash-caja-total b{color:var(--ink);font-variant-numeric:tabular-nums}.metric-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;display:grid}.metric{border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius);align-items:flex-start;gap:13px;min-height:100px;padding:15px;display:flex}.metric svg{color:var(--muted)}.metric.warn svg{color:var(--amber)}.metric span,.metric small{color:var(--muted);font-size:12px;display:block}.metric strong{color:var(--ink);margin:5px 0 4px;font-size:24px;display:block}.operations-grid{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:16px;display:grid}.owner-column{gap:16px;min-width:0;display:grid}.panel{box-shadow:var(--soft-shadow);min-width:0;padding:16px}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.panel-head.compact{align-items:center;margin-bottom:12px}.calendar-tools{gap:7px;display:flex}.calendar-tools button,.tiny-action{min-height:34px;color:var(--muted);padding:0 10px}.calendar-tools button:hover,.tiny-action:hover,.today-card button:hover,.pay-methods button:hover,.checkout-head button:hover{color:var(--ink);background:#004a321c;border-color:#004a325c}.schedule-grid{--sched-first:154px;grid-template-columns:var(--sched-first) repeat(10, minmax(92px, 1fr));gap:8px;width:100%;max-width:100%;padding-bottom:4px;display:grid;overflow-x:auto}.corner-cell,.time-head,.barber-head,.free-slot,.appointment{border-radius:var(--radius);min-height:84px}.corner-cell,.time-head{min-height:38px}.time-head{color:var(--muted);border:1px solid var(--line);background:#f5f8fa;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:flex}.barber-head{background:var(--panel-2);border:1px solid var(--line);z-index:2;grid-template-columns:44px 1fr;align-items:center;gap:6px 10px;min-width:154px;padding:10px;display:grid;position:sticky;left:0}.barber-avail{text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--line);color:var(--muted);border-radius:999px;grid-column:1/-1;justify-self:start;padding:2px 8px;font-size:10px;font-style:normal;font-weight:700}.barber-avail.open{color:#1f7a4f;background:#2c9a661f;border-color:#2c9a6659}.barber-avail.tight{color:#8a4d00;background:#b765001a;border-color:#b7650052}.barber-avail.busy{color:#a51e18;background:#db2c2414;border-color:#db2c244d}.barber-head img{border-radius:var(--radius);object-fit:cover;width:44px;height:44px}.barber-head strong,.barber-head span{display:block}.barber-head span{color:var(--muted);font-size:11px;line-height:1.2}.free-slot{color:#05070657;transition:color var(--speed), border-color var(--speed), background var(--speed), transform var(--speed);background:#05070609;border:1px dashed #05070621;place-items:center;display:grid}.free-slot:hover,.free-slot:focus-visible{color:var(--teal);background:#2c9a6614;border-color:#2c9a6680;transform:translateY(-1px)}.off-slot{border-radius:var(--radius);background:repeating-linear-gradient(135deg,#05070609 0 6px,#0000 6px 12px);border:1px solid #0507060d;min-height:84px}.appointment{text-align:left;color:var(--ink);border:1px solid var(--line);border-left:3px solid var(--brass);background:var(--panel);transition:transform var(--speed), border-color var(--speed);align-content:start;gap:3px;padding:9px;display:grid;position:relative;overflow:hidden}.appointment:hover{border-color:#004a328c}.appointment svg,.appointment b,.appointment strong,.appointment span,.appointment small{z-index:1;position:relative}.appointment svg{color:#0507068c;position:absolute;top:8px;right:8px}.appointment b{color:var(--brass-2);font-size:11px}.appointment strong{font-size:13px;line-height:1.14}.appointment span,.appointment small{color:#050706b8;font-size:11px;line-height:1.15}.appointment.progress,.appointment.serving{border-left-color:var(--green)}.appointment.waiting{border-left-color:var(--amber)}.appointment.requested{border-left-color:var(--blue-2)}.appointment.paid,.appointment.done{border-left-color:var(--green)}.appointment.cancelled,.appointment.noshow{border-left-color:var(--dim);opacity:.6}.legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:12px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{background:var(--brass);border-radius:999px;width:9px;height:9px}.legend i.progress,.legend i.serving{background:var(--green)}.legend i.waiting{background:var(--amber)}.legend i.requested{background:var(--blue)}.legend i.done{background:var(--brass-2)}.legend i.paid{background:var(--green)}.legend i.cancelled{background:var(--wine-2)}.legend i.noshow{background:var(--dim)}.legend i.blocked{background:var(--steel)}.blocked-slot{text-align:center;min-height:84px;color:var(--dim);border-radius:var(--radius);transition:border-color var(--speed), color var(--speed);background:#6876841a;border:1px dashed #68768473;place-content:center;gap:2px;display:grid}.blocked-slot svg{margin:0 auto}.blocked-slot strong{color:var(--muted);font-size:12px}.blocked-slot small{text-transform:uppercase;letter-spacing:.05em;font-size:10px}.blocked-slot:hover,.blocked-slot:focus-visible{color:var(--text);border-color:#db2c2473}.block-strip{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:8px;padding-top:10px;display:grid}.block-strip select{min-height:38px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:0 10px}.status-pill{color:var(--brass);white-space:nowrap;background:#004a3224;border:1px solid #004a324d;border-radius:999px;align-self:center;padding:4px 10px;font-size:11px;font-weight:800}.status-pill.serving,.status-pill.progress{color:#1f7a4f;background:#2c9a661a;border-color:#2c9a6659}.status-pill.waiting{color:#8a4d00;background:#b765001a;border-color:#b7650059}.status-pill.requested{color:#004a32;background:#004a3214;border-color:#004a3252}.status-pill.paid,.status-pill.done{color:#1f7a4f;background:#2c9a661f;border-color:#2c9a6666}.status-pill.cancelled,.status-pill.noshow{color:#a51e18;background:#db2c2414;border-color:#db2c244d}.appt-actions{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.appt-actions button{min-height:38px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);transition:background var(--speed), border-color var(--speed), color var(--speed);background:#0507060f;padding:0 8px;font-size:12px;font-weight:600}.appt-actions button:hover:not(:disabled),.appt-actions button:focus-visible:not(:disabled){color:var(--ink);background:#004a321a;border-color:#004a3266}.appt-actions button.danger:hover:not(:disabled),.appt-actions button.danger:focus-visible:not(:disabled){color:var(--wine);background:#db2c2412;border-color:#db2c2466}.appt-actions button:disabled{color:#fff;background:var(--brass);cursor:default;border-color:#0000}.reschedule-button{min-height:40px;color:var(--ink);border-radius:var(--radius);transition:background var(--speed), border-color var(--speed);background:#004a321a;border:1px solid #004a324d;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.reschedule-button:hover,.reschedule-button:focus-visible{background:#004a3229;border-color:#004a3275}.appt-history h3{color:var(--muted);margin:0 0 8px;font-size:13px}.appt-history ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.appt-history li{border:1px solid var(--line);border-radius:var(--radius);background:#0507060a;grid-template-columns:16px 1fr auto;align-items:center;gap:8px;padding:7px 9px;font-size:12px;display:grid}.appt-history li svg{color:var(--brass)}.appt-history li small{color:var(--dim);white-space:nowrap;font-size:11px}.booking-modal label{color:var(--muted);text-align:left;gap:6px;font-size:12px;display:grid}.pay-methods button.selected{color:#fff;background:var(--brass);border-color:#0000;font-weight:800}.cash-session{gap:12px;display:grid}.cash-field{color:var(--muted);gap:6px;font-size:12px;display:grid}.cash-field input{width:100%;min-height:42px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);background:#fff;outline:0;padding:0 12px}.cash-field input:focus-visible{border-color:#004a3273}.detail-list b.cash-off{color:var(--wine-2)}.business-rail{gap:16px;display:grid;position:sticky;top:16px}.section-grid{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:16px;display:grid}.section-rail{gap:16px;display:grid;position:sticky;top:16px}.full-panel{min-height:420px}.detail-panel,.list-panel{gap:12px;display:grid}.detail-list{gap:9px;display:grid}.detail-list span{min-height:38px;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);background:#0507060d;justify-content:space-between;align-items:center;gap:10px;padding:0 11px;display:flex}.detail-list b{color:var(--text);text-align:right}.table-list{gap:8px;display:grid}.table-list button{min-height:54px;color:var(--text);text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:#0507060d;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.table-list button:hover{background:#004a3214;border-color:#004a3261}.table-list b,.table-list small{display:block}.table-list small,.quiet-copy{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.35}.client-grid,.service-grid,.settings-grid,.report-grid{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;display:grid}.client-card,.service-card,.settings-grid article{border:1px solid var(--line);border-radius:var(--radius);background:#0507060b;gap:8px;padding:14px;display:grid}.client-card{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;overflow:hidden}.avatar-fallback{color:#fff;background:var(--brass);border-radius:var(--radius);place-items:center;width:46px;height:46px;font-weight:900;display:grid}.client-body{gap:2px;min-width:0;display:grid}.client-body>*{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.client-name{font-size:14px}.client-spent{color:var(--brass-2);font-size:13px;font-weight:700}.client-phone,.client-sub,.service-card span,.settings-grid span,.settings-grid small{color:var(--muted);font-size:12px}.service-card b{color:var(--brass-2);white-space:nowrap}.panel-subsection{gap:10px;margin-top:18px;display:grid}.panel-subsection h3{margin:0;font-size:16px}.service-card svg{color:var(--muted)}.barber-list{gap:10px;display:grid}.barber-list article{border:1px solid var(--line);border-radius:var(--radius);background:#0507060d;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;min-height:62px;padding:9px;display:grid}.barber-list img{border-radius:var(--radius);object-fit:cover;width:44px;height:44px}.barber-list span{color:var(--muted);font-size:12px}.report-bars{gap:11px;margin-top:18px;display:grid}.report-bars article{grid-template-columns:120px minmax(0,1fr) 80px;align-items:center;gap:10px;display:grid}.report-bars div{background:#05070614;border-radius:999px;height:12px;overflow:hidden}.report-bars i{background:var(--brass);border-radius:inherit;height:100%;display:block}.notification-list{gap:8px;display:grid}.notification{border:1px solid var(--line);border-radius:var(--radius);background:#05070609;grid-template-columns:36px 1fr auto;align-items:start;gap:10px;padding:10px;display:grid}.notification.unread{background:#004a3214;border-color:#004a325c}.notification>svg{color:var(--muted);border-radius:var(--radius);background:#97a1ac1f;width:36px;height:36px;padding:8px}.notification strong,.notification p{display:block}.notification strong{font-size:13px}.notification p{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.35}.notification>span{color:var(--dim);white-space:nowrap;font-size:11px}.checkout{gap:13px;display:grid}.checkout-head{color:#fff;border-radius:var(--radius);background:linear-gradient(#050706c7,#050706c7),url(https://images.unsplash.com/photo-1622287162716-f311baa1a2b8?auto=format&fit=crop&w=900&q=80) 50%/cover;grid-template-columns:1fr;align-items:start;min-height:112px;padding:14px;display:grid;overflow:hidden}.checkout-head h2{color:#fff}.checkout-head span,.checkout-head p{color:#ffffffb8}.checkout-head button{color:#fff;background:#ffffff1f;border-color:#fff3}.checkout-head h2{margin-top:4px;font-size:24px}.checkout-head button{width:40px;height:40px}.service-strip{gap:8px;display:grid}.service-strip button{min-height:42px;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);text-align:left;background:#0507060f;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:0 10px;display:grid}.service-strip button.picked{color:var(--ink);background:#004a321c;border-color:#004a3275}.ticket-lines{gap:8px;display:grid}.empty-state{color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);padding:13px;font-size:13px;line-height:1.45}.ticket-line{border:1px solid var(--line);border-radius:var(--radius);background:#0507060a;grid-template-columns:1fr auto auto 28px;align-items:center;gap:8px;padding:9px;display:grid}.ticket-line strong,.ticket-line span{display:block}.ticket-line span{color:var(--muted);margin-top:2px;font-size:12px}.qty{align-items:center;gap:6px;display:inline-flex}.qty button,.icon-danger{width:25px;height:25px;color:var(--text);background:#05070614;border-radius:3px;place-items:center;display:grid}.icon-danger{color:var(--wine)}.totals{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.totals span,.totals strong{justify-content:space-between;align-items:center;display:flex}.totals span{color:var(--muted)}.totals strong{color:var(--ink);font-size:23px}.pay-button{width:100%}.pay-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.pay-methods{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pay-methods button{min-height:36px;color:var(--muted);font-size:12px}.inventory-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:stretch;gap:14px;display:grid}.tabs{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.tabs button{min-height:34px;color:var(--muted);border-radius:var(--radius);background:#05070612;padding:0 10px}.tabs button.selected{color:#fff;background:var(--brass)}.product-row{grid-auto-columns:minmax(155px,180px);grid-auto-flow:column;gap:10px;min-width:0;max-width:100%;padding-bottom:4px;display:grid;overflow-x:auto}.product-card{text-align:left;min-height:240px;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);transition:transform var(--speed), border-color var(--speed);grid-template-rows:110px 1fr auto;padding:0;display:grid;position:relative;overflow:hidden}.product-card:hover{border-color:#004a327a;transform:translateY(-4px)}.product-card img{object-fit:cover;width:100%;height:110px}.stock-tag{color:#caffdb;background:#2c9a6633;border:1px solid #2c9a6657;border-radius:999px;padding:5px 7px;font-size:10px;font-weight:800;position:absolute;top:8px;right:8px}.stock-tag.low{color:#ffd2c3;background:#db2c2433;border-color:#db2c245c}.product-card div{padding:11px}.product-card strong,.product-card span,.product-card small{display:block}.product-card strong{min-height:38px;line-height:1.2}.product-card span{color:var(--brass-2);margin:8px 0 2px;font-weight:850}.product-card small{color:var(--muted);font-size:12px}.product-card>b{color:var(--brass-2);border-top:1px solid var(--line);align-items:center;gap:6px;padding:10px 11px;font-size:13px;display:flex}.product-form,.client-booking,.booking-modal{gap:10px;display:grid}.product-form{border:1px solid var(--line);border-radius:var(--radius);background:#05070609;align-self:stretch;padding:13px}.form-title{align-items:center;gap:9px;margin-bottom:2px;display:flex}.form-title svg{color:var(--brass)}.two{grid-template-columns:1fr 1fr;gap:8px;display:grid}.client-portal{position:sticky;top:16px}.client-app{background:var(--bg);min-height:100vh;padding:24px}.client-public-top{justify-content:space-between;align-items:center;gap:16px;width:min(1180px,100%);margin:0 auto 24px;display:flex}.client-public-brand{align-items:center;gap:13px;display:flex}.client-public-brand .crest{width:52px;height:52px;margin:0}.client-public-brand strong,.client-public-brand span{display:block}.client-public-brand strong{font-size:22px}.client-public-brand span,.client-copy span,.client-copy p{color:var(--muted)}.owner-link{min-height:44px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);background:#05070614;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.client-public-stage{grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:center;gap:28px;width:min(1180px,100%);margin:0 auto;display:grid}.client-copy{border-radius:var(--radius);color:#e8eef5;background:linear-gradient(#050706d1,#050706e0),url(https://images.unsplash.com/photo-1622287162716-f311baa1a2b8?auto=format&fit=crop&w=1200&q=80) 50%/cover;border:0;flex-direction:column;justify-content:center;min-height:580px;padding:clamp(24px,5vw,56px);display:flex}.client-copy h1{color:#fff}.client-copy>span{letter-spacing:.08em;text-transform:uppercase;color:#8fd3b0;font-size:13px;font-weight:800}.client-copy h1{max-width:640px;margin:12px 0 14px;font-size:clamp(44px,7vw,86px)}.client-copy p{max-width:560px;font-size:18px;line-height:1.55}.client-proof{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.client-proof span{color:#e8eef5;border-radius:var(--radius);background:#ffffff14;border:1px solid #ffffff29;align-items:center;gap:8px;min-height:38px;padding:0 12px;display:inline-flex}.client-app .client-portal{width:100%;position:static}.client-app .portal-shell{min-height:620px;padding:16px}.client-app .client-booking{border-radius:8px}.portal-shell{background:var(--panel);box-shadow:var(--shadow);padding:14px}.portal-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.portal-head div{align-items:center;gap:8px;display:flex}.portal-head svg{color:var(--brass)}.portal-head span{color:var(--muted);font-size:12px}.client-booking{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:14px}.client-portal .two{grid-template-columns:1fr}.phone-brand{color:var(--brass-2);align-items:center;gap:8px;display:flex}.stepper{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.stepper span{color:#0000;background:#0507061f;border-radius:999px;height:6px}.stepper .done{background:var(--brass)}.client-booking h2{margin:2px 0 3px;font-size:20px}.client-booking label{color:var(--muted);gap:6px;font-size:12px;display:grid}.barber-choice{border:1px solid var(--line);border-radius:var(--radius);background:#0507060f;grid-template-columns:46px 1fr;align-items:center;gap:10px;padding:10px;display:grid}.barber-choice img{border-radius:var(--radius);object-fit:cover;width:46px;height:46px}.barber-choice strong,.barber-choice span{display:block}.barber-choice span{color:var(--muted);font-size:12px}.time-chip-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.time-chip-grid button{min-height:36px;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);transition:color var(--speed), border-color var(--speed), background var(--speed);background:#05070612;font-size:12px;font-weight:750}.time-chip-grid button:not(:disabled):not(.selected):hover{color:var(--teal);background:#2c9a6614;border-color:#2c9a6680}.time-chip-grid button.selected{color:#fff;background:var(--brass)}.time-chip-grid button.occupied{color:#05070657;background:#9b2f351f;border-color:#9b2f3538}.time-chip-grid button:disabled{cursor:not-allowed}.next-appointment{border-radius:var(--radius);background:#004a3214;border:1px solid #004a3252;gap:10px;margin-top:12px;padding:12px;display:grid}.reschedule-picker{gap:6px;display:grid}.reschedule-hint{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:700}.next-appointment strong,.next-appointment span,.next-appointment small{display:block}.next-appointment span,.next-appointment small{color:var(--muted);margin-top:4px;font-size:12px}.next-appointment small{color:var(--brass-2);font-weight:750}.next-appointment button{min-height:38px;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);background:#05070614;justify-content:center;align-items:center;gap:8px;display:inline-flex}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#05070673;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.booking-modal{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);width:min(420px,100%);box-shadow:var(--shadow);padding:20px;position:relative}.close-button{width:34px;height:34px;color:var(--text);border-radius:var(--radius);background:#05070614;place-items:center;display:grid;position:absolute;top:12px;right:12px}.modal-icon{color:#fff;background:var(--brass);border-radius:var(--radius);place-items:center;width:48px;height:48px;display:grid}.booking-modal p,.modal-warning{color:var(--muted);font-size:13px}.modal-warning{color:var(--wine);border-radius:var(--radius);background:#db2c2412;border:1px solid #db2c2440;padding:9px}@media (width<=1320px){.operations-grid{grid-template-columns:minmax(0,1fr) 360px}}@media (width<=1180px){.app-shell{grid-template-columns:88px minmax(0,1fr)}.sidebar{align-items:center;padding:16px 12px}.brand-lockup strong,.brand-lockup span,.side-nav span,.nav-group-label,.owner-card div,.today-card{display:none}.crest{width:54px;height:54px}.side-nav button{justify-content:center;width:48px;padding:0}.owner-card{grid-template-columns:42px}}@media (width<=1040px){.topbar,.metric-grid,.operations-grid,.section-grid,.inventory-layout,.client-public-stage{grid-template-columns:1fr}.business-rail,.section-rail,.client-portal{position:static}.client-grid,.service-grid,.settings-grid,.report-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}.client-copy,.client-app .portal-shell{min-height:auto}.product-row{grid-auto-flow:row;grid-auto-columns:initial;grid-template-columns:repeat(2,minmax(150px,1fr));overflow-x:visible}}@media (width<=740px){.app-shell{display:block}.client-app{padding:12px}.client-public-top{flex-direction:column;align-items:flex-start}.client-public-stage{gap:12px}.client-copy h1{font-size:36px}.client-copy p{font-size:15px}.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:flex-start;max-width:100%;height:auto;min-height:auto;position:static;overflow-x:auto}.brand-lockup{padding:0;display:flex}.side-nav{display:flex}.nav-group{display:contents}.owner-card{display:none}.workspace{padding:12px}h1{font-size:30px}.primary-action{width:100%}.metric-grid{gap:9px}.panel{padding:12px}.panel-head,.tabs,.pay-methods,.two{grid-template-columns:1fr}.panel-head{display:grid}.schedule-grid{--sched-first:124px;max-width:100%}.barber-head{grid-template-columns:1fr;min-width:124px}.barber-head img{display:none}.product-row,.time-chip-grid,.client-grid,.service-grid,.settings-grid,.report-grid{grid-template-columns:1fr}.client-card{grid-template-columns:42px minmax(0,1fr)}.report-bars article{grid-template-columns:1fr}.ticket-line{grid-template-columns:1fr auto}.ticket-line>b,.ticket-line .icon-danger{justify-self:end}}.receipt-modal{gap:12px;width:min(360px,100%);display:grid}.receipt-paper{color:var(--text-on-light);background:var(--surface-light);border:1px solid var(--line);border-radius:var(--radius);gap:10px;padding:16px 14px;font-size:13px;display:grid}.receipt-brand{text-align:center;border-bottom:1px dashed var(--line-on-light);justify-items:center;gap:2px;padding-bottom:8px;display:grid}.receipt-brand svg{color:var(--brass)}.receipt-brand span{color:var(--muted-on-light);font-size:11px}.receipt-meta{color:var(--muted-on-light);justify-content:space-between;gap:8px;font-size:12px;display:flex}.receipt-lines{border-top:1px dashed var(--line-on-light);border-bottom:1px dashed var(--line-on-light);gap:5px;padding:8px 0;display:grid}.receipt-line{justify-content:space-between;gap:10px;display:flex}.receipt-totals{gap:4px;display:grid}.receipt-totals span,.receipt-totals strong{justify-content:space-between;gap:10px;display:flex}.receipt-totals span{color:var(--muted-on-light);font-size:12px}.receipt-totals strong{font-size:15px}.receipt-footer{border-top:1px dashed var(--line-on-light);color:var(--muted-on-light);text-align:center;margin:0;padding-top:8px;font-size:11px}.receipt-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media print{body *{visibility:hidden}#receipt-print-area,#receipt-print-area *{visibility:visible}#receipt-print-area{color:#000;background:#fff;width:80mm;position:fixed;inset:0 auto auto 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.quick-list{gap:8px;display:grid}.quick-item{text-align:left;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);transition:border-color var(--speed), background var(--speed);grid-template-columns:40px minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:8px 10px;display:grid}.quick-item:hover,.quick-item:focus-visible{background:#004a320f;border-color:#004a3266}.quick-item img{object-fit:cover;border-radius:3px;width:40px;height:40px}.quick-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.quick-item small{color:var(--muted);font-size:11px}.quick-item b{color:var(--ink)}.quick-item svg{color:var(--brass)}.inventory-view{gap:14px;display:grid}.inv-stats{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.inv-stats div{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}.inv-stats span{color:var(--muted);font-size:11px;display:block}.inv-stats b{color:var(--ink);font-size:18px}.inv-toolbar{grid-template-columns:minmax(0,1.7fr) 1fr 1fr 1fr;gap:8px;display:grid}.inv-search{min-height:42px;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:8px;padding:0 12px;display:flex}.inv-search input{width:100%;min-height:40px;color:var(--text);background:0 0;border:0;outline:0}.inv-toolbar select{min-height:42px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:0 10px}.inv-form{border:1px solid var(--line);background:var(--panel-2)}.inv-table{gap:6px;display:grid}.inv-row{text-align:left;min-height:66px;color:var(--text-on-light);background:var(--surface-light);border:1px solid var(--line-on-light);border-radius:var(--radius);transition:border-color var(--speed), background var(--speed);grid-template-columns:minmax(0,2.2fr) .9fr 1.3fr .75fr .75fr .6fr 76px;align-items:center;gap:10px;padding:8px 12px;display:grid}.inv-row:not(.inv-head):hover{border-color:#004a3266}.inv-row.agotado{opacity:.62;background:var(--surface-light-2)}.inv-actions{justify-content:flex-end;gap:6px;display:inline-flex}.inv-actions-head{text-align:right}.row-action{width:30px;height:30px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:color var(--speed), border-color var(--speed), background var(--speed);place-items:center;display:grid}.row-action:hover:not(:disabled),.row-action:focus-visible{color:var(--brass);border-color:#004a3273}.row-action.danger{color:var(--wine);border-color:#db2c244d}.row-action.danger:hover:not(:disabled),.row-action.danger:focus-visible{color:#fff;background:var(--wine);border-color:var(--wine)}.row-action.add{color:var(--brass);border-color:#004a3259}.row-action.add:hover:not(:disabled){color:#fff;background:var(--brass)}.row-action:disabled{color:var(--dim);cursor:not-allowed}.inv-edit{border-top:1px dashed var(--line);grid-column:1/-1;gap:8px;padding-top:10px;display:grid}.photo-field{grid-template-columns:64px 1fr;align-items:center;gap:10px;display:grid}.photo-field img{object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);width:64px;height:64px}.photo-empty{width:64px;height:64px;color:var(--dim);text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius);place-items:center;gap:2px;font-size:10px;display:grid}.photo-actions{flex-wrap:wrap;gap:8px;display:flex}.inv-head{cursor:default;min-height:34px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:0 0;border:0;font-size:11px}.inv-article{grid-template-columns:48px minmax(0,1fr);align-items:center;gap:10px;min-width:0;display:grid}.inv-article.as-button{text-align:left;color:inherit;border-radius:var(--radius);background:0 0;border:0;padding:0}.inv-article.as-button:hover .inv-name strong,.inv-article.as-button:focus-visible .inv-name strong{color:var(--brass)}.inv-article img{object-fit:cover;background:var(--panel-2);border-radius:3px;width:48px;height:48px}.inv-name{min-width:0}.inv-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;display:block;overflow:hidden}.inv-name small{color:var(--muted-on-light);font-size:11px}.inv-cat,.inv-stock{color:var(--muted-on-light);font-size:12px}.inv-stock b{color:var(--text-on-light)}.inv-stock.reponer,.inv-stock.reponer b{color:#a3611a}.inv-stock.agotado,.inv-stock.agotado b{color:#b7222d}.inv-cost{color:var(--muted-on-light);font-size:12px}.inv-price{color:var(--text-on-light);font-variant-numeric:tabular-nums;font-weight:800}.inv-margin{color:var(--muted-on-light);font-variant-numeric:tabular-nums;font-size:12px}.inv-cost{font-variant-numeric:tabular-nums}.product-modal{text-align:left;gap:12px;width:min(460px,100%);display:grid}.product-modal .field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;gap:5px;font-size:11px;font-weight:700;display:grid}.product-modal input,.product-modal select{text-transform:none;letter-spacing:0}.margin-readout{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);gap:16px;padding:8px 10px;font-size:12px;display:flex}.margin-readout b{color:var(--text);font-variant-numeric:tabular-nums}.modal-actions{grid-template-columns:auto 1fr;align-items:center;gap:10px;display:grid}.modal-actions .form-button{width:100%}.form-button.compact{min-height:38px;padding:0 14px}.inv-empty{justify-items:start;gap:10px;display:grid}.exp-row{text-align:left;min-height:58px;color:var(--text-on-light);background:var(--surface-light);border:1px solid var(--line-on-light);border-radius:var(--radius);grid-template-columns:minmax(0,2.2fr) 1fr 1fr .8fr 1fr;align-items:center;gap:10px;padding:8px 12px;display:grid}.exp-row.inv-head{min-height:34px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:0 0;border:0;font-size:11px}.exp-supplier strong{font-size:13px;display:block}.exp-supplier small{color:var(--muted-on-light);margin-top:2px;font-size:11px;display:block}.exp-cat{color:var(--muted-on-light);font-size:12px}.exp-amount{color:var(--text-on-light);text-align:right;font-weight:800}.exp-row.inv-head .exp-amount{color:var(--muted)}.service-table,.team-list{gap:8px;display:grid}.service-row,.team-row{background:var(--surface-light);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;min-height:54px;padding:8px 12px;display:grid}.service-row-main{align-items:center;gap:9px;min-width:0;display:flex}.service-row-main svg{color:var(--muted);flex:none}.service-includes{color:var(--muted);font-size:11px}.service-meta{color:var(--muted);white-space:nowrap;font-size:12px}.service-row>b{color:var(--ink);white-space:nowrap;font-weight:800}.service-edit{border-top:1px dashed var(--line);grid-column:1/-1;grid-template-columns:minmax(0,2fr) 80px 110px auto auto;gap:8px;padding-top:10px;display:grid}.service-edit input{min-height:38px;color:var(--text);border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:0 10px}.combo-picks{flex-wrap:wrap;gap:8px;display:flex}.combo-picks label{min-height:36px;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.combo-picks label.picked{color:var(--brass);background:#004a320f;border-color:#004a3273}.service-strip button.combo{border-style:dashed}.team-row{grid-template-columns:40px minmax(0,1fr) auto auto}.team-row.inactive{opacity:.62}.team-avatar{width:36px;height:36px;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);place-items:center;display:grid;overflow:hidden}.team-avatar img{object-fit:cover;width:100%;height:100%}.team-main strong{font-size:13px;display:block}.team-main small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.shift-editor{border-top:1px dashed var(--line);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;margin-top:8px;padding-top:10px;display:flex}.shift-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:700}.shift-editor label{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.shift-editor select{border:1px solid var(--line);border-radius:var(--radius);color:var(--text);background:#fff;padding:5px 8px;font-size:12px}.shift-editor em{color:var(--brass);margin-left:auto;font-size:12px;font-style:normal;font-weight:700}.settings-column{gap:16px;min-width:0;display:grid}.branding-grid{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:18px;display:grid}.branding-logo{justify-items:start;gap:8px;display:grid}.brand-preview{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel-2);place-items:center;width:84px;height:84px;display:grid;overflow:hidden}.brand-preview img{object-fit:cover;width:100%;height:100%}.brand-preview-empty{color:var(--muted);font-size:12px}.branding-logo-actions{align-items:center;gap:8px;display:flex}.branding-logo small{color:var(--muted);font-size:11px}.branding-fields{gap:12px;min-width:0;display:grid}.branding-fields label{color:var(--muted);gap:6px;font-size:12px;display:grid}.branding-fields input{border:1px solid var(--line);border-radius:var(--radius);color:var(--text);background:#fff;padding:9px 11px;font-size:14px}.branding-hint{color:var(--muted);margin:0;font-size:11px}@media (width<=620px){.branding-grid{grid-template-columns:1fr}}@media (width<=740px){.service-edit{grid-template-columns:1fr 1fr}.service-row,.team-row{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}.team-row{grid-template-columns:40px minmax(0,1fr)}}.report-actions{flex-wrap:wrap;gap:8px;display:flex}.client-search{max-width:420px;margin-bottom:14px}.change-line{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.change-amount{min-height:42px;color:var(--green);border-radius:var(--radius);white-space:nowrap;background:#2c9a6614;border:1px solid #2c9a664d;align-items:center;padding:0 12px;font-weight:800;display:inline-flex}.change-amount.off{color:var(--wine-2);background:#db2c241a;border-color:#db2c2459}.session-sales{gap:7px;display:grid}.session-sales h3{color:var(--muted);margin:0;font-size:13px}.session-sale{border:1px solid var(--line);border-radius:var(--radius);background:#0507060a;gap:8px;padding:8px 10px;display:grid}.session-sale.annulled{opacity:.6}.session-sale.annulled b{text-decoration:line-through}.session-sale-row{grid-template-columns:minmax(0,1fr) auto 28px 28px;align-items:center;gap:8px;display:grid}.session-sale.annulled .session-sale-row{grid-template-columns:minmax(0,1fr) auto}.icon-receipt{width:25px;height:25px;color:var(--blue);background:#004a321a;border-radius:3px;place-items:center;display:grid}.icon-receipt:hover,.icon-receipt:focus-visible{background:#004a3233}.session-sale-row strong{font-size:13px;display:block}.session-sale-row small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.annul-confirm{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.annul-confirm input{min-height:36px;color:var(--text);border-radius:var(--radius);background:#fff;border:1px solid #db2c2459;outline:0;padding:0 10px}.tiny-action.danger{color:var(--wine);background:#db2c2412;border-color:#db2c2466}.tiny-action.danger:disabled{opacity:.5;cursor:not-allowed}.pnl-block{gap:10px;margin-top:18px;display:grid}.pnl-block h3{margin:0;font-size:16px}.pnl-block .pnl-total{background:#2c9a6612;border-color:#2c9a6659}.pnl-block .pnl-total b{font-size:16px}@media (width<=900px){.inv-stats,.inv-toolbar{grid-template-columns:1fr 1fr}}@media (width<=560px){.exp-row{grid-template-columns:1fr 1fr;row-gap:4px}.exp-row.inv-head{display:none}.exp-supplier{grid-column:1/-1}.exp-amount{text-align:left}.inv-table{grid-template-columns:1fr 1fr;gap:8px}.inv-head{display:none}.inv-row{grid-template-columns:1fr;align-content:start;gap:6px;min-height:0;padding:9px}.inv-cat,.inv-cost,.inv-margin{display:none}.inv-article{grid-template-columns:1fr;gap:6px}.inv-article img{aspect-ratio:1;width:100%;height:auto}.inv-stock{font-size:11px}.inv-price{font-size:15px}.inv-actions{justify-content:space-between}.row-action{width:36px;height:36px}}
