@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{overflow:visible;text-transform:none;-webkit-appearance:button;-moz-appearance:button;appearance:button;cursor:pointer}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar *:before,.rbc-calendar *:after{-webkit-box-sizing:inherit;box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.rbc-ellipsis,.rbc-show-more,.rbc-row-segment .rbc-event-content,.rbc-event-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{overflow:hidden;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;text-align:center;vertical-align:middle;font-weight:700;font-size:90%;min-height:0;border-bottom:1px solid #ddd}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{color:inherit;background:none;margin:0;padding:0;border:none;cursor:pointer;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.rbc-row-content{position:relative;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{height:100%;overflow-y:scroll;-ms-overflow-style:none;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:10px;font-size:16px}.rbc-toolbar .rbc-toolbar-label{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{color:#373a3c;display:inline-block;margin:0;text-align:center;vertical-align:middle;background:none;background-image:none;border:1px solid #ccc;padding:.375rem 1rem;border-radius:4px;line-height:normal;white-space:nowrap}.rbc-toolbar button:active,.rbc-toolbar button.rbc-active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px #00000020;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button.rbc-active:focus{color:#373a3c;background-color:#d4d4d4;border-color:#8c8c8c}.rbc-toolbar button:focus{color:#373a3c;background-color:#e6e6e6;border-color:#adadad}.rbc-toolbar button:hover{color:#373a3c;cursor:pointer;background-color:#e6e6e6;border-color:#adadad}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:0 4px 4px 0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px 0 0 4px}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (max-width: 767px){.rbc-toolbar{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.rbc-event,.rbc-day-slot .rbc-background-event{border:none;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;margin:0;padding:2px 5px;background-color:#3174ad;border-radius:5px;color:#fff;cursor:pointer;width:100%;text-align:left}.rbc-slot-selecting .rbc-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-slot-selecting .rbc-background-event{cursor:inherit;pointer-events:none}.rbc-event.rbc-selected,.rbc-day-slot .rbc-selected.rbc-background-event{background-color:#265985}.rbc-event:focus,.rbc-day-slot .rbc-background-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{-webkit-box-shadow:-1px 1px 5px 0px rgba(51,51,51,.5);box-shadow:-1px 1px 5px #33333380}.rbc-event-continues-prior{border-top-left-radius:0;border-bottom-left-radius:0}.rbc-event-continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;z-index:4;font-weight:700;font-size:85%;height:auto;line-height:normal;color:#3174ad}.rbc-show-more:hover,.rbc-show-more:focus{color:#265985}.rbc-month-view{position:relative;border:1px solid #ddd;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;height:100%}.rbc-month-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-month-row{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px;overflow:hidden;height:100%}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:hidden;right:1px}.rbc-day-bg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{position:absolute;z-index:5;border:1px solid #e5e5e5;background-color:#fff;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.25);box-shadow:0 5px 15px #00000040;padding:10px}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{width:100%;border:1px solid #ddd;border-spacing:0;border-collapse:collapse}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{padding:3px 5px;text-align:left;border-bottom:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{-webkit-box-flex:1;-ms-flex:1;flex:1}.rbc-timeslot-group{border-bottom:1px solid #ddd;min-height:40px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}.rbc-time-gutter,.rbc-header-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{bottom:0;left:0;position:absolute;right:0;margin-right:10px;top:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-event,.rbc-day-slot .rbc-background-event{border:1px solid #265985;display:-webkit-box;display:-ms-flexbox;display:flex;max-height:100%;min-height:20px;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column wrap;flex-flow:column wrap;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{-webkit-box-flex:0;-ms-flex:none;flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{width:100%;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;word-wrap:break-word;line-height:1;height:100%;min-height:1em}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{position:sticky;left:0;background-color:#fff;border-right:1px solid #ddd;z-index:10;margin-right:-1px}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{min-width:auto;-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0;-ms-flex-preferred-size:0px;flex-basis:0px}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-header,.rbc-time-view-resources .rbc-day-bg{width:140px;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;-ms-flex-preferred-size:0 px;flex-basis:0 px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{-webkit-box-flex:1;-ms-flex:1 0 0px;flex:1 0 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{z-index:10;position:absolute;background-color:#00000080;color:#fff;font-size:75%;width:100%;padding:3px}.rbc-slot-selecting{cursor:move}.rbc-time-view{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;border:1px solid #ddd;min-height:0}.rbc-time-view .rbc-time-gutter{white-space:nowrap;text-align:right}.rbc-time-view .rbc-allday-cell{-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;position:relative}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{-webkit-box-sizing:border-box;box-sizing:border-box;min-height:20px}.rbc-time-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-right-width:0;border-left:1px solid #ddd}.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;min-width:0;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;border-left:1px solid #ddd}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;-ms-flex-negative:0;flex-shrink:0}.rbc-time-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;width:100%;border-top:2px solid #ddd;overflow-y:auto;position:relative}.rbc-time-content>.rbc-time-gutter{-webkit-box-flex:0;-ms-flex:none;flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{width:100%;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.rbc-current-time-indicator{position:absolute;z-index:3;left:0;right:0;height:1px;background-color:#74ad31;pointer-events:none}.rbc-resource-grouping.rbc-time-header-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.rbc-addons-dnd .rbc-addons-dnd-row-body{position:relative}.rbc-addons-dnd .rbc-addons-dnd-drag-row{position:absolute;top:0;left:0;right:0}.rbc-addons-dnd .rbc-addons-dnd-over{background-color:#0000004d}.rbc-addons-dnd .rbc-event{transition:opacity .15s}.rbc-addons-dnd .rbc-event:hover .rbc-addons-dnd-resize-ns-icon,.rbc-addons-dnd .rbc-event:hover .rbc-addons-dnd-resize-ew-icon{display:block}.rbc-addons-dnd .rbc-addons-dnd-dragged-event{opacity:0}.rbc-addons-dnd.rbc-addons-dnd-is-dragging .rbc-event:not(.rbc-addons-dnd-dragged-event):not(.rbc-addons-dnd-drag-preview){opacity:.5}.rbc-addons-dnd .rbc-addons-dnd-resizable{position:relative;width:100%;height:100%}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor{width:100%;text-align:center;position:absolute}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor:first-child{top:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor:last-child{bottom:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ns-anchor .rbc-addons-dnd-resize-ns-icon{display:none;border-top:3px double;margin:0 auto;width:10px;cursor:ns-resize}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor{position:absolute;top:4px;bottom:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor:first-child{left:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor:last-child{right:0}.rbc-addons-dnd .rbc-addons-dnd-resize-ew-anchor .rbc-addons-dnd-resize-ew-icon{display:none;border-left:3px double;margin-top:auto;margin-bottom:auto;height:10px;cursor:ew-resize}:root{color-scheme:light;--font-sans: "Inter", "Segoe UI", Tahoma, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--leading-tight: 1.32;--leading-normal: 1.5;--leading-relaxed: 1.6;--bg: #f7f8fb;--bg-elevated: #fafafc;--bg-soft: #eff3f8;--surface: #ffffff;--surface-muted: #f8fafc;--text: #0f172a;--text-muted: #475569;--text-soft: #64748b;--line: rgba(15, 23, 42, .12);--line-soft: rgba(15, 23, 42, .08);--accent: #0ea5a4;--accent-strong: #0b8c8b;--accent-soft: rgba(14, 165, 164, .14);--success: #16a34a;--warning: #d97706;--danger: #dc2626;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 20px;--shadow-soft: 0 14px 30px rgba(15, 23, 42, .08);--shadow-hover: 0 18px 42px rgba(15, 23, 42, .14);--focus-ring: 0 0 0 3px rgba(14, 165, 164, .26);--sidebar-collapsed-width: 72px;--sidebar-expanded-width: 244px;--sidebar-secondary-width: 258px;--topbar-height: 58px;--motion-fast: .16s;--motion-base: .22s;--ease-standard: cubic-bezier(.2, .7, .2, 1);font-family:var(--font-sans)}[data-theme=dark]{color-scheme:dark;--bg: #0b1220;--bg-elevated: #111a2d;--bg-soft: #162134;--surface: #121c2f;--surface-muted: #152035;--text: #e2e8f0;--text-muted: #94a3b8;--text-soft: #94a3b8;--line: rgba(148, 163, 184, .24);--line-soft: rgba(148, 163, 184, .18);--accent: #2dd4bf;--accent-strong: #14b8a6;--accent-soft: rgba(45, 212, 191, .22);--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--shadow-soft: 0 18px 38px rgba(2, 6, 23, .5);--shadow-hover: 0 24px 44px rgba(2, 6, 23, .7);--focus-ring: 0 0 0 3px rgba(45, 212, 191, .28)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);background:radial-gradient(circle at 8% 12%,rgba(14,165,164,.09),transparent 36%),radial-gradient(circle at 95% 5%,rgba(37,99,235,.08),transparent 30%),linear-gradient(180deg,var(--bg-elevated),var(--bg))}h1,h2,h3{color:var(--text);letter-spacing:-.015em;margin:0}h1{font-size:clamp(1.75rem,2.8vw,2.2rem);line-height:var(--leading-tight);font-weight:600}h2{font-size:clamp(1.18rem,1.8vw,1.5rem);line-height:var(--leading-tight);font-weight:600}h3{font-size:var(--text-lg);line-height:var(--leading-tight);font-weight:600}p{margin:0;line-height:var(--leading-relaxed)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}a{color:inherit}button,input,select,textarea{font:inherit}button,.button-link{border:1px solid transparent;border-radius:var(--radius-sm);padding:.6rem 1rem;min-height:40px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;cursor:pointer;font-weight:600;font-size:var(--text-sm);line-height:var(--leading-tight);transition:transform var(--motion-fast) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),background-color var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;box-shadow:0 8px 20px #0ea5a43d}button:hover,.button-link:hover{transform:translateY(-1px);box-shadow:0 12px 24px #0ea5a447}button:focus-visible,.button-link:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.sidebar-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}button.ghost,.button-link.ghost-link{background:var(--surface);color:var(--text);border-color:var(--line);box-shadow:none}button.ghost:hover,.button-link.ghost-link:hover{background:var(--surface-muted);border-color:#0ea5a459}button.danger{background:#fff1f2;color:#b91c1c;border-color:#dc262659;box-shadow:none}button.danger:hover{background:#fee2e2}button.sm,.button-link.sm{min-height:34px;padding:.42rem .72rem;font-size:var(--text-xs)}button.md,.button-link.md{min-height:40px;padding:.6rem 1rem;font-size:var(--text-sm)}button.lg,.button-link.lg{min-height:46px;padding:.7rem 1.15rem;font-size:var(--text-base)}button.icon-only,.button-link.icon-only{width:38px;min-width:38px;min-height:38px;padding:0}button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}label{display:flex;flex-direction:column;gap:.35rem;font-size:var(--text-sm);color:var(--text-muted)}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.64rem .74rem;color:var(--text);background:var(--surface)}input::placeholder,textarea::placeholder{color:#94a3b8;font-size:var(--text-sm)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:#0ea5a473}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:1.15rem;box-shadow:var(--shadow-soft);transition:border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard)}.card:hover{border-color:#0f172a24;box-shadow:0 18px 34px #0f172a1a}.page{display:flex;flex-direction:column;gap:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:.9rem;padding:.1rem 0}.page-header.is-title-hidden{justify-content:flex-end}.page-header-main{display:grid;gap:.32rem;min-width:0}.page-title{margin:0;font-size:clamp(1.16rem,1.75vw,1.42rem);letter-spacing:-.012em;line-height:1.28}.page-subtitle{margin:0;color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.page-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem}.page-header-actions>button,.page-header-actions>.button-link{min-height:36px}.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-collapsed-width) 1fr;position:relative;transition:grid-template-columns var(--motion-base) var(--ease-standard)}.app-shell.is-nav-collapsed{grid-template-columns:var(--sidebar-collapsed-width) 1fr}.app-shell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(15,23,42,.045) 1px,transparent 1px);background-size:24px 24px;pointer-events:none;opacity:.35}.sidebar{position:fixed;top:var(--topbar-height);left:0;height:calc(100vh - var(--topbar-height));width:var(--sidebar-collapsed-width);background:linear-gradient(180deg,#fff,#fbfdff);border-right:1px solid var(--line-soft);padding:.68rem .5rem;z-index:60;display:flex;flex-direction:column;gap:.55rem;overflow:visible}.sidebar-mobile-backdrop{display:none}.sidebar-top{display:flex;align-items:center;justify-content:center;gap:.55rem;min-height:42px;position:relative}.sidebar-close-button{position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--text-muted);border-color:transparent}.sidebar-close-button:hover{border-color:var(--line)}.sidebar-brand{display:flex;align-items:center;justify-content:center;width:100%}.sidebar-brand-mark{width:28px;height:28px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(14,165,164,.34);background:linear-gradient(135deg,#0ea5a433,#0ea5a40f);color:#0f766e;font-size:var(--text-sm);font-weight:600;letter-spacing:.02em}.sidebar-brand-text{color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.sidebar-nav{display:flex;flex-direction:column;gap:.26rem;align-items:center}.sidebar-item{position:relative;width:100%}.sidebar-link{display:flex;align-items:center;justify-content:center;gap:0;width:44px;min-height:44px;margin:0 auto;border-radius:12px;color:var(--text-soft);text-decoration:none;padding:0;border:1px solid transparent;transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.sidebar-link-icon{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.sidebar-link.active{color:#0f766e;border-color:#0ea5a447;background:linear-gradient(135deg,#0ea5a429,#0ea5a40a)}.sidebar-link.active .sidebar-link-icon{color:#0f766e}.sidebar-link:hover{background:var(--surface-muted);border-color:var(--line-soft)}.sidebar-link.has-children{padding-right:0}.sidebar-link-label{flex:1 1 auto;min-width:0;font-size:var(--text-sm);line-height:var(--leading-tight)}.sidebar-link-caret{color:var(--text-soft);flex-shrink:0}.sidebar-inline-subnav{display:grid;gap:.18rem;margin:.1rem 0 .2rem;padding-left:.6rem}.sidebar-sub-link{min-height:32px;border-radius:10px;text-decoration:none;color:var(--text-muted);font-size:var(--text-xs);display:inline-flex;align-items:center;padding:.35rem .55rem;border:1px solid transparent}.sidebar-sub-link:hover{background:var(--surface-muted);border-color:var(--line-soft)}.sidebar-sub-link.active{color:#0f766e;border-color:#0ea5a447;background:#0ea5a41a}.sidebar-sub-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.app-shell.is-nav-collapsed .sidebar-link{justify-content:center;padding-inline:0}.app-shell.is-nav-collapsed .sidebar-link-icon{width:24px;height:24px}.sidebar-flyout{display:none}.secondary-sidebar{position:fixed;top:var(--topbar-height);left:var(--sidebar-collapsed-width);height:calc(100vh - var(--topbar-height));width:var(--sidebar-secondary-width);border-right:1px solid var(--line-soft);background:linear-gradient(180deg,#fff,#fbfdff);padding:.72rem .62rem;display:flex;flex-direction:column;gap:.5rem;z-index:51;box-shadow:16px 0 26px #0f172a1a}.secondary-sidebar-backdrop{position:fixed;top:var(--topbar-height);right:0;bottom:0;left:var(--sidebar-collapsed-width);border:0;margin:0;padding:0;background:transparent;z-index:50}.secondary-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.secondary-sidebar-close{flex-shrink:0;min-width:30px;width:30px;min-height:30px}.secondary-sidebar-title{font-size:var(--text-xs);color:var(--text-soft);text-transform:uppercase;letter-spacing:.06em;margin:0}.secondary-sidebar-nav{display:grid;gap:.22rem;margin-top:.22rem}.secondary-sidebar-link{min-height:34px;border-radius:10px;text-decoration:none;color:var(--text-muted);font-size:var(--text-sm);display:inline-flex;align-items:center;padding:.36rem .55rem;border:1px solid transparent}.secondary-sidebar-link:hover{background:var(--surface-muted);border-color:var(--line-soft)}.secondary-sidebar-link.active{color:#0f766e;border-color:#0ea5a447;background:#0ea5a41a}.content-area{min-width:0;width:100%;display:flex;flex-direction:column;position:relative;z-index:1}.app-shell:not(.is-mobile) .content-area{padding-top:var(--topbar-height);grid-column:2}.app-shell:not(.is-mobile) .topbar{position:fixed;top:0;left:0;right:0;width:100vw;z-index:1000;background:var(--surface)}.topbar{position:sticky;top:0;z-index:1000;display:flex;justify-content:space-between;gap:.9rem;align-items:center;min-height:58px;background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);padding:.56rem 1rem}.topbar-left{display:flex;align-items:center;gap:.56rem;min-width:0}.topbar-brand{display:inline-flex;align-items:center;gap:.42rem;flex-shrink:0;min-width:0}.topbar-brand-mark{width:22px;height:22px;border-radius:999px;border:1px solid rgba(14,165,164,.35);background:#0ea5a41f;color:#0f766e;font-size:.72rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1}.topbar-brand-text{font-size:.88rem;font-weight:600;color:var(--text);letter-spacing:-.01em;white-space:nowrap}.topbar-nav-toggle{display:none}.topbar-breadcrumb{display:inline-flex;align-items:center;gap:.35rem;min-width:0;font-size:var(--text-sm);color:var(--text-muted)}.topbar-breadcrumb-root,.topbar-breadcrumb-current{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-breadcrumb-current{color:var(--text);font-weight:600}.topbar-actions{display:inline-flex;align-items:center;gap:.42rem}.topbar-icon-button{position:relative;box-shadow:none}.topbar-icon-button:hover,.topbar-user-trigger:hover{transform:none;box-shadow:none}.topbar-icon-dot{position:absolute;top:9px;right:9px;width:7px;height:7px;border-radius:999px;background:var(--accent);border:1px solid var(--surface)}.topbar-user{position:relative}.topbar-user-trigger{min-height:38px;padding:.2rem .5rem .2rem .28rem;gap:.32rem}.topbar-avatar{width:26px;height:26px;border-radius:999px;background:linear-gradient(135deg,#0ea5a42e,#0ea5a414);border:1px solid rgba(14,165,164,.35);color:#0f766e;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;letter-spacing:.02em}.topbar-user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-soft);padding:.4rem;display:grid;gap:.15rem;z-index:40}.topbar-user-meta{display:grid;gap:.15rem;border-radius:10px;background:var(--surface-muted);border:1px solid var(--line-soft);padding:.45rem .55rem;margin-bottom:.18rem}.topbar-user-meta strong{font-size:var(--text-sm);color:var(--text);line-height:var(--leading-tight)}.topbar-user-role{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.04em}.topbar-menu-item{width:100%;border-radius:10px;border:1px solid transparent;color:var(--text);min-height:34px;padding:.35rem .5rem;display:inline-flex;align-items:center;gap:.45rem;background:transparent;text-decoration:none;font-size:var(--text-sm);transition:background-color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}.topbar-menu-item:hover{background:var(--surface-muted);border-color:var(--line-soft)}.topbar-menu-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.topbar-menu-item.danger-item{color:#b91c1c}.topbar-menu-item.danger-item:hover{background:#fff1f2;border-color:#dc262647}.command-palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:start center;padding-top:12vh;z-index:50}.command-palette{width:min(640px,92vw);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-soft);overflow:hidden}.command-palette>input{width:100%;border:none;border-bottom:1px solid var(--line-soft);border-radius:0;padding:.9rem 1rem;background:transparent}.command-palette-list{max-height:340px;overflow:auto;padding:.4rem;display:grid;gap:.3rem}.command-item{width:100%;text-align:left;justify-content:flex-start;background:var(--surface-muted);color:var(--text);border-color:var(--line-soft)}.app-main{padding:1rem;min-width:0;overflow-x:hidden;overflow-y:visible}.app-main.app-main-calendar{padding:.08rem 0 .24rem;overflow-x:auto}.app-main.app-main-calendar>div{height:calc(100vh - 58px - .44rem);min-height:0}.app-main.app-main-calendar .calendar-page{height:100%}.app-main.app-main-calendar.app-main-calendar-day-scroll>div{height:auto;min-height:calc(100vh - 58px - .44rem)}.app-main.app-main-calendar.app-main-calendar-day-scroll .calendar-page{height:auto;min-height:calc(100vh - 58px - .44rem)}.app-main.app-main-calendar.app-main-calendar-day-scroll{overflow-x:visible;overflow-y:visible}.auth-layout,.auth-page{min-height:100vh;position:relative;padding:clamp(.9rem,3vw,1.8rem);background:radial-gradient(circle at 14% 8%,rgba(14,165,164,.16),transparent 44%),radial-gradient(circle at 95% 4%,rgba(37,99,235,.12),transparent 34%),var(--bg)}.auth-page{display:grid;place-items:center}.auth-layout-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(rgba(15,23,42,.05) 1px,transparent 1px);background-size:22px 22px;opacity:.25}.auth-shell{position:relative;z-index:1;width:min(1020px,100%);margin:0 auto;min-height:calc(100vh - clamp(1.8rem,6vw,3.6rem));display:grid;align-items:center;gap:1rem}.auth-brand-panel{order:1}.auth-brand-card{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:linear-gradient(165deg,#fffffff2,#f8fafce6);box-shadow:var(--shadow-soft);padding:clamp(1rem,3vw,1.5rem);display:grid;gap:.8rem}.auth-brand-chip{width:fit-content;border-radius:999px;border:1px solid rgba(14,165,164,.3);background:var(--accent-soft);color:#0f766e;font-size:.78rem;display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;font-weight:600}.auth-brand-card h2{margin:0;font-size:clamp(1.2rem,2.3vw,1.75rem)}.auth-brand-card p{margin:0;color:var(--text-muted)}.auth-brand-list{margin:0;padding:0;list-style:none;display:grid;gap:.45rem;color:var(--text);font-size:.9rem}.auth-brand-list li{display:inline-flex;align-items:center;gap:.4rem}.auth-brand-list li:before{content:"";width:7px;height:7px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 4px #0ea5a426}.auth-form-panel{order:2}.auth-form-card,.auth-card{width:min(560px,100%);margin:0 auto;display:grid;gap:1rem;border:1px solid var(--line-soft);box-shadow:var(--shadow-soft);border-radius:var(--radius-lg);padding:clamp(1rem,2.8vw,1.4rem)}.auth-header{display:grid;gap:.35rem}.auth-header h1,.auth-card h1{margin:0;font-size:clamp(1.5rem,2.7vw,2rem)}.auth-header p{margin:0;color:var(--text-muted);font-size:.93rem;line-height:1.5}.auth-form-grid{display:grid;gap:.9rem}.auth-back-link{font-size:.86rem;color:#0f766e;text-decoration:none}.auth-back-link:hover{text-decoration:underline}.auth-password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem}.auth-password-row input{width:100%}.auth-password-toggle{align-self:stretch;border-radius:11px}.auth-switch{margin:0;color:var(--text-muted);font-size:.9rem;text-align:center}.auth-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;color:var(--text-soft);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line-soft)}.auth-oauth-button{width:100%;justify-content:center;font-weight:600}.auth-checkbox-row{align-items:flex-start;gap:.55rem;line-height:1.4}.auth-checkbox-row input[type=checkbox]{margin-top:2px}.auth-button-content{display:inline-flex;align-items:center;justify-content:center;gap:.42rem}.button-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:999px;animation:auth-spin .8s linear infinite}.auth-callback-loading{display:grid;place-items:center;gap:.6rem;min-height:86px}.onboarding-progress{display:grid;gap:.45rem}.onboarding-progress-label{font-size:.84rem;color:var(--text-muted)}.onboarding-progress-track{height:8px;border-radius:999px;background:#0f172a14;overflow:hidden}.onboarding-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 76%,#ffffff));transition:width .18s ease}.onboarding-step{display:grid;gap:.9rem}.onboarding-logo-step small{color:var(--text-muted)}.onboarding-verification-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.24rem .58rem;font-size:.75rem;font-weight:600;letter-spacing:.01em}.badge.success{color:#065f46;background:#10b98124}.badge.warning{color:#92400e;background:#f59e0b2e}.onboarding-logo-preview{width:min(180px,100%);aspect-ratio:1 / 1;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.onboarding-review dl{margin:0;display:grid;gap:.5rem}.onboarding-review dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft)}.onboarding-review dd{margin:0;color:var(--text-main)}.onboarding-actions{justify-content:space-between}.auth-callback-loading .button-spinner{border-color:#0ea5a43d;border-top-color:var(--accent)}.demo-credentials{border:1px dashed rgba(14,165,164,.42);background:#0ea5a414;border-radius:var(--radius-sm);padding:.68rem .74rem;display:grid;gap:.35rem}.demo-credentials-title{font-size:.8rem;color:#0f766e}.demo-credentials code{color:#0f172a}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (min-width: 960px){.auth-shell{grid-template-columns:minmax(280px,.95fr) minmax(0,1fr)}}.error-banner,.success-banner{border-radius:var(--radius-sm);padding:.68rem .82rem;font-size:.92rem}.error-banner{border:1px solid rgba(220,38,38,.24);background:#dc262614;color:#991b1b}.success-banner{border:1px solid rgba(22,163,74,.3);background:#16a34a1a;color:#166534}.loading{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);padding:.8rem}.loading-label{font-size:.9rem;color:var(--text-muted);margin-bottom:.5rem}.skeleton-stack{display:grid;gap:.42rem}.skeleton-line{height:11px;border-radius:999px;background:linear-gradient(90deg,#e5e7eb 25%,#d5d9e0 42%,#e5e7eb 60%);background-size:220% 100%;animation:shimmer 1.2s linear infinite}.empty-state{display:grid;place-items:center;border:1px dashed rgba(15,23,42,.16);border-radius:var(--radius-md);min-height:140px;text-align:center;color:var(--text-muted);padding:1rem}.empty-state:before{content:"✂";display:block;font-size:1.5rem;margin-bottom:.35rem;color:#0ea5a4cc}.filter-row,.filter-grid{display:grid;gap:.86rem}.dashboard-hero-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center}.dashboard-hero-kicker{margin:0 0 .35rem;color:#0f766e;font-size:.77rem;text-transform:uppercase;letter-spacing:.08em}.dashboard-hero-card h2{margin:0;font-size:1.32rem}.dashboard-hero-actions{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:flex-end}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:.95rem;align-items:stretch}.dashboard-section-card{display:grid;gap:.8rem;align-content:flex-start}.dashboard-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.dashboard-section-header h2{margin:0;font-size:1.12rem}.popular-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.popular-service-card{border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:.86rem;background:linear-gradient(180deg,#fffffff5,#f8fafce0);display:grid;gap:.55rem;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.popular-service-card h3{margin:0}.popular-service-card:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0f172a14;border-color:#0ea5a447}.popular-service-stats{display:flex;justify-content:space-between;color:var(--text);font-size:.87rem}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.stats-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stats-grid-payments{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stats-grid-revenue{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:linear-gradient(180deg,#fffffff5,#f8fafce0);padding:.78rem .82rem;display:grid;gap:.3rem;min-height:106px}.stat-card-head{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.stat-card-title{color:var(--text-muted);font-size:.75rem;letter-spacing:.03em;text-transform:uppercase;font-weight:600}.stat-card-icon{color:var(--text-soft);display:inline-flex;align-items:center}.stat-card-value{color:var(--text);font-size:1.07rem;font-weight:700;line-height:var(--leading-tight)}.stat-card-hint{color:var(--text-muted);font-size:var(--text-xs)}.stat-card.tone-success{border-color:#16a34a47;background:linear-gradient(180deg,#f0fdf4f2,#f8fafce6)}.stat-card.tone-warning{border-color:#f59e0b57;background:linear-gradient(180deg,#fff7edf2,#f8fafce6)}.dashboard-kpi-label{color:var(--text-muted);font-size:.78rem}.dashboard-kpi-value{color:var(--text);font-weight:700;display:inline-flex;align-items:center;gap:.4rem}.dashboard-shortcuts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}.dashboard-shortcut-card{display:grid;gap:.7rem;align-content:flex-start}.dashboard-shortcut-card h3{margin:0;display:inline-flex;align-items:center;gap:.45rem}.filter-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.form-grid{display:grid;gap:.86rem}.form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.form-actions.compact{align-items:end}.field-error{color:#b91c1c;font-size:.8rem}.field-note{color:var(--text-muted);font-size:.82rem}.checkbox-row{display:flex;flex-direction:row;align-items:center;gap:.5rem}.checkbox-row.compact{font-size:.84rem}.field-label{font-size:.9rem;color:var(--text-muted);margin-bottom:.4rem}.status-filters{display:grid;gap:.35rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.data-toolbar{display:grid;gap:.65rem;padding:.85rem .95rem}.data-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem .8rem}.data-toolbar-left,.data-toolbar-right{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.55rem}.data-toolbar-left{min-width:min(560px,100%)}.data-toolbar-right{justify-content:flex-end}.data-toolbar-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.data-filter-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(15,23,42,.14);background:#f8fafcf2;color:var(--text-muted);font-size:.76rem;font-weight:600;padding:.14rem .54rem}.table-wrap{overflow-x:visible;border-radius:var(--radius-md);border:1px solid var(--line-soft);background:linear-gradient(180deg,#ffffffeb,#f8fafcd1)}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:.68rem;border-bottom:1px solid var(--line-soft);vertical-align:top}th{font-size:.79rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:#f8fafceb;position:sticky;top:0;z-index:1}td{font-size:.92rem;color:var(--text);background:#ffffffe6}tbody tr:hover{background:#0f172a08}tbody tr.is-row-muted td{color:color-mix(in srgb,var(--text-muted) 88%,transparent);background:#94a3b814}.table-empty-state{display:grid;justify-items:start;gap:.5rem;padding:1.1rem}.table-empty-state h4{margin:0;font-size:1rem}.table-empty-state p{margin:0;color:var(--text-muted)}.table-empty-actions{display:inline-flex;gap:.5rem}.table-loading-state{display:grid;gap:.5rem;padding:.8rem}.table-skeleton-row{display:grid;grid-template-columns:repeat(var(--table-skeleton-cols, 5),minmax(0,1fr));gap:.55rem}.table-skeleton-cell{height:.9rem;border-radius:999px;background:linear-gradient(90deg,#94a3b82e,#94a3b852,#94a3b82e);background-size:240% 100%;animation:shimmer 1.4s linear infinite}.truncate-cell{max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions-cell{display:flex;gap:.4rem;flex-wrap:wrap}.row-actions{align-items:center;justify-content:flex-end;flex-wrap:nowrap}.row-actions-overflow{position:relative}.row-actions-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:168px;border-radius:12px;border:1px solid var(--line-soft);background:var(--surface);box-shadow:var(--shadow-soft);padding:.3rem;display:grid;gap:.15rem;z-index:20}.row-actions-menu-item{width:100%;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);text-align:left;padding:.38rem .52rem;font-size:var(--text-sm)}.row-actions-menu-item:hover{border-color:var(--line-soft);background:var(--surface-muted)}.row-actions-menu-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.row-actions-menu-item.is-danger{color:#b91c1c}.status-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(15,23,42,.15);background:#f8fafce6;color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.08rem .44rem}.status-pill.is-active{border-color:#16a34a42;background:#16a34a1f;color:#166534}.status-pill.is-inactive{border-color:#47556947;background:#94a3b824;color:#475569}.table-cell-secondary{display:block;margin-top:.22rem;color:var(--text-muted);font-size:.79rem}.table-person-cell{display:inline-flex;align-items:center;gap:.55rem}.employee-avatar{border-radius:999px;object-fit:cover;border:1px solid var(--line-soft);background:var(--surface-muted);flex-shrink:0}.employee-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.74rem;font-weight:700}.pagination-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.7rem;margin-bottom:.75rem}.pagination-meta,.pagination-actions{display:flex;align-items:center;gap:.75rem;color:var(--text-muted)}.pagination-actions label{flex-direction:row;align-items:center}.pagination-bar{margin-bottom:.7rem}.right-drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95}.right-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;margin:0;padding:0;background:#0f172a3d}.right-drawer{position:absolute;top:0;right:0;height:100%;background:var(--surface);border-left:1px solid var(--line-soft);box-shadow:-22px 0 38px #0f172a24;display:flex;flex-direction:column;animation:drawer-in var(--motion-base) var(--ease-standard)}.right-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;border-bottom:1px solid var(--line-soft);padding:.9rem 1rem .7rem}.right-drawer-header h2{margin:0;font-size:1rem}.right-drawer-body{flex:1;min-height:0;overflow:auto;padding:.95rem 1rem}.right-drawer-footer{border-top:1px solid var(--line-soft);padding:.7rem 1rem;display:flex;justify-content:flex-end;gap:.5rem;position:sticky;bottom:0;background:var(--surface)}.drawer-form{display:grid;gap:.65rem}.payments-lookup-inline{display:inline-flex;align-items:center;gap:.5rem}.payments-lookup-inline input{min-width:clamp(220px,34vw,360px)}.revenue-preset-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem}.revenue-preset-group button.is-selected{border-color:#0ea5a46b;background:#0ea5a41f;color:#0f766e}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion: reduce){.right-drawer{animation:none}}.revenue-total{margin:0;font-size:1.6rem;font-weight:700}.payments-summary{display:flex;flex-wrap:wrap;gap:1rem}.created-result{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.72rem;background:var(--surface-muted)}.service-checklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.35rem}.availability-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem}.availability-form{border:1px solid var(--line-soft);background:var(--surface-muted);border-radius:var(--radius-sm);padding:.75rem;display:grid;gap:.6rem}.availability-form h4{margin:0}.staff-avatar-row{display:flex;gap:.9rem;align-items:center}.staff-avatar-form,.profile-avatar-block{display:grid;gap:.5rem}.branding-logo-row{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}.branding-logo-preview,.branding-logo-fallback{width:72px;height:72px;border-radius:16px}.branding-logo-preview{object-fit:cover;border:1px solid var(--line-soft);background:var(--surface-muted)}.branding-logo-fallback{display:inline-flex;align-items:center;justify-content:center;font-weight:700;border:1px solid var(--line-soft);color:var(--text-main);background:linear-gradient(135deg,#0ea5a433,#2563eb24)}.branding-logo-controls{display:grid;gap:.5rem}.calendar-page{min-height:0;margin:0;gap:0;--app-topbar-height: 58px;--calendar-toolbar-height: 44px}.calendar-wide-container{width:100%;min-width:100%;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:0}.calendar-wide-container.is-wide{width:max(100%,var(--calendar-content-width, 100%))}.calendar-hscroll{width:100%;max-width:100%;min-width:0;overflow:visible}.calendar-hscroll.is-day{overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;scrollbar-gutter:stable}.calendar-hscroll.is-week{overflow:visible}.calendar-toolbar{position:sticky;top:var(--app-topbar-height);z-index:22;width:100%;min-height:var(--calendar-toolbar-height);padding:.14rem .28rem;margin:0;border:1px solid var(--line-soft);border-radius:0;border-bottom:0;background:color-mix(in srgb,var(--surface) 96%,rgba(248,250,252,.78));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:none;overflow:hidden}.calendar-toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:.26rem .32rem;width:100%}.calendar-toolbar-group{display:inline-flex;align-items:center}.calendar-toolbar-group-start{gap:.28rem;min-width:0}.calendar-toolbar-nav{display:inline-flex;align-items:center;gap:.24rem}.calendar-toolbar-date{display:inline-flex;align-items:center;gap:.34rem;min-width:0;margin:0}.calendar-toolbar-date-label{color:var(--text-muted);font-weight:600;letter-spacing:-.01em;font-size:.86rem}.calendar-toolbar-date input{padding:.22rem .38rem;min-height:30px;min-width:134px}.calendar-toolbar-segment{display:inline-flex;align-items:center;gap:.22rem;flex-shrink:0}.calendar-toolbar-filter{display:grid;gap:.14rem;min-width:0;margin:0}.calendar-toolbar-filter span{font-size:.7rem;color:var(--text-soft);letter-spacing:.03em;text-transform:uppercase}.calendar-toolbar-filter select{min-width:144px;max-width:176px;min-height:30px;padding:.2rem .38rem}.calendar-toolbar-toggle{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.77rem;margin:0}.calendar-toolbar-toggle input{width:16px;height:16px;margin:0}.calendar-toolbar-spacer{flex:1 1 auto}.calendar-toolbar-actions{display:inline-flex;align-items:center;justify-content:flex-end}.calendar-toolbar-overflow{position:relative}.calendar-toolbar-overflow>summary{list-style:none;width:32px;height:32px;border:1px solid var(--line-soft);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);color:var(--text-muted);cursor:pointer}.calendar-toolbar-overflow>summary::-webkit-details-marker{display:none}.calendar-toolbar-overflow-panel{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-soft);padding:.5rem;display:grid;gap:.45rem;z-index:32}.calendar-closed-state{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1rem}.calendar-closed-state p{margin:0}.calendar-closed-state p:first-child{font-weight:600}.calendar-shell{--calendar-day-column-min: 640px;--calendar-day-column-min-many: 680px;--calendar-slot-height: 5.8rem;--calendar-hour-height: 11.6rem;--calendar-header-height: 84px;padding:0;display:flex;flex-direction:column;width:100%;min-width:100%;flex:1 1 auto;min-height:0;border:1px solid var(--line-soft);border-radius:0;background:var(--surface);box-shadow:none;overflow:visible}.calendar-shell.has-wide-layout{width:max(100%,var(--calendar-content-width, 100%))}.calendar-grid-wrap{flex:1;min-height:0;width:100%;max-width:100%;overflow:visible;touch-action:pan-x pan-y}.calendar-shell .rbc-calendar{height:100%;min-height:100%;width:100%;min-width:100%;background:linear-gradient(180deg,#f8fafc6b,#f8fafc1f);color:var(--text);border-radius:0;border:0;padding:0}.calendar-shell .rbc-toolbar{display:none}.calendar-shell .rbc-header{border-bottom:1px solid rgba(15,23,42,.06);color:var(--text-muted);font-size:.74rem;font-weight:600;padding:.24rem .18rem}.calendar-shell .rbc-time-header-content,.calendar-shell .rbc-time-content{border-left:1px solid rgba(15,23,42,.06)}.calendar-shell .rbc-time-header{position:sticky;top:calc(var(--app-topbar-height) + var(--calendar-toolbar-height));z-index:14;background:var(--surface);margin:0;border-bottom:1px solid rgba(15,23,42,.07)}.calendar-shell .calendar-staff-header-row{border-bottom:1px solid rgba(15,23,42,.06)}.calendar-shell .rbc-time-header-content .rbc-header{min-width:124px}.calendar-shell.has-wide-layout .rbc-time-view,.calendar-shell.has-wide-layout .rbc-time-header,.calendar-shell.has-wide-layout .rbc-time-header-content,.calendar-shell.has-wide-layout .rbc-time-content{min-width:max-content}.calendar-shell.has-wide-layout .rbc-time-header-content .rbc-header{min-width:var(--calendar-day-column-min)}.calendar-shell.has-wide-layout .rbc-time-content>.rbc-day-slot{min-width:var(--calendar-day-column-min)}.calendar-shell.has-wide-layout.has-many-employees .rbc-time-header-content .rbc-header{min-width:var(--calendar-day-column-min-many)}.calendar-shell.has-wide-layout.has-many-employees .rbc-time-content>.rbc-day-slot{min-width:var(--calendar-day-column-min-many)}.calendar-shell.has-wide-layout .rbc-time-header-content>.rbc-row,.calendar-shell.has-wide-layout .rbc-time-content>.rbc-row{min-width:max-content}.calendar-shell.is-week-view .rbc-time-view,.calendar-shell.is-week-view .rbc-time-header,.calendar-shell.is-week-view .rbc-time-header-content,.calendar-shell.is-week-view .rbc-time-content,.calendar-shell.is-week-view .rbc-time-header-content>.rbc-row,.calendar-shell.is-week-view .rbc-time-content>.rbc-row{min-width:100%;width:100%}.calendar-shell .rbc-time-gutter,.calendar-shell .rbc-time-header-gutter{position:sticky;left:0;background:var(--surface);width:52px;min-width:52px}.calendar-shell .rbc-time-header-gutter{top:calc(var(--app-topbar-height) + var(--calendar-toolbar-height));z-index:16}.calendar-page.is-day-view .calendar-toolbar{position:sticky;top:var(--app-topbar-height);z-index:44;min-height:var(--calendar-stickybar-height, var(--calendar-toolbar-height));margin-top:0;margin-bottom:0;width:100%;max-width:100%;background:var(--surface);border-color:var(--line-soft)}.calendar-page.is-day-view .calendar-employees-row{position:sticky;top:calc(var(--app-topbar-height) + var(--calendar-stickybar-height, var(--calendar-toolbar-height)));z-index:39;width:100%;overflow:hidden;background:var(--surface);border-bottom:1px solid rgba(15,23,42,.06)}.calendar-page.is-day-view .calendar-employees-inner{width:max-content;min-width:100%;display:flex;align-items:stretch;transform:translate(calc(-1 * var(--calendar-scroll-left, 0px)));transform-origin:left center;will-change:transform}.calendar-page.is-day-view .calendar-employees-gutter{width:var(--calendar-gutter-width);min-width:var(--calendar-gutter-width);border-right:1px solid rgba(15,23,42,.06);background:var(--surface)}.calendar-page.is-day-view .calendar-employees-cell{min-width:var(--calendar-day-column-min);border-left:1px solid rgba(15,23,42,.04)}.calendar-page.is-day-view .calendar-employees-row.has-many-employees .calendar-employees-cell{min-width:var(--calendar-day-column-min-many)}.calendar-page.is-day-view .calendar-shell{margin-top:0}.calendar-shell.is-day-view .rbc-time-header{display:none}.calendar-shell .rbc-time-gutter{z-index:12;border-right:1px solid rgba(15,23,42,.06)}.calendar-shell .calendar-time-gutter-sticky{box-shadow:1px 0 #0f172a0f}.calendar-shell.is-day-view .rbc-time-content .rbc-time-gutter{position:sticky;left:0;z-index:20;background:var(--surface);overflow:visible}.calendar-shell .calendar-week-header{display:inline-flex;align-items:center;justify-content:center;gap:.34rem;min-height:32px;width:100%;border:1px solid rgba(15,23,42,.08);border-radius:0;background:#f8fafcdb}.calendar-shell .calendar-week-header.is-today{color:#0f766e;border-color:#0ea5a433;background:#0ea5a414}.calendar-shell .calendar-week-header.is-closed{color:#64748b}.calendar-shell .calendar-week-header-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(100,116,139,.3);background:#64748b21;color:#475569;font-size:.58rem;text-transform:uppercase;letter-spacing:.03em;padding:.02rem .26rem}.calendar-shell .rbc-allday-cell{display:none}.calendar-shell .rbc-time-view{border:0;display:flex;flex-direction:column;min-height:0}.calendar-shell .rbc-time-header-content>.rbc-row{min-height:0}.calendar-shell .rbc-time-content{flex:1 1 auto;min-height:0;align-items:stretch;position:relative;box-sizing:border-box;border-top:0;padding-top:var(--calendar-header-height);overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:auto;overscroll-behavior-x:contain;scrollbar-gutter:stable both-edges}.calendar-shell.is-day-view,.calendar-shell.is-day-view .rbc-calendar,.calendar-shell.is-day-view .rbc-time-view{height:auto}.calendar-shell.is-day-view .rbc-time-content{flex:0 0 auto;height:auto;align-items:flex-start;padding-top:0!important;margin-top:0!important;overflow-y:visible!important;overflow-x:visible!important;overscroll-behavior-y:auto}.app-shell:not(.is-mobile) .calendar-page.is-day-view .calendar-toolbar-row{flex-wrap:nowrap}.calendar-shell.is-day-view .rbc-time-content>.rbc-day-slot.rbc-time-column,.calendar-shell.is-day-view .rbc-time-content>.rbc-time-gutter.rbc-time-column{min-height:max-content}.calendar-shell .rbc-time-slot{color:var(--text-soft);border-top:1px solid rgba(15,23,42,.03);min-height:var(--calendar-slot-height)}.calendar-shell .rbc-timeslot-group{border-bottom:1px solid rgba(15,23,42,.04);min-height:var(--calendar-hour-height);margin:0}.calendar-shell .rbc-time-gutter .rbc-time-slot{font-size:.64rem;line-height:1.2;color:#64748b;letter-spacing:.01em;padding-right:.2rem}.calendar-shell .calendar-slot{transition:background-color .16s ease}.calendar-shell .calendar-slot:hover{background:#0ea5a40a}.calendar-shell .calendar-slot.calendar-slot-off-duty,.calendar-shell .calendar-slot.calendar-slot-closed-day{background:#64748b14}.calendar-shell .calendar-slot.calendar-slot-week-hover{background:#0ea5a412;box-shadow:inset 0 0 0 1px #0ea5a43d}.calendar-shell.is-day-view .rbc-day-slot .calendar-slot.calendar-slot-day-today{background:#0ea5a407}.calendar-shell .calendar-day-column{position:relative}.calendar-shell .calendar-day-column.is-off-duty,.calendar-shell .calendar-day-column.is-off-duty .calendar-slot:hover{background:#64748b14}.calendar-shell .calendar-time-slot-wrapper.is-week-hover{min-height:100%}.calendar-shell .calendar-hover-ghost{position:absolute;left:3px;right:3px;border-radius:10px;border:1px dashed rgba(14,165,164,.55);background:#0ea5a424;box-shadow:0 8px 18px #0ea5a429;z-index:5;pointer-events:none;padding:.2rem .34rem;display:grid;align-content:center}.calendar-shell .calendar-hover-ghost.is-disabled{border-color:#64748b73;background:#64748b2e;box-shadow:none}.calendar-shell .calendar-hover-ghost-label{font-size:.64rem;color:#0f172a;opacity:.92}.calendar-shell .calendar-pinned-preview{position:absolute;left:2px;right:2px;border-radius:10px;border:1px dashed rgba(14,165,164,.62);background:#0ea5a41a;box-shadow:0 8px 16px #0f172a1f;z-index:6;pointer-events:none;padding:.22rem .36rem;display:grid;align-content:center}.calendar-shell .calendar-pinned-preview.is-conflict{border-color:#b45309b8;background:#f59e0b29}.calendar-shell .calendar-pinned-preview-label{font-size:.64rem;color:#0f172a;opacity:.92}.calendar-shell .rbc-event{font-size:.76rem;line-height:1.26;border-radius:11px;padding:.32rem .42rem;border:1px solid rgba(15,23,42,.11)!important;box-shadow:0 6px 14px #0f172a1c;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease,border-color .16s ease}.calendar-shell .rbc-current-time-indicator{z-index:4;height:1px;background:#0f172a73;box-shadow:0 0 0 1px #0f172a0f;pointer-events:none}.calendar-shell .rbc-background-event,.calendar-shell .calendar-blocked-event{background:#64748b29!important;border:1px dashed rgba(100,116,139,.4)!important;background-image:repeating-linear-gradient(-45deg,#64748b21,#64748b21 6px,#64748b0d 6px,#64748b0d 12px);color:#334155!important;box-shadow:none!important}.calendar-shell .calendar-day-closed{background:#64748b14!important}.calendar-shell.is-week-view .calendar-day-today-soft,.calendar-shell.is-week-view .rbc-today{background:#0ea5a405!important;box-shadow:none!important}.calendar-shell .calendar-week-draft-event{border:1px dashed rgba(14,165,164,.55)!important;background:#0ea5a41f!important;color:#0f172a!important;box-shadow:none!important;pointer-events:none!important}.calendar-shell .calendar-week-draft-event.is-hover{opacity:.92}.calendar-shell .calendar-week-draft-event.is-pinned{border-color:#0ea5a4ad!important;background:#0ea5a424!important}.calendar-shell .calendar-event-content{display:grid;gap:.18rem;min-width:0;max-width:100%}.calendar-shell .calendar-event-time{font-size:.65rem;line-height:1.2;opacity:.78}.calendar-shell .calendar-event-meta{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.calendar-shell .calendar-event-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:600}.calendar-shell .calendar-status-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(15,23,42,.16);background:#ffffffc2;color:#334155;font-size:.58rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.06rem .35rem;flex-shrink:0}.calendar-shell .rbc-event:hover{transform:translateY(-1px);box-shadow:0 10px 20px #0f172a29}.calendar-shell .rbc-selected .rbc-event,.calendar-shell .rbc-event:focus-visible{border-color:#0ea5a485!important;box-shadow:0 0 0 1px #0ea5a452,0 10px 22px #0f172a29}.calendar-shell .calendar-event-planned{background:#0f766e24!important;border-color:#0f766e57!important;color:#134e4a!important}.calendar-shell .calendar-event-confirmed{background:#2563eb24!important;border-color:#2563eb57!important;color:#1e3a8a!important}.calendar-shell .calendar-event-done{background:#16a34a24!important;border-color:#16a34a57!important;color:#14532d!important}.calendar-shell .calendar-event-canceled,.calendar-shell .calendar-event-no_show{background:#94a3b829!important;border-color:#47556952!important;color:#334155!important}.calendar-shell .calendar-event-past{opacity:.8}.calendar-shell .calendar-off-duty-event{background:#64748b33!important;border:1px dashed rgba(71,85,105,.4)!important;color:#334155!important;box-shadow:none!important}.calendar-shell .rbc-addons-dnd-over,.calendar-shell .rbc-slot-selection{background:#0ea5a424!important}.calendar-shell .rbc-addons-dnd-drag-preview{border-radius:10px;border:1px dashed rgba(14,165,164,.65);background:#0ea5a433;box-shadow:0 12px 24px #0ea5a433}.calendar-resource-header{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.24rem;width:100%;min-height:70px}.calendar-resource-header.is-off-duty{opacity:.62}.calendar-resource-avatar{box-shadow:0 4px 12px #0f172a24}.calendar-resource-text{display:flex;align-items:center;justify-content:center;gap:.22rem;min-width:0}.calendar-resource-name{font-size:.74rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.calendar-resource-off-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(100,116,139,.36);background:#64748b29;color:#475569;font-size:.58rem;text-transform:uppercase;font-weight:700;letter-spacing:.04em;padding:.06rem .3rem}.calendar-sidebar-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;opacity:0;transition:opacity var(--motion-base) var(--ease-standard);pointer-events:none}.calendar-sidebar-root.is-open{opacity:1}.calendar-sidebar-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;margin:0;padding:0;background:transparent;opacity:0;pointer-events:none;transition:opacity var(--motion-base) var(--ease-standard)}.calendar-sidebar-root.is-open .calendar-sidebar-backdrop{opacity:1;pointer-events:auto}.calendar-sidebar{position:absolute;right:0;top:0;height:100%;width:min(440px,96vw);background:var(--surface);border-left:1px solid var(--line-soft);box-shadow:-20px 0 40px #0f172a24;display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--motion-base) var(--ease-standard);pointer-events:none;z-index:1}.calendar-sidebar-root.is-open .calendar-sidebar{transform:translate(0);pointer-events:auto}.calendar-sidebar.calendar-sidebar-inline{position:relative;inset:auto;width:100%;max-width:none;height:100%;min-height:100%;border:1px solid var(--line-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.calendar-sidebar-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;padding:1rem 1rem .65rem;border-bottom:1px solid var(--line-soft)}.calendar-sidebar-header h2{margin:0;font-size:1.02rem}.calendar-sidebar-header .page-subtitle{margin-top:.2rem;font-size:.82rem}.calendar-sidebar-body{flex:1;min-height:0;overflow:auto;padding:.9rem 1rem .35rem}.calendar-sidebar-section{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:#f8fafcb3;padding:.7rem;display:grid;gap:.55rem}.calendar-sidebar-section-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.calendar-sidebar-section-head h3{margin:0;font-size:.86rem}.calendar-sidebar-section-kicker{font-size:.72rem;color:var(--text-soft);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.calendar-sidebar-change-link{border:0;background:transparent;color:var(--text-muted);font-size:.78rem;line-height:1.2;padding:0;text-decoration:underline;text-underline-offset:2px}.calendar-sidebar-change-link:hover,.calendar-sidebar-change-link:focus-visible{color:var(--text)}.calendar-sidebar-section-toggle{border:0;background:transparent;width:100%;display:flex;justify-content:space-between;gap:.5rem;align-items:center;text-align:left;padding:0}.calendar-sidebar-section-title{font-size:.86rem;font-weight:600}.calendar-sidebar-time-summary{font-size:.78rem;color:var(--text-muted)}.calendar-sidebar-time-chip{display:inline-flex;align-items:baseline;gap:.4rem;min-width:0;border:1px solid rgba(15,23,42,.1);border-radius:999px;background:#ffffffe0;padding:.32rem .6rem}.calendar-sidebar-time-chip-main{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-sidebar-time-chip-meta{font-size:.72rem;color:#0f766e;font-weight:600}.calendar-sidebar-section-toggle .is-open{transform:rotate(180deg)}.calendar-sidebar-search{display:flex;align-items:center;gap:.45rem;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);padding:0 .55rem}.calendar-sidebar-search svg{color:var(--text-muted);flex-shrink:0}.calendar-sidebar-search input{border:0;background:transparent;width:100%;min-width:0;padding:.54rem 0}.calendar-sidebar-search input:focus{outline:none}.calendar-sidebar-chip-row{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.calendar-sidebar-chip{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(14,165,164,.3);background:#0ea5a41f;color:#0f766e;font-size:.74rem;padding:.16rem .46rem}.calendar-sidebar-client-results{display:grid;max-height:140px;overflow:auto;gap:.3rem}.calendar-sidebar-result{border:1px solid var(--line-soft);border-radius:10px;background:var(--surface);color:var(--text);text-align:left;padding:.46rem .58rem}.calendar-sidebar-result.is-selected{border-color:#0ea5a473;background:#0ea5a41f}.calendar-sidebar-employee-current{display:inline-flex;align-items:center;gap:.5rem;min-height:34px}.calendar-sidebar-employee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.calendar-sidebar-employee-option{border:1px solid var(--line-soft);border-radius:10px;background:var(--surface);color:var(--text);padding:.34rem .42rem;display:inline-flex;align-items:center;min-height:52px;gap:.42rem;text-align:left}.calendar-sidebar-employee-option.is-selected{border-color:#0ea5a480;background:#0ea5a421}.calendar-sidebar-time-editor{display:grid;gap:.55rem}.calendar-sidebar-duration-mode{display:grid;gap:.35rem}.calendar-sidebar-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.calendar-sidebar-service-card{border:1px solid var(--line-soft);border-radius:10px;background:var(--surface);color:var(--text);padding:.44rem .52rem;display:grid;gap:.15rem;text-align:left}.calendar-sidebar-service-card.is-selected{border-color:#0ea5a480;background:#0ea5a429}.calendar-sidebar-service-title{font-size:.8rem}.calendar-sidebar-service-meta{font-size:.72rem;color:var(--text-muted)}.calendar-sidebar-selected-services{display:flex;flex-wrap:wrap;gap:.35rem}.calendar-sidebar-services-total{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.76rem;color:var(--text-muted)}.calendar-sidebar-links{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.calendar-sidebar-footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:.55rem;background:linear-gradient(180deg,rgba(255,255,255,.84),var(--surface) 42%);border-top:1px solid var(--line-soft);padding:.8rem 0 .95rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:50;padding:1rem;background:#0f172a61;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-card{width:min(780px,100%);max-height:calc(100vh - 2rem);overflow:auto;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);padding:1rem}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.62rem}.modal-header h3{margin:0}.toast-stack{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:70}.toast{min-width:240px;max-width:420px;border-radius:12px;padding:.72rem .86rem;color:#fff;font-size:var(--text-sm);border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow-soft)}.toast-success{background:#15803d}.toast-error{background:#b91c1c}.landing-page{min-height:100vh;display:flex;flex-direction:column;gap:1.2rem;padding:1.4rem;color:var(--text)}.landing-hero{position:relative;display:grid;grid-template-columns:1fr;gap:1.2rem;border:1px solid var(--line-soft);border-radius:28px;overflow:hidden;background:radial-gradient(circle at 15% 18%,rgba(14,165,164,.16),transparent 36%),linear-gradient(150deg,#fff,#f7fbff);box-shadow:var(--shadow-soft)}.landing-hero-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 15%,rgba(14,165,164,.14),transparent 28%),repeating-linear-gradient(45deg,rgba(14,165,164,.04) 0,rgba(14,165,164,.04) 1px,transparent 1px,transparent 12px);pointer-events:none}.landing-hero-content{position:relative;z-index:1;padding:clamp(1.6rem,4vw,3rem);display:grid;gap:1.2rem}.landing-kicker{margin:0;color:#0f766e;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.landing-hero h1{margin:0;font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.08;letter-spacing:-.02em}.landing-description{margin:0;color:var(--text-muted);max-width:62ch}.landing-cta-row{display:flex;flex-wrap:wrap;gap:.65rem}.landing-beta-link{width:fit-content;display:inline-flex;align-items:center;gap:.32rem;text-decoration:none;color:#0f766e;font-size:.87rem;font-weight:600}.landing-beta-link:hover{text-decoration:underline}.landing-mock-grid{position:relative;z-index:1;display:grid;gap:.9rem;padding:clamp(1rem,3vw,2.2rem);align-content:center}.landing-mock-card{border:1px solid var(--line-soft);border-radius:16px;background:#ffffffd1;padding:1rem}.landing-mock-card header{display:flex;align-items:center;gap:.45rem;color:var(--text-muted);margin-bottom:.7rem}.landing-mock-card ul{margin:0;padding-left:1rem;color:var(--text-soft);display:grid;gap:.3rem}.landing-mock-lines{display:grid;gap:.4rem}.landing-mock-lines div{height:10px;border-radius:999px;background:linear-gradient(90deg,#dce3ec,#ccd6e3,#dce3ec);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.landing-schedule-list{display:grid;gap:.5rem}.landing-schedule-row{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;border:1px solid var(--line-soft);border-radius:12px;padding:.52rem .6rem;background:#fff}.landing-schedule-time{font-size:.86rem;font-weight:700;color:var(--text-soft)}.landing-schedule-meta{min-width:0;display:grid;gap:.12rem}.landing-schedule-meta strong{font-size:.9rem;color:var(--text)}.landing-schedule-meta small{font-size:.78rem;color:var(--text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.landing-status-badge{border-radius:999px;font-size:.72rem;font-weight:600;text-transform:capitalize;padding:.18rem .52rem;border:1px solid transparent}.landing-status-badge.confirmed{border-color:#16a34a59;color:#166534;background:#16a34a1a}.landing-status-badge.pending{border-color:#d9770652;color:#92400e;background:#d977061f}.landing-schedule-note{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-soft);font-size:.74rem}.landing-schedule-empty{border:1px dashed var(--line);border-radius:12px;background:var(--surface-muted);padding:.7rem;color:var(--text-muted)}.landing-schedule-empty p{margin:0;font-weight:600}.landing-schedule-empty small{display:block;margin-top:.3rem}.landing-schedule-error{display:inline-flex;align-items:center;gap:.45rem;border:1px solid rgba(220,38,38,.25);background:#dc262614;color:#991b1b;padding:.5rem .65rem;border-radius:12px}.landing-section{border:1px solid var(--line-soft);border-radius:22px;background:#ffffffeb;padding:clamp(1.4rem,3vw,2.2rem)}.landing-section h2{margin:0 0 1rem;font-size:1.45rem}.landing-section-subtitle{margin:-.45rem 0 1rem;color:var(--text-muted)}.landing-feature-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.landing-feature-card{border:1px solid var(--line-soft);border-radius:14px;background:#ffffffd6;padding:.95rem}.landing-feature-card h3{margin:.4rem 0 .35rem;font-size:1rem}.landing-feature-card p{margin:0;color:var(--text-muted);font-size:.9rem}.landing-feature-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:#0f766e;background:#0ea5a424}.landing-steps{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.landing-steps article{border:1px solid var(--line-soft);border-radius:14px;padding:.95rem;background:#ffffffd6}.landing-steps span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;color:#0f766e;background:#0ea5a429;font-size:.8rem;font-weight:700}.landing-steps h3{margin:.55rem 0 .35rem;font-size:1rem}.landing-steps p{margin:0;color:var(--text-muted);font-size:.9rem}.landing-faq{display:grid;gap:.5rem}.landing-faq details{border:1px solid var(--line-soft);border-radius:12px;padding:.65rem .72rem;background:#ffffffe0}.landing-faq summary{cursor:pointer;font-weight:600}.landing-faq p{margin:.6rem 0 0;color:var(--text-muted)}.landing-preview-grid{display:grid;gap:1rem}.landing-preview-frame{margin:0;border-radius:18px;border:1px solid var(--line-soft);background:linear-gradient(180deg,#f8fbff,#eef4fb);box-shadow:var(--shadow-soft);overflow:hidden}.landing-preview-topbar{display:flex;gap:.4rem;padding:.7rem .8rem;border-bottom:1px solid rgba(15,23,42,.08);background:#fffc}.landing-preview-topbar span{width:11px;height:11px;border-radius:999px;background:#64748b6b}.landing-preview-topbar span:nth-child(1){background:#ef444473}.landing-preview-topbar span:nth-child(2){background:#f59e0b73}.landing-preview-topbar span:nth-child(3){background:#22c55e7a}.landing-preview-content{display:grid;gap:.8rem;padding:.9rem}.landing-preview-calendar,.landing-preview-appointments article{border:1px solid var(--line-soft);border-radius:12px;background:#ffffffd9}.landing-preview-calendar{padding:.75rem;display:grid;gap:.5rem}.landing-preview-calendar h3{margin:0;font-size:.94rem}.landing-preview-calendar ul{margin:0;padding-left:1rem;display:grid;gap:.35rem;color:var(--text-muted);font-size:.83rem}.landing-preview-appointments{display:grid;gap:.55rem}.landing-preview-appointments article{padding:.62rem .7rem;display:grid;gap:.2rem}.landing-preview-appointments strong{font-size:.88rem;color:var(--text)}.landing-preview-appointments small{color:var(--text-soft);font-size:.77rem}.landing-preview-points{margin:0;padding-left:1.1rem;display:grid;gap:.6rem;color:var(--text-muted)}.landing-preview-points li::marker{color:#0f766e}.landing-footer{border:1px solid var(--line-soft);border-radius:18px;background:#fffffff2;padding:1rem;display:grid;gap:.9rem}.landing-footer-grid{display:grid;gap:1rem}.landing-footer-grid section{display:grid;align-content:start;gap:.45rem}.landing-footer-grid h3{margin:0;font-size:.92rem;color:var(--text)}.landing-footer a{width:fit-content;color:#0f766e;text-decoration:none}.landing-footer a:hover{text-decoration:underline}.landing-footer-bottom{border-top:1px solid var(--line-soft);padding-top:.75rem;font-size:.82rem;color:var(--text-soft)}.landing-reveal{opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.landing-reveal--visible{opacity:1;transform:translateY(0)}.policy-page{min-height:100vh;display:grid;place-items:center;padding:1rem}.policy-card{width:min(640px,100%);border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:#fffffff0;box-shadow:var(--shadow-soft);padding:clamp(1rem,3vw,1.8rem);display:grid;gap:.8rem}.policy-card h1,.policy-card p{margin:0}.policy-card h1{font-size:1.5rem}.policy-note{color:var(--text-muted)}@media (min-width: 760px){.landing-preview-content{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.landing-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1101px){.landing-hero{grid-template-columns:1.1fr .9fr}.landing-preview-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center}}.public-booking-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,2.5rem)}.public-booking-shell{width:min(880px,100%);display:flex;flex-direction:column;gap:1rem;padding:clamp(1rem,2vw,1.5rem)}.public-booking-skeleton-line,.public-booking-skeleton-card,.public-booking-slot-skeleton{border-radius:10px;background:linear-gradient(120deg,#94a3b824 30%,#94a3b842,#94a3b824 70%);background-size:230% 100%;animation:shimmer 1.4s linear infinite}.public-booking-skeleton-line{height:16px}.public-booking-skeleton-line.wide{width:min(320px,75%)}.public-booking-skeleton-line.mid{width:min(220px,58%)}.public-booking-skeleton-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.55rem}.public-booking-skeleton-card{height:92px}.public-booking-header{display:flex;flex-direction:column;gap:.45rem}.public-booking-header h1{margin:0}.public-booking-header p{margin:0;color:var(--text-muted)}.public-booking-kicker{font-size:.86rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-strong)}.public-booking-salon-row{display:flex;align-items:center;gap:.75rem}.public-booking-salon-meta{display:grid;gap:.2rem}.public-booking-salon-logo,.public-booking-salon-logo-fallback{width:58px;height:58px;border-radius:14px}.public-booking-salon-logo{object-fit:cover;border:1px solid var(--line-soft);background:var(--surface-muted)}.public-booking-salon-logo-fallback{display:inline-flex;align-items:center;justify-content:center;font-weight:700;border:1px solid var(--line-soft);color:var(--text-main);background:linear-gradient(135deg,#0ea5a433,#2563eb24)}.public-booking-contacts{display:inline-flex;flex-wrap:wrap;gap:.65rem}.public-booking-contacts a{color:var(--accent-strong);text-decoration:none;font-size:.88rem}.public-booking-contacts a:hover{text-decoration:underline}.public-booking-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem}.public-booking-progress span{display:block;height:6px;border-radius:999px;background:var(--line-soft)}.public-booking-progress span.active{background:linear-gradient(135deg,var(--accent),var(--accent-strong))}.public-booking-staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem}.public-booking-staff-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:.8rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--text);box-shadow:none}.public-booking-staff-card.selected,.public-booking-day-button.selected,.public-booking-slot-button.selected{border-color:#0ea5a480;background:var(--accent-soft)}.public-booking-avatar,.public-booking-avatar-fallback{width:56px;height:56px;border-radius:999px}.public-booking-avatar{object-fit:cover;border:1px solid var(--line-soft);background:var(--surface-muted)}.public-booking-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-weight:700;border:1px solid var(--line-soft);background:linear-gradient(135deg,#0ea5a438,#2563eb29);color:var(--text)}.public-booking-day-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:.55rem}.public-booking-day-button,.public-booking-slot-button{background:var(--surface);color:var(--text);border:1px solid var(--line-soft);box-shadow:none}.public-booking-services-list{display:flex;flex-direction:column;gap:.5rem}.public-booking-service-item{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface);padding:.65rem .75rem}.public-booking-service-item input[type=checkbox]{width:16px;height:16px}.public-booking-service-item small{color:var(--text-muted)}.public-booking-total,.public-booking-muted{margin:0;color:var(--text-muted)}.public-booking-slots-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.5rem}.public-booking-slot-skeleton{height:36px}.public-booking-empty{border:1px dashed var(--line);border-radius:var(--radius-sm);padding:.8rem;color:var(--text-muted);background:var(--surface-muted)}.public-booking-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.public-booking-summary{border:1px solid var(--line-soft);border-radius:var(--radius-sm);background:var(--surface-muted);padding:.7rem .8rem}.public-booking-summary p{margin:.28rem 0 0;color:var(--text-muted)}.public-booking-terms{margin:0;color:var(--text-soft);font-size:.8rem}.public-booking-footer,.public-booking-actions{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.public-booking-success dl{margin:0;display:grid;gap:.55rem}.public-booking-success dt{font-size:.82rem;color:var(--text-muted)}.public-booking-success dd{margin:.15rem 0 0;font-weight:600}@keyframes shimmer{0%{background-position:220% 0}to{background-position:-30% 0}}@media (max-width: 1100px){.app-shell{grid-template-columns:1fr}.app-shell:before{opacity:.2}.sidebar-mobile-backdrop{display:block;position:fixed;top:var(--topbar-height);right:0;bottom:0;left:0;background:#0f172a59;border:0;padding:0;margin:0;opacity:0;pointer-events:none;z-index:11;transition:opacity var(--motion-fast) var(--ease-standard)}.app-shell.is-mobile-nav-open .sidebar-mobile-backdrop{opacity:1;pointer-events:auto}.sidebar{position:fixed;inset:var(--topbar-height) auto 0 0;height:calc(100vh - var(--topbar-height));width:var(--sidebar-collapsed-width);max-width:var(--sidebar-collapsed-width);border-right:1px solid var(--line-soft);border-bottom:0;transform:translate(-105%);transition:transform var(--motion-base) var(--ease-standard);z-index:20}.app-shell.is-mobile-nav-open .sidebar{transform:translate(0)}.secondary-sidebar,.secondary-sidebar-backdrop{display:none}.topbar-nav-toggle{display:inline-flex}.landing-hero,.dashboard-main-grid{grid-template-columns:1fr}.dashboard-shortcuts-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}}@media (max-width: 720px){.topbar-brand-text{display:none}.topbar{position:sticky;padding:.62rem .82rem;gap:.75rem;flex-wrap:wrap}.topbar-left{width:100%;justify-content:space-between}.topbar-actions{width:100%;justify-content:flex-end;gap:.5rem}.topbar-user-dropdown{right:0;min-width:min(230px,calc(100vw - 1.6rem))}.dashboard-hero-card{grid-template-columns:1fr}.dashboard-hero-actions{justify-content:flex-start}.dashboard-kpi-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start}.landing-page{padding:.75rem}.calendar-toolbar{align-items:stretch}.calendar-toolbar-row,.calendar-toolbar-group,.calendar-toolbar-date,.calendar-toolbar-segment,.calendar-toolbar-filter,.calendar-toolbar-toggle,.calendar-toolbar-actions{width:100%}.calendar-toolbar-spacer{display:none}.calendar-shell{min-height:0}.calendar-sidebar{width:100vw;max-width:100vw}.right-drawer{width:100vw!important;max-width:100vw}.calendar-sidebar.calendar-sidebar-inline{width:100%;max-width:100%;min-height:480px}.calendar-sidebar-employee-grid,.calendar-sidebar-service-grid{grid-template-columns:1fr}.calendar-sidebar-services-total{flex-direction:column;align-items:flex-start}.public-booking-contact-form{grid-template-columns:1fr}.public-booking-footer,.public-booking-actions{flex-direction:column;align-items:stretch}.public-booking-slots-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 520px){.public-booking-slots-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
