:root{--bg:#f4f5f7;--surface-1:#fff;--surface-2:#f0f2f5;--border-subtle:#e4e7ec;--border-default:#d1d6df;--border-strong:#aab3c0;--text-primary:#111827;--text-muted:#4b5563;--text-subtle:#9ca3af;--accent:#3d9040;--accent-hover:#2e7834;--accent-active:#256030;--accent-subtle:rgba(61,144,64,.1);--accent-muted:rgba(61,144,64,.06);--danger:#dc2626;--danger-subtle:rgba(220,38,38,.1);--warning:#d97706;--warning-subtle:rgba(217,119,6,.1);--surface-control:#f0f2f5;--surface-selected:rgba(0,0,0,.06);--surface-expanded:rgba(0,0,0,.055);--surface-hover:rgba(0,0,0,.04);--focus-ring:#3d9040;--t-fast:120ms ease;--t-base:150ms ease;--t-slow:180ms ease;--r-card:12px;--r-modal:14px;--r-input:8px;--r-btn:6px;--r-chip:100px;--r-sm:4px}:root[data-theme=dark]{--bg:#0b0f14;--surface-1:#13181f;--surface-2:#1a2030;--border-subtle:#1c2330;--border-default:#252e3d;--border-strong:#384557;--text-primary:#e2e6ec;--text-muted:#8a96a6;--text-subtle:#5e6e82;--accent:#4eac48;--accent-hover:#5dc456;--accent-active:#3d9040;--accent-subtle:rgba(78,172,72,.12);--accent-muted:rgba(78,172,72,.07);--danger:#e08080;--danger-subtle:hsla(0,61%,69%,.09);--warning:#e0934a;--warning-subtle:rgba(224,147,74,.1);--surface-control:#1a2030;--surface-selected:hsla(0,0%,100%,.07);--surface-expanded:hsla(0,0%,100%,.055);--surface-hover:hsla(0,0%,100%,.04);--focus-ring:#4eac48}*{box-sizing:border-box}html{min-height:100%;background:var(--bg);transition:background var(--t-slow)}body{margin:0;padding:0;min-height:100vh;background:transparent;color:var(--text-primary);font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;transition:color var(--t-slow)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--r-sm)}.app-shell{max-width:1200px;margin:0 auto;padding:0 28px 32px}.app-shell[data-view=calendar]{height:100vh;height:100dvh;max-width:none;overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}.app-shell[data-view=calendar] .header-bar,.app-shell[data-view=calendar] .view-tabs-row{flex-shrink:0}.app-shell[data-view=calendar] .card:first-of-type{flex-shrink:0;margin-bottom:0}.calendar-wrapper{flex:1 1;min-height:0;overflow:hidden}.calendar-container{height:100%;overflow:hidden}.calendar-container .fc{height:100%}.header-bar{display:flex;align-items:center;gap:16px;padding:14px 0 16px;border-bottom:1px solid var(--border-default);margin-bottom:16px}.header-bar-titles{flex:1 1;min-width:0}.header-bar-title{margin:0;font-size:22px;font-weight:700;color:var(--text-primary);line-height:1.2}.header-bar-subtitle{margin:3px 0 0;font-size:12px;color:var(--text-muted);line-height:1.4}.header-bar-meta{display:block;margin-top:2px;font-size:11px;color:var(--text-subtle);line-height:1.4}.header-bar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand-logo-frame{width:200px;min-width:200px;height:64px;border:1px solid var(--border-subtle);border-radius:var(--r-card);background:var(--surface-1);display:flex;align-items:center;justify-content:center;padding:6px;transition:background var(--t-base),border-color var(--t-base)}.brand-logo{width:100%;height:100%;object-fit:contain}.card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--r-card);transition:background var(--t-base),border-color var(--t-base)}.search-field-raised .fui-Input{background:var(--surface-control)!important;border:1px solid var(--border-default)!important;border-radius:var(--r-input)!important}.search-field-raised .fui-Input:focus-within{border-color:var(--focus-ring)!important}.search-field-raised .fui-Input input::placeholder{color:var(--text-muted)!important}.segmented-tabs{display:inline-flex}.segmented-tabs .fui-TabList{background:transparent!important;border-radius:0!important;padding:0!important;gap:0!important;border:none!important;border-bottom:1px solid var(--border-subtle)!important}.segmented-tabs .fui-Tab:before{display:none!important}.segmented-tabs .fui-Tab{border-radius:0!important;min-width:auto!important;padding:10px 16px!important;background:transparent!important;color:var(--text-muted)!important;font-weight:400!important;transition:color var(--t-base)!important}.segmented-tabs .fui-Tab:hover,.segmented-tabs .fui-Tab[aria-selected=true]{background:transparent!important;color:var(--text-primary)!important}.segmented-tabs .fui-Tab[aria-selected=true]{font-weight:600!important}.filter-bar-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 20px;background:none;border:none;border-radius:var(--r-card);cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:background var(--t-fast)}.filter-bar-header[aria-expanded=true]{border-radius:var(--r-card) var(--r-card) 0 0;border-bottom:1px solid var(--border-subtle)}.filter-bar-header:hover{background:var(--surface-hover)}.filter-bar-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.filter-bar-header-right{display:flex;align-items:center;gap:8px}.filter-bar-badge{font-size:11px;font-weight:600;padding:1px 7px;border-radius:var(--r-chip);background:var(--accent-subtle);color:var(--accent);border:1px solid rgba(78,172,72,.22)}:root:not([data-theme=dark]) .filter-bar-badge{border-color:rgba(61,144,64,.22)}.filter-bar-chevron{font-size:16px;color:var(--text-muted);transition:transform var(--t-base);flex-shrink:0}.filter-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--t-base);overflow:hidden}.filter-body[data-collapsed=true]{grid-template-rows:0fr}.filter-body-inner{min-height:0;overflow:hidden}.filter-body-content{padding:14px 20px}.filter-chips-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;align-items:center}.filter-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 10px;background:var(--accent-subtle);border:1px solid rgba(78,172,72,.25);border-radius:var(--r-chip);font-size:12px;font-weight:500;color:var(--text-primary);transition:background var(--t-fast)}:root:not([data-theme=dark]) .filter-chip{border-color:rgba(61,144,64,.25)}.filter-chip:hover{background:rgba(78,172,72,.18)}:root:not([data-theme=dark]) .filter-chip:hover{background:rgba(61,144,64,.16)}.filter-chip-dismiss{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:inherit;padding:0;margin-left:2px;font-size:13px;line-height:1;opacity:.6;border-radius:50%;width:16px;height:16px;transition:opacity var(--t-fast),background var(--t-fast)}.filter-chip-dismiss:hover{opacity:1;background:rgba(0,0,0,.12)}.view-tabs-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.header-bar-actions .fui-Button[data-appearance=subtle]{opacity:.55;transition:opacity var(--t-fast)}.header-bar-actions .fui-Button[data-appearance=subtle]:hover{opacity:1}.batch-toolbar{display:flex;align-items:center;gap:0;padding:8px 16px;background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--r-input);margin-bottom:12px}.batch-toolbar-left{display:flex;align-items:center;gap:6px;padding-right:16px;margin-right:16px;border-right:1px solid var(--border-subtle);flex-shrink:0}.batch-toolbar-fields{display:flex;align-items:flex-end;gap:8px;flex:1 1;flex-wrap:wrap}.batch-toolbar-right{padding-left:16px;margin-left:16px;border-left:1px solid var(--border-subtle);flex-shrink:0}.batch-toolbar-count{font-size:13px;color:var(--text-muted);white-space:nowrap}.batch-toolbar-count-num{font-weight:700;font-size:14px;color:var(--text-primary)}.change-detail-row,.fui-TableBody .change-detail-row.fui-TableRow:hover{background:transparent!important}.change-detail-inset{padding:4px 16px 12px 52px}.change-detail-panel{background:var(--surface-2);border:1px solid var(--border-default);border-radius:var(--r-input);overflow:hidden}.change-detail-panel-header{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;border-bottom:1px solid var(--border-subtle)}.change-detail-panel-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.change-detail-panel-actions{display:flex;gap:6px}.change-detail-notes{font-size:13px;line-height:1.55;color:var(--text-primary);white-space:pre-wrap}.change-detail-empty{font-size:12px;color:var(--text-subtle);font-style:italic}.change-detail-empty,.change-detail-notes-wrapper{padding:10px 14px 12px}.change-detail-notes-clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;max-height:calc(4 * 1.55em)}.client-tag-container{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--borderRadiusMedium,4px);background:var(--colorNeutralBackground1);min-height:32px}.client-tag-container[data-appearance=filled-darker]{background:var(--colorNeutralBackground3);border-color:transparent}.client-tag{gap:2px;padding:2px 6px;font-size:12px}.client-tag,.client-tag-dismiss{display:inline-flex;align-items:center}.client-tag-dismiss{background:none;border:none;cursor:pointer;padding:0 0 0 2px;color:inherit;opacity:.8}.client-tag-dismiss:hover{opacity:1}.client-tag-input{border:none!important;box-shadow:none!important;background:transparent!important;padding:0!important;min-height:unset!important}.ticket-link{color:var(--accent);text-decoration:none;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ticket-link:hover{text-decoration:underline}.change-detail-show-more{display:inline-block;margin-top:5px;padding:0;background:none;border:none;cursor:pointer;font-size:12px;font-family:inherit;color:var(--accent);transition:opacity var(--t-fast)}.change-detail-show-more:hover{opacity:.75;text-decoration:underline}.fui-TableHeader .fui-TableRow{background:var(--surface-1)!important;border-bottom:1px solid var(--border-strong)!important}.fui-TableHeaderCell{font-size:11px!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:var(--text-muted)!important}.fui-TableBody .fui-TableRow{transition:background var(--t-fast)}.fui-TableBody .fui-TableRow:hover{background:var(--surface-hover)!important}.fui-TableHeaderCell.th-sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color var(--t-fast)}.fui-TableHeaderCell.th-sort-active-col,.fui-TableHeaderCell.th-sortable:hover{color:var(--text-primary)!important}.th-sort-idle{font-size:9px;opacity:0;margin-left:4px;vertical-align:middle;transition:opacity var(--t-fast)}.fui-TableHeaderCell.th-sortable:hover .th-sort-idle{opacity:.5}.th-sort-dir{font-size:10px;color:var(--accent);margin-left:4px;vertical-align:middle;font-weight:700}.table-sort-hint{font-size:10px;color:var(--text-subtle);text-align:right;padding-bottom:6px;letter-spacing:.01em;opacity:.8}.table-sort-hint strong{color:var(--text-muted);font-weight:600}.chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-sm);font-size:11px;font-weight:600;line-height:16px;white-space:nowrap;letter-spacing:.02em;vertical-align:middle;border:1px solid transparent}.chip-danger{background:var(--danger-subtle);color:var(--danger);border-color:hsla(0,61%,69%,.22)}.chip-warning{background:var(--warning-subtle);color:var(--warning);border-color:rgba(224,147,74,.22)}.chip-brand{background:var(--accent-subtle);color:var(--accent);border-color:rgba(78,172,72,.22)}.chip-neutral{background:hsla(0,0%,100%,.05);color:var(--text-muted);border-color:var(--border-subtle)}:root:not([data-theme=dark]) .chip-neutral{background:rgba(0,0,0,.05);border-color:var(--border-default)}.chip-meta{opacity:.8}.fui-TableHeaderCell.col-center .fui-TableHeaderCell__button{justify-content:center!important}.fui-Button[data-appearance=primary]{transition:background var(--t-base),opacity var(--t-base)}.fui-Button[data-appearance=primary]:active:not(:disabled),.fui-Button[data-appearance=primary]:hover:not(:disabled){transform:none}.fui-Button[data-appearance=primary]:disabled{opacity:.4;cursor:not-allowed}.btn-danger-hover.fui-Button{color:var(--text-muted)!important;transition:color var(--t-fast),background var(--t-fast)!important}.btn-danger-hover.fui-Button:hover:not(:disabled){color:var(--danger)!important;background:var(--danger-subtle)!important}.btn-delete-confirm.fui-Button{background:var(--danger)!important;color:#fff!important;border-color:var(--danger)!important}.btn-delete-confirm.fui-Button:hover:not(:disabled){opacity:.88!important}.fc{--fc-border-color:var(--border-default);--fc-page-bg-color:var(--surface-1);--fc-neutral-bg-color:var(--surface-2);--fc-button-text-color:#fff;--fc-button-bg-color:var(--accent);--fc-button-border-color:var(--accent-active);--fc-button-hover-bg-color:var(--accent-hover);--fc-button-hover-border-color:var(--accent);--fc-today-bg-color:var(--accent-subtle);--fc-non-business-color:rgba(0,0,0,.04)}:root[data-theme=dark] .fc{--fc-button-active-bg-color:var(--accent-active);--fc-list-event-hover-bg-color:var(--accent-muted);--fc-non-business-color:rgba(0,0,0,.18)}.fc .fc-col-header-cell{background:var(--surface-2);font-weight:600;transition:background var(--t-base)}.fc .fc-day-today .fc-daygrid-day-number{background:var(--accent);color:#fff!important;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-weight:700;margin:2px;padding:0}.fc .fc-timegrid-slot{border-color:var(--border-default)!important}.fc .fc-timegrid-slot-minor{border-color:transparent!important}.fc .fc-event{border-radius:var(--r-sm)!important;border-top:none!important;border-right:none!important;border-bottom:none!important;border-left-width:3px!important;padding:0!important;overflow:hidden;transition:opacity var(--t-fast),filter var(--t-fast)!important;cursor:pointer}.fc .fc-event:hover{opacity:1!important;filter:brightness(1.08)}.fc-event-custom{display:flex;flex-direction:column;padding:3px 6px 3px 8px;height:100%;min-width:0;overflow:hidden;justify-content:center}.fc-event-custom-time{font-size:10px;font-weight:500;opacity:.72}.fc-event-custom-time,.fc-event-custom-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.fc-event-custom-title{font-size:11.5px;font-weight:600}.fc .fc-event.fc-event-dragging{opacity:.7;transform:scale(1.02)}.fc .fc-bg-event{opacity:.25;transition:opacity var(--t-fast);pointer-events:auto}.fc .fc-bg-event:hover{opacity:.45}.fc .fc-button-group{background:var(--surface-1);border-radius:var(--r-input)!important;padding:2px;gap:0;border:1px solid var(--border-subtle)}.fc .fc-button-group .fc-button+.fc-button{border-left:1px solid var(--border-subtle)!important}.fc .fc-button-group .fc-button+.fc-button.fc-button-active,.fc .fc-button-group .fc-button-active+.fc-button{border-left-color:transparent!important}.fc .fc-button-group .fc-button{border-radius:var(--r-btn)!important;border:none!important;font-weight:500;padding:4px 14px;transition:background var(--t-base),color var(--t-base);background:transparent!important;color:var(--text-muted)!important;box-shadow:none!important}.fc .fc-button-group .fc-button:hover:not(.fc-button-active){background:var(--accent-muted)!important;color:var(--text-primary)!important}.fc .fc-button-group .fc-button.fc-button-active{background:var(--surface-2)!important;color:var(--accent)!important;font-weight:600}.fc .fc-next-button,.fc .fc-prev-button{background:transparent!important;border:1px solid var(--border-default)!important;color:var(--text-primary)!important;box-shadow:none!important;padding:4px 8px!important}.fc .fc-next-button:hover,.fc .fc-prev-button:hover{background:var(--surface-hover)!important;border-color:var(--border-strong)!important}.fc .fc-today-button{font-weight:600!important}.fc-day-header-custom{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;line-height:1.3}.fc-day-header-label{font-size:12px;font-weight:600;color:var(--text-primary)}.fc-offhours-chip{display:inline-flex;align-items:center;padding:1px 6px;border:1px solid var(--border-default);border-radius:var(--r-chip);background:var(--surface-2);color:var(--text-muted);font-size:10px;font-weight:500;font-family:inherit;cursor:pointer;line-height:1.4;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.fc-offhours-chip:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.fc-day-header-label--today{color:var(--accent)}.fc .fc-toolbar{padding:10px 14px;border-bottom:1px solid var(--border-subtle);margin-bottom:0!important}.fc .fc-toolbar-title{font-size:15px!important;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.fc .fc-timegrid-axis{background:var(--surface-2);border-right:1px solid var(--border-default)!important}.fc .fc-timegrid-axis-cushion{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle);padding:0 10px 0 6px;text-align:right}.fc .fc-timegrid-slot-label{font-size:11px;color:var(--text-subtle);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--surface-2);border-right:1px solid var(--border-default)!important}.fc .fc-timegrid-slot-label-cushion{padding:0 10px 0 6px;text-align:right;display:block}.fc .fc-timegrid-divider{padding:0!important;height:2px!important;background:var(--border-default)!important;border:none!important}.fc .fc-timegrid-axis.fc-scrollgrid-shrink{background:var(--surface-2)}.filter-summary-line{flex:1 1;font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 12px;min-width:0}[cmdk-overlay]{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:1000;animation:cmdk-overlay-in .15s ease}[cmdk-dialog]{position:fixed;top:20%;left:50%;transform:translateX(-50%);z-index:1001;width:560px;max-width:calc(100vw - 32px)}[cmdk-root]{border:1px solid var(--border-strong);border-radius:var(--r-modal);box-shadow:0 24px 48px rgba(0,0,0,.4);overflow:hidden;animation:cmdk-in .15s ease}[cmdk-input],[cmdk-root]{background:var(--surface-1)}[cmdk-input]{width:100%;padding:14px 16px;font-size:15px;border:none;border-bottom:1px solid var(--border-default);color:var(--text-primary);outline:none;font-family:inherit}[cmdk-input]::placeholder{color:var(--text-subtle)}[cmdk-list]{max-height:360px;overflow-y:auto;padding:6px;background:var(--surface-1)}[cmdk-group-heading]{padding:6px 10px 2px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle)}[cmdk-item]{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-btn);cursor:pointer;font-size:14px;color:var(--text-primary);transition:background var(--t-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none}[cmdk-item][aria-selected=true],[cmdk-item][data-selected=true]{background:var(--accent-subtle);color:var(--text-primary)}[cmdk-empty]{padding:20px;text-align:center;color:var(--text-muted);font-size:14px}[cmdk-separator]{height:1px;background:var(--border-default);margin:4px 0}@keyframes cmdk-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes cmdk-in{0%{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.settings-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}.settings-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-card);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font:inherit;color:inherit;transition:background var(--t-base),border-radius var(--t-base)}.settings-section-header[aria-expanded=true]{border-radius:var(--r-card) var(--r-card) 0 0;border-bottom:1px solid var(--border-subtle)}.settings-section-header:hover{background:var(--surface-hover)}.settings-section-header-left{display:flex;align-items:center;gap:8px}.settings-section-chevron{font-size:16px;color:var(--text-muted);transition:transform var(--t-base)}.settings-section-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--t-base);overflow:hidden}.settings-section-body[data-collapsed=true]{grid-template-rows:0fr}.settings-section-body-inner{min-height:0;overflow:hidden}.settings-section-body-inner>.card{border-top:none;border-radius:0 0 var(--r-card) var(--r-card)}.dt-input{display:flex;flex-direction:column;gap:6px}.dt-input-fields{display:flex;gap:8px}.dt-input-date{flex:1 1;cursor:pointer}.dt-input-date input{cursor:pointer!important}.dt-input-time{width:140px;min-width:140px}.dt-input-actions{display:flex;gap:4px}.dt-calendar-surface{padding:12px!important}.dt-cal{width:260px}.dt-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dt-cal-header-label{font-size:14px;font-weight:600;color:var(--text-primary)}.dt-cal-weekdays{text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:4px}.dt-cal-grid,.dt-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.dt-cal-grid{grid-gap:2px;gap:2px}.dt-cal-day{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:none;cursor:pointer;font-size:13px;font-family:inherit;color:var(--text-primary);transition:background var(--t-fast)}.dt-cal-day:hover{background:var(--surface-hover)}.dt-cal-day--other{color:var(--text-subtle)}.dt-cal-day--today{color:var(--accent);font-weight:700}.dt-cal-day--selected{background:var(--accent)!important;color:#fff!important;font-weight:600}@media (max-width:900px){.header-bar{flex-wrap:wrap;gap:12px;padding:14px 0 16px}.brand-logo-frame{width:160px;min-width:160px;height:52px}.header-bar-actions{width:100%;justify-content:flex-end}.app-shell{padding:0 16px 24px}.app-shell[data-view=calendar]{padding:0 16px}}