:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#303030;background:#f5f7fa;--brand-primary: #337AB7;--brand-primary-strong: #28669B;--brand-neutral: #565656;--brand-graphite: #303030;--brand-white: #fff;--surface-page: #f5f7fa;--surface-card: #fff;--surface-raised: #f9fbfd;--text-primary: #303030;--text-secondary: #565656;--text-muted: #737b85;--border-default: #dbe2ea;--border-strong: #b8c5d2;--status-success: #16824a;--status-warning: #a86600;--status-danger: #b42318;--status-info: #28669b;--shadow-sm: 0 2px 8px rgb(23 42 58 / 8%);--shadow-md: 0 16px 40px rgb(23 42 58 / 16%)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--surface-page)}button,input,select,textarea{font:inherit}button{touch-action:manipulation}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:36px;letter-spacing:0;margin-bottom:8px}h2{font-size:24px;line-height:32px;margin-bottom:4px}h3{font-size:20px;line-height:28px}.eyebrow,.nav-label,.tenant-label{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.form-error{color:var(--status-danger);font-size:13px;margin:8px 0}.ui-button{min-height:40px;border:1px solid transparent;border-radius:8px;padding:8px 14px;font-weight:650;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:3px solid var(--brand-primary-strong);outline-offset:2px}.ui-button:disabled{cursor:wait;opacity:.55}.ui-button--primary{background:var(--brand-primary);color:#fff}.ui-button--primary:hover{background:var(--brand-primary-strong)}.ui-button--secondary{background:#fff;border-color:var(--border-strong);color:var(--text-primary)}.ui-button--secondary:hover{border-color:var(--brand-primary);color:var(--brand-primary-strong)}.ui-button--ghost{background:transparent;color:var(--text-secondary)}.ui-button--ghost:hover{background:#eaf1f7;color:var(--brand-primary-strong)}.ui-button--danger{background:#fff;border-color:color-mix(in srgb,var(--status-danger) 50%,white);color:var(--status-danger)}.ui-button--danger:hover{background:#fff1f0}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(440px,100%);padding:32px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:12px;box-shadow:var(--shadow-md)}.auth-card>p:not(.eyebrow){color:var(--text-secondary);line-height:24px}.brand-slot{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:30px;margin-bottom:20px;border:1px solid color-mix(in srgb,var(--brand-primary) 45%,white);border-radius:6px;color:var(--brand-primary-strong);font-size:12px;font-weight:800;letter-spacing:.08em}.login-form{display:grid;gap:16px;margin-top:24px}.login-form label,.agenda-drawer label,.settings-grid label,.widget-form label,.agenda-filterbar label{display:grid;gap:6px;color:var(--text-secondary);font-size:13px;font-weight:650}input,select,textarea{min-height:40px;width:100%;padding:8px 10px;border:1px solid var(--border-default);border-radius:6px;background:#fff;color:var(--text-primary)}.platform-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}.platform-sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:24px;height:100vh;min-width:0;overflow-y:auto;padding:24px 16px;border-right:1px solid var(--border-default);background:var(--surface-card)}.platform-brand{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--brand-graphite)}.platform-brand .brand-slot{margin:0}.salon-identity{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:12px 10px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-raised)}.salon-identity div{min-width:0}.salon-identity strong,.salon-identity span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.salon-identity strong{font-size:13px}.salon-identity div span{margin-top:2px;color:var(--text-muted);font-size:12px}.salon-mark{display:grid!important;width:36px;height:36px;place-items:center;border-radius:50%;background:#e4f0f9;color:var(--brand-primary-strong);font-size:14px;font-weight:800}.sidebar-nav,.sidebar-footer{display:grid;gap:4px}.sidebar-footer{margin-top:auto}.sidebar-products{margin-top:4px}.nav-group-start{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-default)}.sidebar-nav button,.future-link{min-height:40px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:14px;text-align:left}.sidebar-nav button{display:flex;align-items:center;gap:10px;width:100%}.nav-icon{flex:0 0 auto}.sidebar-nav button{cursor:pointer}.sidebar-nav button:hover{background:#edf4fa;color:var(--brand-primary-strong)}.sidebar-nav button.is-active{background:#e4f0f9;color:var(--brand-primary-strong);font-weight:700}.sidebar-logout{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;margin-top:auto;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:14px;text-align:left;cursor:pointer}.sidebar-logout:hover{background:#fff1f0;color:var(--status-danger)}.future-link{color:#a0a7af}.platform-main{min-width:0;overflow:hidden}.platform-topbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 32px;border-bottom:1px solid var(--border-default);background:var(--surface-card)}.platform-topbar strong{display:block;font-size:14px}.tenant-context{min-width:0}.tenant-context strong{max-width:min(52vw,36rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu{display:flex;align-items:center;gap:10px}.role-chip{padding:4px 8px;border-radius:999px;background:#edf4fa;color:var(--brand-primary-strong);font-size:12px;font-weight:700;text-transform:capitalize}.mobile-menu-trigger,.mobile-sidebar{display:none}.platform-workspace{width:min(1440px,100%);margin:0 auto;padding:32px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-header p:not(.eyebrow){max-width:640px;margin:0;color:var(--text-secondary);line-height:22px}.page-tabs,.calendar-actions{display:flex;flex-wrap:wrap;gap:8px}.agenda-workspace{min-width:0}.field-help{margin:0;color:var(--text-muted);font-size:13px;line-height:20px}.overview-page{min-width:0}.overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.overview-metrics article,.overview-card{min-width:0;padding:20px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-card);box-shadow:var(--shadow-sm)}.overview-metrics article{display:grid;align-content:start;gap:8px}.overview-metrics span,.overview-metrics small{color:var(--text-secondary)}.overview-metrics strong{font-size:28px;line-height:36px}.overview-metrics small{font-size:12px}.overview-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(240px,1fr);gap:16px}.overview-card h2{margin-bottom:16px;font-size:20px;line-height:28px}.overview-card ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.overview-card li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--border-default)}.overview-card li:first-child{border-top:0}.overview-card li div{min-width:0}.overview-card li strong,.overview-card li span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-card li span{margin-top:3px;color:var(--text-secondary);font-size:13px}.quick-actions{display:grid;gap:10px}.quick-actions .ui-button{width:100%}.content-section,.widget-panel,.google-setup{margin-top:20px;padding:24px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-card);box-shadow:var(--shadow-sm)}.section-header,.settings-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.section-header p,.settings-heading p{margin:0;color:var(--text-secondary);font-size:14px}.empty-state{display:grid;place-items:center;gap:8px;min-height:180px;padding:24px;border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-secondary);text-align:center}.empty-state strong{color:var(--text-primary);font-size:16px}.empty-state p{margin:0;max-width:420px}.agenda-view-toggle{display:flex;gap:8px;margin-top:20px}.agenda-filterbar{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:20px 0;color:var(--text-muted);font-size:13px}.agenda-filterbar label{min-width:240px}.agenda-calendar{display:grid;grid-template-columns:58px repeat(var(--calendar-columns, 1),minmax(172px,1fr));overflow:auto;border:1px solid var(--border-default);border-radius:8px}.time-axis{padding-top:44px;background:#f9fbfd;border-right:1px solid var(--border-default)}.time-axis span{display:block;height:64px;padding:0 8px;color:var(--text-muted);font-size:12px;text-align:right;transform:translateY(-7px)}.calendar-column{min-width:172px;border-right:1px solid var(--border-default)}.calendar-column:last-child{border-right:0}.calendar-column header{height:44px;display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-primary);font-size:13px;font-weight:700}.calendar-column-body{position:relative;height:calc(var(--calendar-rows, 48) * 64px);background-image:linear-gradient(to bottom,transparent 63px,#e8edf2 64px);background-size:100% 64px}.calendar-slot{display:block;width:100%;height:64px;border:0;border-bottom:1px solid transparent;background:transparent;cursor:pointer}.calendar-slot:hover{background:#337ab712}.appointment-card{position:absolute;z-index:1;left:5px;right:5px;display:grid;align-content:start;gap:2px;overflow:hidden;padding:7px 8px;border:0;border-left:3px solid var(--status-info);border-radius:6px;background:#eaf3fa;color:var(--text-primary);text-align:left;cursor:pointer}.appointment-card span,.appointment-card small{font-size:11px}.appointment-card strong{font-size:12px}.appointment-card--confirmed{border-left-color:var(--status-success);background:#e7f6ed}.appointment-card--pending{border-left-color:var(--status-warning);background:#fff4dd}.appointment-card--cancelled{border-left-color:var(--text-muted);background:#f0f2f4;color:var(--text-muted);text-decoration:line-through}.agenda-mobile-list{display:none}.agenda-week-list ol{display:grid;gap:8px;padding:0;list-style:none}.agenda-week-list li button{display:grid;width:100%;gap:6px;padding:14px;border:1px solid var(--border-default);border-radius:8px;background:#fff;color:var(--text-secondary);text-align:left;cursor:pointer}.agenda-week-list li button>span:not(.weekly-appointment-heading){font-size:13px}.weekly-appointment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-primary)}.agenda-drawer{position:fixed;z-index:20;inset:0 0 0 auto;width:min(420px,100vw);max-width:none;height:100vh;max-height:none;margin:0;overflow:auto;padding:24px;border:0;border-left:1px solid var(--border-default);background:#fff;box-shadow:var(--shadow-md)}.agenda-drawer::backdrop{background:#172a3a47}.agenda-drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}.agenda-drawer form{display:grid;gap:16px}.customer-picker{display:grid;border:1px solid var(--border-default);border-radius:6px;overflow:hidden}.customer-picker button{padding:9px 10px;border:0;border-bottom:1px solid var(--border-default);background:#fff;color:var(--text-primary);text-align:left;cursor:pointer}.customer-picker button:last-child{border-bottom:0}.customer-picker button:hover{background:#edf4fa}.booking-summary,.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-radius:6px;background:var(--surface-raised);color:var(--text-secondary);font-size:13px}.availability-message{display:grid;gap:10px;padding:12px;border-left:3px solid var(--status-warning);background:#fff7e6;color:#6c5100;font-size:13px}.availability-message p{margin:0}.status-badge{display:inline-flex;width:fit-content;padding:4px 8px;border-radius:999px;background:#edf1f5;color:var(--text-secondary);font-size:12px;font-weight:700}.status-badge--confirmed,.status-badge--active{background:#e7f6ed;color:var(--status-success)}.status-badge--pending{background:#fff4dd;color:var(--status-warning)}.status-badge--cancelled,.status-badge--disabled,.status-badge--no_show{background:#f5e8e7;color:var(--status-danger)}.detail-list{margin:16px 0}.detail-list strong{color:var(--text-primary)}.detail-notes{padding:12px;border-radius:6px;background:var(--surface-raised);color:var(--text-secondary)}.calendar-skeleton{height:520px;border-radius:8px;background:linear-gradient(90deg,#edf1f5 25%,#f7f9fb 37%,#edf1f5 63%);background-size:400% 100%;animation:loading 1.2s ease infinite}@keyframes loading{to{background-position:-100% 0}}.settings-panel{margin-top:20px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.settings-grid article{padding:20px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-card);box-shadow:var(--shadow-sm)}.settings-grid h3{margin-bottom:16px}.settings-grid form{display:grid;gap:12px}.settings-grid input[type=checkbox]{width:auto;min-height:auto}.settings-grid ul,.widget-list{display:grid;gap:8px;padding:0;list-style:none}.settings-grid li,.widget-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--border-default)}.settings-grid li strong,.widget-info{flex:1 1 180px}.settings-grid li span{color:var(--text-muted);font-size:13px}.success{color:var(--status-success)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cards article{display:grid;gap:8px;min-height:132px;padding:20px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-card);box-shadow:var(--shadow-sm)}.cards span{color:var(--text-secondary)}.google-setup ul{padding:0;list-style:none}.widget-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.widget-list button,.widget-form button,.domain-controls button,.google-setup button{min-height:36px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:6px;background:#fff;color:var(--text-primary);cursor:pointer}.domain-controls{display:flex;width:100%;gap:8px;flex-wrap:wrap}.domain-controls form{display:flex;gap:8px;flex-wrap:wrap}.domain-controls label{display:grid;gap:4px}.mobile-nav{display:none}.toast-region{position:fixed;z-index:40;top:16px;right:16px;display:grid;gap:10px;width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--border-default);border-left:3px solid var(--status-info);border-radius:10px;background:var(--surface-card);box-shadow:var(--shadow-md);pointer-events:auto}.toast__body{flex:1 1 auto;min-width:0}.toast__title{display:block;font-size:14px}.toast__message{margin:0;color:var(--text-secondary);font-size:13px;line-height:20px;overflow-wrap:anywhere}.toast__close{flex:0 0 auto;min-height:32px;padding:4px 10px;font-size:13px}.toast--success{border-left-color:var(--status-success)}.toast--success .toast__title{color:var(--status-success)}.toast--warning{border-left-color:var(--status-warning)}.toast--warning .toast__title{color:var(--status-warning)}.toast--error{border-left-color:var(--status-danger)}.toast--error .toast__title{color:var(--status-danger)}.confirm-dialog{width:min(440px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:0;border-radius:12px;background:var(--surface-card);box-shadow:var(--shadow-md)}.confirm-dialog::backdrop{background:#172a3a47}.confirm-dialog h2{margin-bottom:8px}.confirm-dialog__description{color:var(--text-secondary);line-height:22px}.confirm-dialog__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px}.form-feedback,.field-feedback{margin:8px 0 0;font-size:13px;line-height:20px;overflow-wrap:anywhere}.field-feedback{margin-top:4px}.drawer-actions{display:grid;gap:8px;margin-top:16px}.week-list{display:grid;gap:0;margin:0 0 16px;padding:0;list-style:none}.week-list li{display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr);gap:8px;align-items:start;padding:10px 0;border-top:1px solid var(--border-default)}.week-list li:first-child{border-top:0}.week-list strong{font-size:13px}.week-list span{color:var(--text-secondary);font-size:13px;overflow-wrap:anywhere}.week-periods{display:grid;gap:6px}.week-period{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.week-list button{min-height:32px;padding:4px 10px;border:1px solid var(--border-strong);border-radius:6px;background:#fff;color:var(--text-primary);font-size:13px;cursor:pointer}@media(max-width:767px){.week-list li{grid-template-columns:1fr}}.settings-grid h3{padding-bottom:12px;border-bottom:1px solid var(--border-default)}.info-help{position:relative;display:inline-flex;flex-direction:column;gap:6px;margin-left:6px;vertical-align:middle}.info-help__trigger{display:inline-flex;align-items:center;justify-content:center;min-width:22px;min-height:22px;padding:0 4px;border:1px solid var(--border-strong);border-radius:999px;background:#fff;color:var(--text-secondary);font-size:11px;font-weight:700;line-height:1;cursor:pointer}.info-help__panel{display:block;max-width:min(320px,calc(100vw - 48px));padding:8px 10px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-raised);color:var(--text-secondary);font-size:13px;line-height:20px;overflow-wrap:anywhere}.form-feedback--error,.field-feedback--error{color:var(--status-danger)}.form-feedback--warning,.field-feedback--warning{color:var(--status-warning)}.form-feedback--success,.field-feedback--success{color:var(--status-success)}@media(max-width:767px){.toast-region{inset:auto 16px 16px;width:auto;max-height:60dvh}.confirm-dialog{padding:20px}.confirm-dialog__actions{display:grid;grid-template-columns:1fr}.confirm-dialog__actions .ui-button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:1023px){.platform-shell{grid-template-columns:210px minmax(0,1fr)}.platform-workspace{padding:24px}.settings-grid,.cards{grid-template-columns:1fr}.widget-form{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid{grid-template-columns:1fr}}@media(max-width:767px){.platform-shell{display:block;padding-bottom:0}.platform-sidebar{display:none}.platform-topbar{min-height:60px;padding:10px 16px}.mobile-menu-trigger{display:inline-flex}.platform-topbar .tenant-context{flex:1}.platform-topbar .tenant-label{display:none}.platform-topbar .tenant-context strong{max-width:42vw}.platform-topbar .user-menu>span{display:none}.platform-workspace{padding:20px 16px}.mobile-sidebar[open]{position:fixed;inset:0 auto 0 0;z-index:30;display:flex;flex-direction:column;gap:20px;width:min(320px,88vw);max-width:none;height:100dvh;max-height:none;margin:0;overflow-y:auto;padding:20px 16px;border:0;border-right:1px solid var(--border-default);background:var(--surface-card);box-shadow:var(--shadow-md)}.mobile-sidebar::backdrop{background:#172a3a61}.mobile-sidebar>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-sidebar .salon-identity{flex:0 0 auto}.mobile-sidebar .sidebar-logout{margin-top:auto}.page-header{align-items:flex-start;flex-direction:column}.page-header h1{font-size:24px;line-height:32px}.page-tabs,.page-tabs .ui-button{width:100%}.page-tabs{display:grid;grid-template-columns:1fr 1fr}.overview-metrics{grid-template-columns:1fr}.overview-metrics article,.overview-card{padding:16px}.overview-grid{grid-template-columns:1fr}.content-section,.widget-panel,.google-setup{padding:16px}.section-header{align-items:stretch;flex-direction:column}.calendar-actions{display:grid;grid-template-columns:1fr 1fr}.calendar-actions input,.calendar-actions .ui-button:last-child{grid-column:span 2}.agenda-filterbar{align-items:stretch;flex-direction:column}.agenda-filterbar label{min-width:0}.agenda-calendar{display:none}.agenda-mobile-list{display:grid;gap:8px}.mobile-appointment{display:grid;gap:5px;padding:14px;border:1px solid var(--border-default);border-radius:8px;background:#fff;color:var(--text-primary);text-align:left}.mobile-appointment span:last-child{color:var(--text-secondary);font-size:13px}.agenda-drawer{width:100vw;padding:20px 16px}.settings-grid,.widget-form,.cards{grid-template-columns:1fr}.auth-card{padding:24px}}.booking-shell{display:flex;justify-content:center;padding:24px;min-height:100vh;background:#f6f7fb}.booking-card{display:flex;flex-direction:column;gap:14px;width:min(560px,100%);padding:24px;border-radius:16px;background:#fff;box-shadow:0 12px 32px #0f172a14}.booking-card h1{margin:0;font-size:1.5rem}.booking-card label{display:flex;flex-direction:column;gap:6px;font-weight:600}.booking-card select,.booking-card input{padding:10px;border:1px solid #d7dbe7;border-radius:10px;font:inherit}.booking-slots{display:flex;flex-wrap:wrap;gap:8px}.booking-summary{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid #eef0f6}.public-booking-checklist{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.public-booking-checklist li{display:flex;align-items:center;gap:8px}.public-booking-checklist li.is-done{color:#166534}.public-booking-blockers{margin:0;padding-left:18px;color:#92400e}.public-booking-link{display:flex;flex-direction:column;gap:8px}.public-booking-actions{display:flex;flex-direction:column;gap:12px}.public-booking-business{display:flex;flex-direction:column;gap:8px}.public-booking-status--blocked{color:#92400e}.public-booking-status--ready{color:#1d4ed8}.public-booking-status--active{color:#166534}
