.work-report-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:28px}.work-report-viewer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:var(--color-scrim-drawer);cursor:default}.work-report-viewer-dialog{position:relative;width:min(920px,100%);max-height:calc(100vh - 56px);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-drawer)}.work-report-viewer-toolbar{min-height:76px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--color-border)}.work-report-viewer-toolbar h2{margin:4px 0 0;color:var(--color-text-strong);font-size:20px}.work-report-viewer-state{min-height:320px;padding:32px;display:grid;place-items:center;align-content:center;gap:16px;color:var(--color-text-secondary);text-align:center}.work-report-viewer-scroll{min-height:0;padding:24px;overflow-y:auto;background:var(--color-surface-muted)}.work-report-paper{max-width:760px;margin:0 auto;overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.work-report-paper-header{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:28px;background:var(--color-surface-subtle);border-bottom:1px solid var(--color-border)}.work-report-paper-header>div{min-width:0;display:flex;flex-direction:column;gap:5px}.work-report-paper-header strong{color:var(--color-text-strong);font-size:14px}.work-report-paper-header small{color:var(--color-text-muted);font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.work-report-paper-header span{color:var(--color-text-secondary);font-size:10px;line-height:1.45}.work-report-multiline{white-space:pre-line}.work-report-paper-section{padding:21px 24px;border-bottom:1px solid var(--color-border)}.work-report-paper-section:last-child{border-bottom:0}.work-report-paper-section-title{display:flex;align-items:center;gap:8px;color:var(--color-action-primary)}.work-report-paper-section-title h3{margin:0;color:var(--color-text-strong);font-size:12px;letter-spacing:.035em;text-transform:uppercase}.work-report-paper-section-title>span{margin-left:auto;color:var(--color-text-secondary);font-size:10px;text-transform:capitalize}.work-report-details{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}.work-report-detail-row{min-height:28px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--color-border)}.work-report-detail-row span{color:var(--color-text-muted);font-size:10px}.work-report-detail-row strong{color:var(--color-text-primary);font-size:10px}.work-report-notes,.work-report-empty-media,.work-report-media-error{margin:14px 0 0;font-size:11px;line-height:1.6}.work-report-notes{color:var(--color-text-secondary);white-space:pre-wrap}.work-report-checklist-title{margin-top:14px;display:block;color:var(--color-text-strong);font-size:11px}.work-report-checklist-items{margin:10px 0 0;padding:0;display:grid;gap:8px;list-style:none}.work-report-checklist-items li{display:flex;align-items:flex-start;gap:8px;color:var(--color-text-secondary);font-size:11px;line-height:1.5}.work-report-checklist-items li>span{width:16px;height:16px;flex:0 0 16px;display:grid;place-items:center;border-radius:5px;background:var(--color-action-primary);color:var(--color-text-on-action)}.work-report-checklist-empty{margin:10px 0 0;color:var(--color-text-muted);font-size:11px}.work-report-empty-media{color:var(--color-text-muted)}.work-report-media-error{color:var(--color-warning)}.work-report-photo-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.work-report-photo-grid a,.work-report-media-placeholder{aspect-ratio:4 / 3;overflow:hidden;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-muted)}.work-report-photo-grid img{width:100%;height:100%;display:block;object-fit:cover}.work-report-media-placeholder{display:grid;place-items:center;align-content:center;gap:6px;color:var(--color-text-muted);font-size:9px}.work-report-signature-section{min-height:170px}.work-report-signature{width:min(300px,100%);max-height:110px;margin-top:14px;display:block;object-fit:contain;object-position:left center}.work-report-signature-empty{min-height:80px;margin-top:14px;display:grid;place-items:center;border:1px dashed var(--color-border-strong);border-radius:10px;color:var(--color-text-muted);font-size:10px}.work-report-signer{margin-top:8px;display:block;color:var(--color-text-primary);font-size:10px}@media (max-width: 720px){.work-report-viewer{padding:10px}.work-report-viewer-dialog{max-height:calc(100vh - 20px)}.work-report-viewer-scroll{padding:12px}.work-report-paper-header,.work-report-details{grid-template-columns:1fr}.work-report-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.client-location-address-fields{display:grid;gap:12px}.client-location-address-fields label{position:relative;display:flex;flex-direction:column;gap:5px}.client-location-address-fields label>span{color:var(--color-text-muted);font-size:10px;font-weight:700}.client-location-address-fields input{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:12px}.client-location-address-fields input:focus{border-color:var(--color-action-primary);outline:3px solid var(--color-focus-ring)}.client-location-street-row{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px}.client-location-places-error,.client-location-places-note{margin:0;font-size:9px;line-height:1.45}.client-location-places-error{color:var(--color-danger)}.client-location-places-note{color:var(--color-text-muted)}@media (max-width: 560px){.client-location-street-row{grid-template-columns:1fr}}.client-create-dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;padding:24px;display:grid;place-items:center;background:var(--color-scrim-drawer)}.client-create-dialog{width:min(620px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-drawer)}.client-create-dialog>header{padding:18px 20px;display:flex;gap:12px;border-bottom:1px solid var(--color-border)}.client-create-dialog>header>span{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--color-action-soft);color:var(--color-action-primary)}.client-create-dialog header strong{color:var(--color-text-strong);font-size:16px}.client-create-dialog header p{margin:4px 0 0;color:var(--color-text-muted);font-size:11px}.client-create-dialog form{padding:20px;display:flex;flex-direction:column;gap:16px}.client-create-type{display:flex;gap:8px;border:0;padding:0}.client-create-type legend{width:100%;margin-bottom:7px;color:var(--color-text-muted);font-size:10px;font-weight:700}.client-create-type button{min-height:36px;padding:0 13px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer}.client-create-type button.selected{border-color:var(--color-action-border);background:var(--color-action-soft);color:var(--color-action-primary);font-weight:700}.client-create-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.client-create-grid label{display:flex;flex-direction:column;gap:6px}.client-create-grid label>span{color:var(--color-text-muted);font-size:10px;font-weight:700}.client-create-grid em{color:var(--color-danger);font-style:normal}.client-create-address-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--color-action-primary);cursor:pointer;font-size:11px;font-weight:700}.client-create-error{margin:0;padding:9px 11px;border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-surface-danger);color:var(--color-danger);font-size:11px}.client-create-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}@media (max-width: 560px){.client-create-dialog-layer{padding:12px}.client-create-grid{grid-template-columns:1fr}}.client-location-preview-button{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--color-action-border);border-radius:var(--radius-sm);background:var(--color-action-soft);color:var(--color-action-primary);cursor:pointer;transition:border-color .12s ease,background-color .12s ease,color .12s ease,box-shadow .12s ease}.client-location-preview-button:hover{border-color:color-mix(in srgb,var(--color-action-primary) 28%,var(--color-action-border));background:var(--color-brand-blue-100);color:var(--color-action-primary-hover);box-shadow:var(--shadow-action-subtle)}.client-location-preview-button:active{background:color-mix(in srgb,var(--color-brand-blue-100) 70%,var(--color-brand-blue-200));color:var(--color-action-primary-pressed)}.client-location-preview-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.client-location-preview-button-icon{position:relative;display:grid;place-items:center;width:22px;height:22px}.client-location-preview-button-eye{position:absolute;right:-6px;bottom:-5px;width:18px;height:18px;display:grid;place-items:center;border:1.5px solid var(--color-action-border);border-radius:999px;background:var(--color-surface);color:var(--color-action-primary);box-shadow:var(--shadow-icon-subtle)}.client-location-preview-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;padding:20px;display:grid;place-items:center;background:var(--color-scrim-drawer)}.client-location-preview-dialog{width:min(680px,100%);padding:18px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.client-location-preview-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.client-location-preview-dialog h3{margin:0;color:var(--color-text-strong);font-size:16px}.client-location-preview-dialog header p{margin:4px 0 0;color:var(--color-text-muted);font-size:10px}.client-location-preview-dialog header button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:999px;background:var(--color-surface-muted);color:var(--color-text-secondary);cursor:pointer}.client-location-preview-frame{position:relative;margin-top:14px;width:100%;aspect-ratio:16 / 10;overflow:hidden;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.client-location-preview-frame>span{display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:11px}.client-location-preview-frame img{width:100%;height:100%;object-fit:cover}.client-location-preview-frame em{position:absolute;right:9px;bottom:9px;padding:4px 7px;border-radius:var(--radius-sm);background:var(--color-surface-glass);color:var(--color-text-secondary);font-size:9px;font-style:normal;font-weight:750}.client-location-preview-error{margin:11px 0 0;color:var(--color-danger);font-size:10px}.client-contact-editor{padding:14px 15px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.client-contact-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.client-contact-editor h3{margin:0;color:var(--color-text-strong);font-size:14px}.client-contact-editor header p{margin:3px 0 0;color:var(--color-text-muted);font-size:10px}.client-contact-editor{display:grid;gap:14px}.client-contact-editor-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.client-contact-editor-group{min-width:0;margin:0;padding:0;display:grid;gap:10px;border:0}.client-contact-editor-group legend{margin-bottom:8px;display:flex;align-items:center;gap:7px;color:var(--color-text-secondary);font-size:11px;font-weight:800}.client-contact-editor-group label{display:grid;gap:5px;color:var(--color-text-muted);font-size:10px;font-weight:700}.client-contact-editor-input-row{display:flex;gap:7px}.client-contact-editor-input-row input{min-width:0;min-height:40px;flex:1;padding:0 10px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-primary);font:inherit;font-size:12px}.client-contact-editor-input-row input:focus{border-color:var(--color-action-primary);outline:3px solid var(--color-focus-ring)}.client-contact-editor-input-row input[aria-invalid=true]{border-color:var(--color-danger-border)}.client-contact-editor-group small{color:var(--color-danger);font-size:9px}.client-contact-remove{width:40px;min-height:40px;display:grid;place-items:center;border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-surface-danger);color:var(--color-danger);cursor:pointer}.client-contact-remove:hover{border-color:var(--color-danger-border);color:var(--color-danger)}.client-contact-add{min-height:38px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px dashed var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-action-primary);cursor:pointer;font:inherit;font-size:10px;font-weight:750}.client-contact-add:hover{border-color:var(--color-action-border);background:var(--color-action-soft)}.client-contact-editor-actions{display:flex;justify-content:flex-end;gap:8px}.client-contact-error{margin:0;padding:9px 11px;border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-surface-danger);color:var(--color-danger);font-size:10px;font-weight:700}.client-contact-status{margin:0;color:var(--color-text-muted);font-size:11px}@media (max-width: 900px){.client-contact-editor-columns{grid-template-columns:1fr}}.planning-checklist-editor{min-width:0;padding-top:14px;border-top:1px solid var(--color-border)}.planning-checklist-editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--color-text-muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.planning-checklist-add-button,.planning-checklist-add-item,.planning-checklist-delete,.planning-checklist-summary,.planning-checklist-reorder-actions button,.planning-checklist-remove-item{border:0;font:inherit;cursor:pointer}.planning-checklist-add-button{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:7px;background:var(--color-action-soft);color:var(--color-action-primary);font-size:10px;font-weight:800;letter-spacing:0;text-transform:none}.planning-checklist-add-button:hover,.planning-checklist-add-button:focus-visible{background:var(--color-surface-selected);outline:none}.planning-checklist-empty,.planning-checklist-notice,.planning-checklist-error{margin:9px 0 0;font-size:11px;line-height:1.45}.planning-checklist-empty{color:var(--color-text-subtle)}.planning-checklist-notice,.planning-checklist-error{color:var(--color-warning)}.planning-checklist-template-list{display:grid;gap:8px;margin-top:10px}.planning-checklist-template{min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.planning-checklist-template.has-error{border-color:var(--color-warning);background:var(--color-surface-warning)}.planning-checklist-summary{width:100%;min-height:40px;display:grid;grid-template-columns:14px minmax(0,1fr) auto 15px;align-items:center;gap:7px;padding:7px 9px;background:transparent;color:var(--color-text-primary);text-align:left}.planning-checklist-summary:hover,.planning-checklist-summary:focus-visible{background:var(--color-surface-muted);outline:none}.planning-checklist-accent{width:14px;height:14px;border-radius:4px}.planning-checklist-summary-title{min-width:0;overflow:hidden;font-size:12px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.planning-checklist-count{color:var(--color-text-muted);font-size:9px;font-weight:800;text-transform:uppercase;white-space:nowrap}.planning-checklist-summary svg{color:var(--color-text-muted);transition:transform .14s ease}.planning-checklist-summary svg.is-expanded{transform:rotate(180deg)}.planning-checklist-error{padding:0 9px 8px}.planning-checklist-details{display:grid;gap:9px;padding:4px 9px 10px;border-top:1px solid var(--color-border)}.planning-checklist-title-field{display:grid;gap:5px;padding-top:8px;color:var(--color-text-muted);font-size:10px;font-weight:800;text-transform:uppercase}.planning-checklist-title-field input,.planning-checklist-item-row>input{min-width:0;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;outline:none}.planning-checklist-title-field input{min-height:36px;padding:0 9px;font-size:12px;font-weight:600;text-transform:none}.planning-checklist-title-field input:focus,.planning-checklist-item-row>input:focus{border-color:var(--color-action-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.planning-checklist-title-field input[aria-invalid=true],.planning-checklist-item-row>input[aria-invalid=true]{border-color:var(--color-warning)}.planning-checklist-items{display:grid;gap:6px}.planning-checklist-item-row{min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr) 30px;align-items:stretch;gap:5px}.planning-checklist-item-row>input{min-height:36px;padding:0 8px;font-size:11px}.planning-checklist-reorder-actions{display:grid;grid-template-rows:1fr 1fr;overflow:hidden;border:1px solid var(--color-border);border-radius:7px;background:var(--color-surface-subtle)}.planning-checklist-reorder-actions button,.planning-checklist-remove-item{display:grid;place-items:center;padding:0;background:transparent;color:var(--color-text-muted)}.planning-checklist-reorder-actions button+button{border-top:1px solid var(--color-border)}.planning-checklist-reorder-actions button:hover:not(:disabled),.planning-checklist-remove-item:hover,.planning-checklist-reorder-actions button:focus-visible,.planning-checklist-remove-item:focus-visible{background:var(--color-surface-muted);color:var(--color-text-primary);outline:none}.planning-checklist-reorder-actions button:disabled{cursor:default;opacity:.3}.planning-checklist-remove-item{border:1px solid var(--color-border);border-radius:8px}.planning-checklist-add-item{min-height:34px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px dashed var(--color-border-strong);border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:11px;font-weight:700}.planning-checklist-add-item:hover,.planning-checklist-add-item:focus-visible{border-color:var(--color-action-border);background:var(--color-action-soft);color:var(--color-action-primary);outline:none}.planning-checklist-delete{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:4px;background:transparent;color:var(--color-danger);font-size:10px;font-weight:700}.planning-checklist-delete:hover,.planning-checklist-delete:focus-visible{text-decoration:underline;outline:none}.task-type-option{position:relative;display:inline-flex;align-items:center}.task-type-option-label{white-space:nowrap}.task-type-checklist-indicator{width:14px;height:14px;flex:0 0 14px;display:inline-flex;align-items:center;justify-content:center;margin-left:2px;border:1.5px solid color-mix(in srgb,var(--type-color) 55%,var(--color-border-strong));border-radius:4px;background:color-mix(in srgb,var(--color-text-muted) 8%,transparent);color:var(--type-color);transition:border-color .12s ease,background-color .12s ease,color .12s ease}.task-type-option-trigger.selected .task-type-checklist-indicator{border-color:color-mix(in srgb,var(--type-color) 95%,transparent)}.task-type-checklist-indicator.filled{background:var(--type-color);border-color:color-mix(in srgb,var(--type-color) 95%,transparent);color:var(--color-surface)}.task-type-checklist-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:60;width:min(280px,calc(100vw - 56px));max-height:min(320px,50vh);padding:8px;overflow-y:auto;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:var(--shadow-md)}.task-type-checklist-dropdown-title{display:block;padding:3px 7px 7px;color:var(--color-text-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.task-type-checklist-row{width:100%;min-height:48px;padding:7px 8px;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:8px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--color-text-primary);text-align:left;cursor:pointer}.task-type-checklist-row:hover{background:var(--color-surface-subtle)}.task-type-checklist-row.selected{border-color:var(--color-action-border);background:var(--color-action-soft);color:var(--color-action-primary)}.task-type-checklist-row>span{min-width:0;display:flex;flex-direction:column;gap:2px}.task-type-checklist-row strong,.task-type-checklist-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-type-checklist-row strong{font-size:11px}.task-type-checklist-row small{color:var(--color-text-muted);font-size:9px}:root{color-scheme:light;--color-brand-blue: #0066ff;--color-brand-blue-hover: #0057d9;--color-brand-blue-pressed: #0048b8;--color-brand-blue-50: #eff6ff;--color-brand-blue-100: #dbeafe;--color-brand-blue-200: #bfdbfe;--color-brand-navy: #0a1e3f;--color-brand-navy-deep: #030e25;--color-brand-orange: #f97316;--color-brand-teal: #00a3a4;--color-canvas: #f8fafc;--color-surface: #ffffff;--color-surface-subtle: #f1f5f9;--color-surface-muted: #f8fafc;--color-surface-selected: #eff6ff;--color-surface-warning: #fff7ed;--color-surface-danger: #fef2f2;--color-surface-scrim: rgb(255 255 255 / 82%);--color-surface-glass: rgb(255 255 255 / 76%);--color-planner-rail: var(--color-surface-subtle);--color-planner-row-band: var(--color-surface-muted);--color-planner-day-band: color-mix(in srgb, var(--color-brand-blue-50) 18%, var(--color-surface));--color-planner-weekend-band: var(--color-surface-subtle);--color-text-primary: #0f172a;--color-text-strong: #0a1e3f;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-text-subtle: #94a3b8;--color-text-on-action: #ffffff;--color-action-primary: var(--color-brand-blue);--color-action-primary-hover: var(--color-brand-blue-hover);--color-action-primary-pressed: var(--color-brand-blue-pressed);--color-action-soft: var(--color-brand-blue-50);--color-action-border: var(--color-brand-blue-200);--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-danger: #dc2626;--color-danger-border: #fecaca;--color-warning: #d97706;--color-focus-ring: rgb(0 102 255 / 24%);--color-capacity-available: #16a34a;--color-capacity-steady: #65a30d;--color-capacity-busy: #ea580c;--color-capacity-full: #9a3412;--color-task-blue: #00adf5;--color-task-blue-surface: rgb(0 173 245 / 55%);--color-task-green: #16a34a;--color-task-green-surface: rgb(34 197 94 / 45%);--color-task-navy: #1e3a8a;--color-task-navy-surface: rgb(47 78 178 / 42%);--color-task-red: #dc2626;--color-task-red-surface: rgb(239 68 68 / 45%);--color-task-pink: #db2777;--color-task-pink-surface: rgb(236 72 153 / 45%);--color-task-teal: #0d9488;--color-task-teal-surface: rgb(13 148 136 / 45%);--color-task-yellow: #b38600;--color-task-yellow-surface: rgb(250 204 21 / 60%);--color-task-orange: #ea580c;--color-task-orange-surface: rgb(251 146 60 / 55%);--color-task-purple: #7c3aed;--color-task-purple-surface: rgb(139 92 246 / 45%);--color-task-gray: #475569;--color-task-gray-surface: rgb(148 163 184 / 38%);--color-scrim-drawer: rgb(15 23 42 / 18%);--color-grid-line: rgb(226 232 240 / 55%);--color-grid-line-strong: rgb(203 213 225 / 72%);--color-drop-target: rgb(0 102 255 / 10%);--shadow-sm: 0 1px 2px rgb(15 23 42 / 6%);--shadow-md: 0 14px 36px rgb(15 23 42 / 10%);--shadow-action: 0 8px 20px rgb(0 102 255 / 18%);--shadow-action-subtle: 0 1px 3px rgb(0 102 255 / 12%);--shadow-icon-subtle: 0 1px 2px rgb(15 23 42 / 8%);--shadow-drawer: -18px 0 48px rgb(15 23 42 / 16%);--shadow-planner-row: 0 0 0 1px var(--color-border), 0 1px 3px rgb(15 23 42 / 6%), 0 8px 20px rgb(15 23 42 / 8%);--shadow-planner-row-dragging: 0 0 0 1px var(--color-action-border), 0 10px 28px rgb(15 23 42 / 14%);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px}:root{font-family:Plus Jakarta Sans,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text-primary);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.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}.button,.icon-button{border:0;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,transform .14s ease}.button{min-height:40px;padding:0 16px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700}.button:active:not(:disabled),.icon-button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:wait;opacity:.62}.button-primary{color:var(--color-text-on-action);background:var(--color-action-primary);box-shadow:var(--shadow-action)}.button-primary:hover:not(:disabled){background:var(--color-action-primary-hover)}.button-primary:active:not(:disabled){background:var(--color-action-primary-pressed)}.button-danger{color:var(--color-text-on-action);background:var(--color-danger);box-shadow:var(--shadow-sm)}.button-danger:hover:not(:disabled),.button-danger:active:not(:disabled){background:color-mix(in srgb,var(--color-danger) 84%,var(--color-text-strong))}.button-secondary{background:var(--color-surface);border:1px solid var(--color-border-strong)}.button-secondary:hover{background:var(--color-surface-muted)}.icon-button{width:38px;height:38px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:transparent}.icon-button:hover{background:var(--color-surface-subtle)}.icon-button.bordered{border:1px solid var(--color-border-strong);background:var(--color-surface)}.text-link{color:var(--color-action-primary);font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.eyebrow{display:block;color:var(--color-action-primary);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.muted-copy{color:var(--color-text-secondary);line-height:1.65}.inline-autocomplete{--inline-autocomplete-padding-x: 11px;position:relative;z-index:1;width:100%}.inline-autocomplete:focus-within{z-index:30}.inline-autocomplete-input-wrap{position:relative;display:flex;align-items:stretch}.inline-autocomplete .inline-autocomplete-input-wrap>input{position:relative;z-index:1;width:100%;background:transparent}.inline-autocomplete-ghost{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;min-height:42px;padding:0 var(--inline-autocomplete-padding-x);display:flex;align-items:center;overflow:hidden;color:transparent;font:inherit;pointer-events:none;white-space:nowrap}.inline-autocomplete-ghost>span{visibility:hidden}.inline-autocomplete-ghost>em{color:var(--color-text-muted);font-style:normal;opacity:.55}.inline-autocomplete-results{position:absolute;top:calc(100% + 5px);right:0;left:0;z-index:31;max-height:164px;overflow-y:auto;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);box-shadow:var(--shadow-md)}.inline-autocomplete-results>button{width:100%;min-height:44px;padding:9px 11px;display:flex;flex-direction:column;justify-content:center;gap:2px;border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer;text-align:left}.inline-autocomplete-results>button:last-child{border-bottom:0}.inline-autocomplete-results>button:hover,.inline-autocomplete-results>button.selected{background:var(--color-action-soft)}.inline-autocomplete-results strong,.inline-autocomplete-results small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-autocomplete-results strong{font-size:11px}.inline-autocomplete-results small{color:var(--color-text-muted);font-size:9px}.inline-autocomplete-loading{min-height:44px;padding:9px 11px;display:flex;align-items:center;gap:8px;color:var(--color-text-muted);font-size:10px}.inline-autocomplete-loading .loading-spinner{width:15px;height:15px;border-width:2px}.brand-logo{display:block;width:auto;object-fit:contain}.brand-logo-login{height:54px;max-width:190px}.brand-logo-sidebar{height:41px;max-width:160px}.brand-logo-state{height:58px;max-width:210px}.centered-state{min-height:100vh;padding:40px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;background:radial-gradient(circle at 50% 10%,var(--color-brand-blue-100),transparent 40%),var(--color-canvas)}.centered-state h1{margin:6px 0 0;font-size:clamp(26px,4vw,38px)}.centered-state p{max-width:520px;margin:0 0 10px;color:var(--color-text-secondary);line-height:1.65}.loading-spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-action-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.desktop-shell{--desktop-sidebar-width: 228px;min-height:100vh;height:100vh;display:flex;flex-direction:column;background:var(--color-canvas)}.desktop-shell>main{flex:1;min-height:0;min-width:0}.desktop-shell.sidebar-pinned>main{margin-left:var(--desktop-sidebar-width)}.sidebar-hotzone{position:fixed;inset:0 auto 0 0;width:14px;box-shadow:inset 4px 0 0 var(--color-border);transition:box-shadow .14s ease;z-index:39}.sidebar-hotzone:hover{box-shadow:inset 4px 0 0 var(--color-action-primary)}.sidebar-edge-hint{position:absolute;top:50%;left:0;transform:translateY(-50%);width:15px;height:46px;display:grid;place-items:center;border:1px solid var(--color-border);border-left:0;border-radius:0 9px 9px 0;background:var(--color-surface);color:var(--color-text-muted);box-shadow:var(--shadow-sm);transition:color .14s ease,transform .14s ease}.sidebar-hotzone:hover .sidebar-edge-hint{color:var(--color-action-primary);transform:translateY(-50%) translate(2px)}.sidebar{position:fixed;top:0;left:0;width:var(--desktop-sidebar-width);height:100vh;padding:22px 16px 16px;display:flex;flex-direction:column;border-right:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-md);transform:translate(-105%);transition:transform .18s ease 0ms;z-index:40}.desktop-shell:not(.sidebar-pinned) .sidebar:not(.sidebar-visible){pointer-events:none}.desktop-shell.sidebar-pinned .sidebar,.sidebar.sidebar-visible{transform:translate(0);pointer-events:auto}.sidebar.sidebar-visible{transition:transform .18s ease .26s}.desktop-shell.sidebar-pinned .sidebar{transition:transform .18s ease 0ms}.sidebar-brand{min-height:72px;padding:3px 8px 26px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.sidebar-brand span{padding-left:52px;color:var(--color-text-muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sidebar-nav{display:flex;flex-direction:column;gap:6px}.nav-item svg{stroke-width:2.25}.nav-item{width:100%;min-height:46px;padding:0 12px;display:flex;align-items:center;gap:11px;border:0;border-radius:11px;color:var(--color-text-secondary);background:transparent;font-weight:700;text-align:left}.nav-item.active{color:var(--color-action-primary);background:var(--color-action-soft)}.nav-item:disabled{opacity:.56}.nav-item span{margin-left:auto;color:var(--color-text-muted);font-size:8px;font-weight:800;text-transform:uppercase}.sidebar-account{margin-top:auto;padding:12px 8px 0;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--color-border)}.sidebar-account-top{display:flex;align-items:center;justify-content:space-between}.account-avatar{position:relative;width:38px;height:38px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--color-action-border);border-radius:10px;background:var(--color-action-soft);color:var(--color-action-primary);font-weight:800}.account-avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.sidebar-account-identity{min-width:0;display:flex;flex-direction:column;gap:2px}.sidebar-account strong,.sidebar-account span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-account strong{font-size:12px}.sidebar-account span{color:var(--color-text-muted);font-size:10px}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(420px,.9fr)}.login-intro{position:relative;overflow:hidden;padding:clamp(36px,5vw,72px);display:flex;flex-direction:column;background:linear-gradient(145deg,var(--color-brand-blue-100) 0%,var(--color-canvas) 54%,var(--color-brand-blue-50) 100%)}.login-intro:after{content:"";position:absolute;width:460px;height:460px;right:-160px;top:-190px;border-radius:50%;background:var(--color-focus-ring)}.login-intro-copy{max-width:620px;margin:auto 0 48px;position:relative;z-index:1}.login-intro h1{margin:14px 0 22px;color:var(--color-text-strong);font-size:clamp(42px,5vw,68px);line-height:1.03;letter-spacing:-.05em}.login-intro-copy p{max-width:520px;color:var(--color-text-secondary);font-size:17px;line-height:1.7}.login-preview{width:min(680px,100%);min-height:230px;padding:16px;border:1px solid var(--color-surface-glass);border-radius:20px 20px 0 0;background:var(--color-surface-glass);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.preview-toolbar{width:38%;height:13px;margin-bottom:15px;border-radius:10px;background:var(--color-border-strong)}.preview-grid{display:grid;grid-template-columns:120px repeat(4,1fr);gap:5px}.preview-grid span{min-height:52px;border-radius:6px;background:var(--color-surface-subtle)}.preview-grid span:nth-child(5n+1){background:var(--color-border)}.preview-grid span.filled{background:var(--color-action-soft);border-left:4px solid var(--color-action-primary)}.login-panel{padding:48px clamp(36px,7vw,100px);display:grid;place-items:center;background:var(--color-surface)}.login-form{width:min(420px,100%);display:flex;flex-direction:column}.login-form h2{margin:10px 0 2px;font-size:34px;letter-spacing:-.035em}.field-label{margin:18px 0 8px;font-size:13px;font-weight:700}.input-shell{min-height:50px;padding:0 13px;display:flex;align-items:center;gap:10px;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface-muted);color:var(--color-text-muted)}.input-shell:focus-within{border-color:var(--color-action-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.input-shell input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--color-text-primary)}.input-action{flex:0 0 34px;width:34px;height:34px}.form-error{margin-top:18px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;border-radius:10px;color:var(--color-danger);background:var(--color-surface-danger);font-size:13px;line-height:1.45}.login-submit{width:100%;min-height:50px;margin:22px 0 18px}.login-form>.text-link{align-self:center;font-size:13px}.planning-main{min-width:0;min-height:0;height:100%;padding:12px 18px 18px;display:flex;flex-direction:column;overflow:hidden;background:var(--color-canvas)}.planning-main>.planner-toolbar,.planning-main>.planner-error,.planning-main>.planner-notice,.planning-main>.planning-header{flex:0 0 auto}.planning-main>.planner-stage{flex:1 1 auto;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden}.planner-stage .planner-card{flex:1 1 auto;min-height:0}.planning-header{display:flex;flex-direction:column;align-items:stretch;margin-bottom:10px}.planner-day-strip{width:100%;min-width:0;padding:8px 10px 10px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:var(--shadow-sm)}.planner-day-strip-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;cursor:grab;padding-bottom:2px}.planner-day-strip-scroll:active{cursor:grabbing}.planner-day-strip-track{display:flex;flex-direction:row;align-items:stretch;gap:0;min-width:min-content;padding-inline:4px}.planner-day-strip-month{flex:0 0 auto;display:flex;flex-direction:column;gap:5px;padding:0 12px 6px}.planner-day-strip-month+.planner-day-strip-month{margin-left:0;padding-left:16px;border-left:3px solid color-mix(in srgb,var(--color-text) 32%,var(--color-border))}.planner-day-strip-month-card{padding:1px 0 0;border-radius:10px}.planner-day-strip-month-a .planner-day-strip-month-card{background:color-mix(in srgb,var(--color-canvas) 88%,var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-border) 55%,transparent)}.planner-day-strip-month-b .planner-day-strip-month-card{background:color-mix(in srgb,var(--color-border) 52%,var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-text) 12%,var(--color-border))}.planner-day-strip-month-label{margin:0;color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.03em;padding-left:8px;text-transform:capitalize;white-space:nowrap}.planner-day-strip-days{display:flex;flex-direction:row;align-items:flex-end;gap:0}.planner-day-strip-week-slot{display:flex;flex-direction:row;align-items:flex-end;flex:0 0 auto}.planner-day-strip-week-divider{display:block;flex:0 0 3px;width:3px;align-self:stretch;min-height:48px;margin:0 6px 0 5px;border-radius:2px;background:color-mix(in srgb,var(--color-text) 38%,var(--color-border))}.planner-day-strip-week{flex:0 0 auto;display:flex;flex-direction:row;align-items:flex-end;gap:3px;margin:0;padding:4px 8px 6px;border:none;background:transparent;cursor:pointer;border-radius:8px}.planner-day-strip-week:focus-visible{outline:2px solid var(--color-action-primary);outline-offset:2px}.planner-day-strip-day{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:3px;width:24px;padding:0;pointer-events:none}.planner-day-strip-day-weekday{color:var(--color-text-muted);font-size:8px;font-weight:700;letter-spacing:.02em;line-height:1;text-transform:lowercase}.planner-day-strip-day-num{color:var(--color-text-muted);font-size:9px;font-weight:600;line-height:1}.planner-day-strip-capacity-slot{display:flex;width:8px;height:24px;align-items:flex-end;justify-content:center;overflow:hidden;border-radius:4px}.planner-day-strip-capacity-fill{display:block;width:7px;height:var(--capacity-height);min-height:2px;border-radius:4px 4px 2px 2px}.planner-day-strip-capacity-fill.capacity-available{background:var(--color-capacity-available)}.planner-day-strip-capacity-fill.capacity-steady{background:var(--color-capacity-steady)}.planner-day-strip-capacity-fill.capacity-busy{background:var(--color-capacity-busy)}.planner-day-strip-capacity-fill.capacity-full{background:var(--color-capacity-full)}.planner-day-strip-day-bar{display:block;width:7px;height:28px;border-radius:4px;background:color-mix(in srgb,var(--color-border) 70%,transparent)}.planner-day-strip-day.weekend .planner-day-strip-day-weekday,.planner-day-strip-day.weekend .planner-day-strip-day-num{color:var(--color-text-subtle)}.planner-day-strip-day.weekend .planner-day-strip-day-bar{background:color-mix(in srgb,var(--color-border) 45%,transparent)}.planner-day-strip-day.today .planner-day-strip-day-num{color:var(--color-action-primary);font-size:10px;font-weight:800}.planner-day-strip-day.today .planner-day-strip-day-bar{width:8px;height:30px;background:color-mix(in srgb,var(--color-action-primary) 42%,var(--color-surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--color-action-primary) 55%,transparent),0 0 12px color-mix(in srgb,var(--color-action-primary) 40%,transparent)}.planner-day-strip-week.in-view-week .planner-day-strip-day-weekday{color:color-mix(in srgb,var(--color-text) 65%,var(--color-text-muted))}.planner-day-strip-week.in-view-week .planner-day-strip-day-num{color:var(--color-text);font-weight:700}.planner-day-strip-week.in-view-week .planner-day-strip-day-bar{background:color-mix(in srgb,var(--color-action-primary) 55%,var(--color-surface))}.planner-day-strip-week.in-view-week .planner-day-strip-day.week-start .planner-day-strip-day-bar{border-top-left-radius:6px;border-bottom-left-radius:6px}.planner-day-strip-week.in-view-week .planner-day-strip-day.week-end .planner-day-strip-day-bar{border-top-right-radius:6px;border-bottom-right-radius:6px}.planner-day-strip-week.in-view-week .planner-day-strip-day.today .planner-day-strip-day-bar{background:var(--color-action-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-action-primary) 70%,var(--color-surface)),0 0 14px color-mix(in srgb,var(--color-action-primary) 55%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--color-text-on-action) 35%,transparent)}.planner-day-strip-week.in-view-week .planner-day-strip-day.weekend .planner-day-strip-day-weekday,.planner-day-strip-week.in-view-week .planner-day-strip-day.weekend .planner-day-strip-day-num{color:var(--color-text-subtle);opacity:.82}.planner-day-strip-week.in-view-week .planner-day-strip-day.weekend .planner-day-strip-day-bar{background:color-mix(in srgb,var(--color-action-primary) 28%,var(--color-surface));opacity:.72}.planner-day-strip-week.in-view-week .planner-day-strip-day.weekend.today .planner-day-strip-day-num,.planner-day-strip-week.in-view-week .planner-day-strip-day.weekend.today .planner-day-strip-day-weekday{color:var(--color-action-primary);opacity:.78}.planner-day-strip-week.in-view-week .planner-day-strip-day.weekend.today .planner-day-strip-day-bar{background:color-mix(in srgb,var(--color-action-primary) 62%,var(--color-surface));opacity:.85;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-action-primary) 45%,transparent),0 0 8px color-mix(in srgb,var(--color-action-primary) 28%,transparent)}@media (hover: hover){.planner-day-strip-week.preview-week:not(.in-view-week) .planner-day-strip-day-num{color:color-mix(in srgb,var(--color-text) 55%,var(--color-text-muted));font-weight:600}.planner-day-strip-week.preview-week:not(.in-view-week) .planner-day-strip-day-bar{background:color-mix(in srgb,var(--color-action-primary) 22%,var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-action-primary) 26%,transparent);transition:background-color .12s ease,box-shadow .12s ease}.planner-day-strip-week.preview-week:not(.in-view-week) .planner-day-strip-day.preview-week-start .planner-day-strip-day-bar{border-top-left-radius:6px;border-bottom-left-radius:6px}.planner-day-strip-week.preview-week:not(.in-view-week) .planner-day-strip-day.preview-week-end .planner-day-strip-day-bar{border-top-right-radius:6px;border-bottom-right-radius:6px}.planner-day-strip-week.preview-week:not(.in-view-week) .planner-day-strip-day.today .planner-day-strip-day-num{color:var(--color-action-primary);opacity:.92}.planner-day-strip-week.preview-week:not(.in-view-week) .planner-day-strip-day.today .planner-day-strip-day-bar{background:color-mix(in srgb,var(--color-action-primary) 32%,var(--color-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-action-primary) 40%,transparent),0 0 8px color-mix(in srgb,var(--color-action-primary) 22%,transparent)}.planner-day-strip-week.preview-week:not(.in-view-week) .planner-day-strip-day.weekend .planner-day-strip-day-weekday{color:color-mix(in srgb,var(--color-text) 55%,var(--color-text-muted))}}.planner-toolbar{min-height:58px;margin-bottom:14px;padding:8px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:var(--shadow-sm)}.planner-toolbar-actions{grid-column:3;min-width:0;justify-self:end;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.week-range-nav{grid-column:2;justify-self:center;display:grid;grid-template-columns:38px var(--week-range-label-width, 13.75rem) 38px;align-items:center;column-gap:10px}.week-range{grid-column:2;width:100%;margin:0;text-align:center;font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-range-nav .icon-button.bordered{flex-shrink:0}.week-range-nav .icon-button.bordered:first-child{grid-column:1}.week-range-nav .icon-button.bordered:last-child{grid-column:3}.timeline-window-control{position:relative}.timeline-window-trigger{min-width:148px;white-space:nowrap}.timeline-window-popover{position:absolute;top:calc(100% + 8px);right:0;width:330px;padding:16px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);z-index:40}.timeline-window-popover>header,.timeline-window-popover>footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.timeline-window-popover>header>div{display:flex;flex-direction:column;gap:3px}.timeline-window-popover header span{color:var(--color-text-muted);font-size:10px}.timeline-window-popover>footer{padding-top:12px;border-top:1px solid var(--color-border)}.hour-stepper{display:flex;align-items:center;justify-content:space-between;gap:16px}.hour-stepper>span{color:var(--color-text-secondary);font-size:12px}.hour-stepper>div{display:grid;grid-template-columns:32px 72px 32px;align-items:center;border:1px solid var(--color-border);border-radius:10px}.hour-stepper .icon-button{width:32px;height:32px}.hour-stepper .icon-button:disabled{opacity:.34;cursor:not-allowed}.hour-stepper .icon-button:disabled:hover{background:transparent}.hour-stepper strong{text-align:center;font-size:12px}.toggle-control{width:38px;height:22px;flex:0 0 38px;padding:3px;border-radius:999px;background:var(--color-border-strong);transition:background-color .14s ease}.toggle-control span{display:block;width:16px;height:16px;border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-sm);transition:transform .14s ease}.weekend-toggle-inline{position:relative;min-height:38px;padding:0 12px;display:flex;align-items:center;gap:8px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-secondary);font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}.weekend-toggle-inline input{position:absolute;width:1px;height:1px;opacity:0}.weekend-toggle-inline input:checked+.toggle-control{background:var(--color-action-primary)}.weekend-toggle-inline input:checked+.toggle-control span{transform:translate(16px)}.weekend-toggle-inline input:focus-visible+.toggle-control{outline:3px solid var(--color-focus-ring);outline-offset:2px}.weekend-toggle-inline:has(input:disabled){opacity:.6;cursor:default}.zoom-control{display:grid;grid-template-columns:34px 34px;border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background:var(--color-surface)}.zoom-control .icon-button{width:34px;height:38px;border-radius:0}.zoom-control .icon-button+.icon-button{border-left:1px solid var(--color-border)}.zoom-control .icon-button:disabled{opacity:.28;color:var(--color-text-subtle);cursor:not-allowed}.zoom-control .icon-button:disabled:hover{background:transparent}.planner-error{margin-bottom:12px;padding:10px 12px 10px 15px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--color-danger-border);border-radius:12px;background:var(--color-surface-danger);color:var(--color-danger);font-size:13px}.planner-notice{margin-bottom:12px;padding:11px 14px;border:1px solid var(--color-action-border);border-radius:12px;background:var(--color-action-soft);color:var(--color-text-strong);font-size:12px;font-weight:600}.planner-week-surface{min-height:100%}.planner-week-surface.planner-week-transition-next{animation:planner-week-slide-in-next .32s cubic-bezier(.22,1,.36,1) both;will-change:transform,opacity}.planner-week-surface.planner-week-transition-prev{animation:planner-week-slide-in-prev .32s cubic-bezier(.22,1,.36,1) both;will-change:transform,opacity}@keyframes planner-week-slide-in-next{0%{opacity:.7;transform:translate3d(8%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes planner-week-slide-in-prev{0%{opacity:.7;transform:translate3d(-8%,0,0)}to{opacity:1;transform:translateZ(0)}}@media (prefers-reduced-motion: reduce){.planner-week-surface.planner-week-transition-next,.planner-week-surface.planner-week-transition-prev{animation:none;will-change:auto}}.planner-card{--member-column-width: 92px;position:relative;min-height:0;border:1px solid var(--color-border);border-radius:16px;overflow:auto;background:var(--color-surface-subtle);box-shadow:var(--shadow-sm)}.planner-grid{--day-count: 7;--hour-width: 32px;--day-width: 384px;--planner-row-gap: 10px;display:grid;align-items:stretch}.planner-grid.planner-grid--fit{width:100%;grid-template-columns:var(--member-column-width) repeat(var(--day-count),minmax(0,1fr))}.planner-grid.planner-grid--scroll{width:max-content;grid-template-columns:var(--member-column-width) repeat(var(--day-count),var(--day-width))}.planner-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;align-items:stretch;margin-top:var(--planner-row-gap);border-radius:12px;overflow:visible;background:var(--color-surface);box-shadow:var(--shadow-planner-row);z-index:0}.planner-row+.planner-row{margin-top:0}.planner-row:not(:last-child){margin-bottom:var(--planner-row-gap)}.planner-row-dragging{z-index:8;box-shadow:var(--shadow-planner-row-dragging)}.planner-row-sortable-placeholder{opacity:.45;box-shadow:none;background:var(--color-surface-muted)}.planner-row-sortable-placeholder *{pointer-events:none}@media (prefers-reduced-motion: no-preference){.planner-row-sortable-placeholder{transition:none}}.planner-member-row-drag-overlay{width:var(--member-column-width, 92px);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-planner-row-dragging);cursor:grabbing}.planner-member-row-drag-overlay .member-row-drag-handle{cursor:grabbing}@media (prefers-reduced-motion: no-preference){.planner-row{transition:transform .22s cubic-bezier(.22,1,.36,1)}}.grid-corner,.day-header{position:sticky;top:0;z-index:12;min-height:66px;border-bottom:2px solid var(--color-border-strong)}.grid-corner{padding:6px 8px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;border-right:2px solid var(--color-border-strong);background:var(--color-planner-rail);color:var(--color-text-secondary)}.grid-corner-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.grid-corner-layout-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-secondary);font-size:10px;font-weight:700;letter-spacing:0;text-transform:none;cursor:pointer}.grid-corner-layout-button:hover{border-color:var(--color-action-border);color:var(--color-action-primary)}.grid-corner-layout-button:focus-visible{outline:2px solid var(--color-action-primary);outline-offset:2px}.sticky-column{position:sticky;left:0;z-index:10}.grid-corner.sticky-column{z-index:15}.planner-task-drag-active .member-timeline-rail{pointer-events:none;z-index:2}.planner-task-drag-active .member-row-drag-handle{pointer-events:auto}.day-header{padding:9px 0 0;display:flex;flex-direction:column;border-left:2px solid var(--color-border-strong);overflow:hidden;background:var(--color-surface)}.day-header.day-col-alt:not(.today):not(.weekend){background:var(--color-planner-day-band)}.day-header-label{padding:0 10px;display:flex;align-items:baseline;gap:6px}.day-header-label span{color:var(--color-text-secondary);font-size:12px;font-weight:700;text-transform:capitalize}.day-header-label strong{font-size:20px;letter-spacing:-.04em}.day-header-label small{color:var(--color-text-muted);font-size:11px}.day-header-hours{margin-top:auto;display:flex;width:100%;border-top:1px solid var(--color-border)}.planner-grid--fit .day-header-hours span{flex:1 1 0;width:auto;min-width:0}.day-header-hours span{width:var(--hour-width);flex:0 0 var(--hour-width);padding:4px 2px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:var(--color-text-muted);font-size:10px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.day-header-hours span+span{border-left:1px solid var(--color-border)}.day-header.today{color:var(--color-action-primary);background:var(--color-surface-selected);box-shadow:inset 0 3px 0 var(--color-action-primary)}.day-header.weekend:not(.today){background:var(--color-planner-weekend-band)}.day-header.weekend:not(.today) .day-header-label span,.day-header.weekend:not(.today) .day-header-label strong,.day-header.weekend:not(.today) .day-header-label small{color:var(--color-text-subtle)}.member-timeline-rail{position:sticky;left:0;z-index:10;padding:8px 6px 10px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;align-self:stretch;height:100%;gap:4px;border-right:2px solid var(--color-border-strong);background:var(--color-planner-rail)}.member-row-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:22px;padding:0;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text-muted);cursor:grab}.member-row-drag-handle:active{cursor:grabbing}.member-row-drag-handle:focus-visible{outline:2px solid var(--color-action-primary);outline-offset:2px}.member-timeline-rail.row-alt{background:var(--color-planner-row-band)}.member-timeline-rail.unassigned{background:var(--color-surface-warning)}.member-timeline-rail.unassigned.row-alt{background:color-mix(in srgb,var(--color-surface-warning) 88%,var(--color-planner-row-band))}.member-avatar{position:relative;width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--color-action-border);border-radius:50%;color:var(--color-action-primary);background:var(--color-action-soft)}.member-avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.member-timeline-identity{width:100%;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.member-timeline-identity strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:11px;line-height:1.25;word-break:break-word}.member-timeline-identity span{color:var(--color-text-muted);font-size:9px;line-height:1.2}.timeline-day-column{min-width:0;display:flex;flex-direction:column;align-self:stretch;height:100%;border-left:2px solid var(--color-border-strong);background:var(--color-surface)}.timeline-day-column.day-col-alt:not(.today):not(.weekend){background:var(--color-planner-day-band)}.timeline-day-column.row-alt:not(.today):not(.weekend){background:var(--color-planner-row-band)}.timeline-day-column.day-col-alt.row-alt:not(.today):not(.weekend){background:color-mix(in srgb,var(--color-planner-day-band) 40%,var(--color-planner-row-band))}.timeline-day-column.today{background:var(--color-surface-selected)}.timeline-day-column.weekend:not(.today){background:var(--color-planner-weekend-band)}.timeline-day-column.weekend.row-alt:not(.today){background:color-mix(in srgb,var(--color-planner-weekend-band) 70%,var(--color-planner-row-band))}.timeline-allday-strip{flex:0 0 auto;padding:5px 6px;display:flex;flex-direction:column;gap:5px;border-bottom:1px solid var(--color-border);transition:background-color .12s ease,box-shadow .12s ease}.timeline-allday-strip.drag-over{background-color:var(--color-drop-target);box-shadow:inset 0 0 0 2px var(--color-action-primary)}.timeline-event.allday{position:relative;width:100%;height:44px;flex:0 0 44px;padding:6px 9px;gap:2px;justify-content:center}.timeline-event.allday>strong{font-size:12px;line-height:1.3}.timeline-event.allday>small{font-size:10px;line-height:1.3}.timeline-event.allday.quick-task{border-style:dashed;border-width:1px;background:color-mix(in srgb,var(--color-surface-muted, var(--color-surface)) 55%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent)}.timeline-event.allday.quick-task>strong{display:flex;align-items:center;gap:6px}.timeline-event.allday.quick-task>strong:before{content:"?";flex:0 0 auto;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;font-size:11px;font-weight:800;line-height:1;color:var(--color-text-secondary);background:color-mix(in srgb,currentColor 12%,var(--color-surface));border:1px dashed color-mix(in srgb,currentColor 35%,transparent)}.timeline-exceptions-chips{display:flex;align-items:center;gap:5px;overflow:hidden}.timeline-exceptions-chips>button{min-width:0;max-width:220px;padding:4px 10px;display:inline-flex;align-items:baseline;gap:6px;overflow:hidden;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);cursor:pointer}.timeline-exceptions-chips strong{flex:0 0 auto;color:var(--color-text-secondary);font-size:9px}.timeline-exceptions-chips button span{min-width:0;overflow:hidden;color:var(--color-text-secondary);font-size:9px;white-space:nowrap}.timeline-exceptions-chips>span{color:var(--color-text-muted);font-size:10px}.timeline-drop-zone{position:relative;flex:1 1 auto;width:100%;min-width:0;min-height:0;touch-action:pan-y;background-image:repeating-linear-gradient(to right,var(--color-grid-line-strong) 0,var(--color-grid-line-strong) 1px,transparent 1px,transparent var(--hour-width)),repeating-linear-gradient(to right,transparent 0,transparent calc(var(--hour-width) / 4 - 1px),var(--color-grid-line) calc(var(--hour-width) / 4 - 1px),var(--color-grid-line) calc(var(--hour-width) / 4));transition:background-color .12s ease,box-shadow .12s ease}.timeline-drop-zone.drag-over{background-color:var(--color-drop-target);box-shadow:inset 0 0 0 2px var(--color-action-primary)}.timeline-drop-zone.creating-task{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none}.timeline-create-selection{position:absolute;top:3px;bottom:3px;min-width:calc(var(--hour-width) / 2);border:2px solid var(--color-action-primary);border-radius:8px;background:var(--color-drop-target);box-shadow:var(--shadow-sm);pointer-events:none;z-index:5}.timeline-create-selection span{position:absolute;top:4px;left:5px;padding:3px 6px;border-radius:6px;background:var(--color-action-primary);color:var(--color-text-on-action);font-size:9px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.timeline-hover-indicator{position:absolute;top:0;bottom:0;width:calc(var(--hour-width) / 4);border-left:2px solid var(--color-action-primary);background:var(--color-drop-target);pointer-events:none;z-index:4}.timeline-hover-indicator span{position:absolute;top:3px;left:4px;padding:2px 6px;border-radius:6px;background:var(--color-text-strong);color:var(--color-text-on-action);font-size:9px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.timeline-event{position:absolute;min-width:0;padding:5px 7px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;overflow:visible;border:1px solid transparent;border-radius:8px;text-align:left;cursor:pointer;touch-action:none;z-index:2}.timeline-event:hover{border-color:currentColor;box-shadow:var(--shadow-sm);z-index:25}.timeline-event.selected{outline:2px solid currentColor;outline-offset:1px}.timeline-event.pending{outline:2px dashed currentColor;outline-offset:1px}.timeline-event.dragging{z-index:100;box-shadow:var(--shadow-md)}.timeline-event.dragging-source{pointer-events:none}.timeline-task-drag-overlay{cursor:grabbing;box-shadow:var(--shadow-md)}.timeline-event.completed{cursor:pointer;opacity:.58}.timeline-event>strong,.timeline-event>small{width:100%;overflow:hidden;white-space:nowrap}.timeline-event>strong{color:var(--color-text-primary);font-size:12px;line-height:1.35}.timeline-event>small{color:var(--color-text-secondary);font-size:10px;line-height:1.35}.timeline-event-popover{position:absolute;top:calc(100% + 6px);left:0;min-width:190px;max-width:260px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-text-secondary);font-size:11px;line-height:1.45;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 60ms ease,visibility 0s linear 60ms;z-index:30}.timeline-event-popover strong{color:var(--color-text-primary);font-size:12px}.timeline-event-popover-time{color:var(--color-action-primary);font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}.timeline-event-popover-muted{color:var(--color-text-muted);font-size:10px}.timeline-event:hover .timeline-event-popover,.timeline-event:focus-visible .timeline-event-popover{opacity:1;visibility:visible;transition:opacity 60ms ease,visibility 0s linear 0s}.planning-task-context-menu{position:fixed;z-index:90;display:grid;width:184px;padding:5px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-md)}.planning-task-context-menu button{display:flex;align-items:center;gap:9px;min-height:38px;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--color-text-primary);font:inherit;font-size:12px;font-weight:700;text-align:left;cursor:pointer}.planning-task-context-menu button:hover,.planning-task-context-menu button:focus-visible{background:var(--color-surface-subtle);outline:none}.planning-task-context-menu button.danger{color:var(--color-danger);background:var(--color-surface-danger)}.planning-task-context-menu button.danger:hover,.planning-task-context-menu button.danger:focus-visible{background:var(--color-surface-danger)}.planning-task-context-menu button:disabled{cursor:wait;opacity:.55}.timeline-event-drag-preview{position:absolute;top:calc(100% + 5px);left:0;padding:5px 9px;border-radius:7px;background:var(--color-text-strong);color:var(--color-text-on-action);font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;z-index:5}.task-blue{color:var(--color-task-blue);background:var(--color-task-blue-surface)}.task-yellow{color:var(--color-task-yellow);background:var(--color-task-yellow-surface)}.task-green{color:var(--color-task-green);background:var(--color-task-green-surface)}.task-gray{color:var(--color-task-gray);background:var(--color-task-gray-surface)}.task-navy{color:var(--color-task-navy);background:var(--color-task-navy-surface)}.task-orange{color:var(--color-task-orange);background:var(--color-task-orange-surface)}.task-red{color:var(--color-task-red);background:var(--color-task-red-surface)}.task-purple{color:var(--color-task-purple);background:var(--color-task-purple-surface)}.task-pink{color:var(--color-task-pink);background:var(--color-task-pink-surface)}.task-teal{color:var(--color-task-teal);background:var(--color-task-teal-surface)}.empty-planner{position:absolute;inset:66px 0 0 var(--member-column-width);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--color-text-secondary);background:var(--color-surface-scrim)}.empty-planner strong{color:var(--color-text-primary)}.empty-planner span{font-size:12px}.planner-loading{padding:18px}.skeleton{border-radius:8px;background:linear-gradient(100deg,var(--color-surface-subtle) 35%,var(--color-surface-muted) 50%,var(--color-surface-subtle) 65%);background-size:220% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{to{background-position-x:-220%}}.skeleton-header{width:100%;height:48px;margin-bottom:13px}.skeleton-row{display:grid;grid-template-columns:210px repeat(3,1fr);gap:12px;margin-bottom:12px}.skeleton-name,.skeleton-cell{height:46px}.skeleton-detail{height:120px}.planning-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:var(--color-scrim-drawer);z-index:40;cursor:default;animation:drawer-backdrop-in .18s ease-out}@keyframes drawer-backdrop-in{0%{opacity:0}}.planning-drawer-layer{position:fixed;top:0;right:0;height:100vh;display:flex;align-items:stretch;max-width:100vw;z-index:50;animation:drawer-in .18s ease-out}.planning-drawer{position:relative;width:min(560px,94vw);height:100%;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-drawer)}.planning-drawer-layer-with-leading .planning-drawer{width:min(560px,55vw)}@keyframes drawer-in{0%{transform:translate(35px);opacity:0}}.planning-drawer-header{flex:0 0 auto;padding:24px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--color-border)}.planning-drawer-header-main{min-width:0;flex:1 1 auto}.planning-drawer-header-tools{flex:0 0 auto;display:flex;align-items:center;gap:8px}.task-form-repeat-picker-trigger{position:relative}.task-form-repeat-picker-trigger>span{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;border:1px solid var(--color-surface);border-radius:999px;background:var(--color-action-primary);color:var(--color-text-on-action);font-size:9px;font-weight:800}.planning-drawer-header h2{margin:7px 0 0;font-size:24px;line-height:1.2;letter-spacing:-.03em}.task-assignee-menu{position:relative}.task-assignee-trigger{max-width:min(220px,42vw);min-height:40px;padding:4px 10px 4px 4px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface-subtle);color:var(--color-text-secondary);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.task-assignee-trigger.open,.task-assignee-trigger:hover{border-color:var(--color-action-primary);background:var(--color-action-soft);box-shadow:var(--shadow-sm)}.task-assignee-trigger-label{min-width:0;overflow:hidden;color:var(--color-text-primary);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.task-assignee-trigger svg{flex:0 0 auto;color:var(--color-text-muted);transition:transform .14s ease}.task-assignee-trigger.open svg{transform:rotate(180deg)}.task-assignee-trigger-avatars{position:relative;flex:0 0 auto;display:inline-flex;align-items:center}.task-assignee-count-badge{position:absolute;right:-6px;bottom:-4px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border:2px solid var(--color-surface);border-radius:999px;background:var(--color-action-primary);color:var(--color-text-on-action);font-size:9px;font-weight:800}.task-assignee-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:55;width:min(320px,88vw);max-height:min(360px,60vh);padding:10px;overflow-y:auto;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:var(--shadow-md)}.task-assignee-dropdown-title{display:block;padding:2px 6px 8px;color:var(--color-text-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.task-assignee-dropdown-section-title{display:block;padding:4px 6px 6px;color:var(--color-text-muted);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.task-assignee-dropdown-divider{height:1px;margin:6px 0;background:var(--color-border)}.task-assignee-dropdown-row{width:100%;min-height:48px;margin-bottom:4px;padding:6px 8px;display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:8px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left;cursor:pointer}.task-assignee-dropdown-row:hover{background:var(--color-surface-subtle)}.task-assignee-dropdown-row.selected{border-color:var(--color-action-border);background:var(--color-action-soft)}.task-assignee-dropdown-row-text{min-width:0;display:flex;flex-direction:column;gap:2px}.task-assignee-dropdown-row-text strong,.task-assignee-dropdown-row-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-assignee-dropdown-row-text strong{color:var(--color-text-primary);font-size:11px}.task-assignee-dropdown-row-text small{color:var(--color-text-muted);font-size:9px}.task-member-avatar-sm{width:28px;height:28px}.task-member-avatar-initials{color:var(--color-action-primary);font-size:10px;font-weight:800;letter-spacing:-.02em}.planning-drawer-body{min-height:0;padding:8px 28px 20px;flex:1 1 auto;overflow-y:auto}.planning-drawer-footer{flex:0 0 auto;min-height:72px;padding:14px 24px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px;border-top:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:10px}.planning-drawer-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.task-form-error{margin-top:18px;padding:11px 13px;border:1px solid var(--color-danger-border);border-radius:10px;background:var(--color-surface-danger);color:var(--color-danger);font-size:12px;line-height:1.45}.task-form-footer-error{margin-top:0}.task-form-section{padding:28px 0;display:flex;flex-direction:column;gap:16px}.task-form-section:first-child{padding-top:16px}.task-form-section+.task-form-section{border-top:1px solid color-mix(in srgb,var(--color-border) 90%,transparent)}.task-form-section:last-child{padding-bottom:32px}.task-form-section-heading{display:flex;align-items:flex-start;gap:10px}.task-form-section-heading-icon{flex:0 0 auto;margin-top:1px;color:var(--color-action-primary)}.task-form-section-heading>div{display:flex;flex-direction:column;gap:2px}.task-form-section-heading strong{color:var(--color-text-primary);font-size:14px}.task-form-section-heading span{color:var(--color-text-muted);font-size:10px}.task-field{display:flex;flex-direction:column;gap:7px}.task-field>span,.task-type-fieldset legend{color:var(--color-text-secondary);font-size:11px;font-weight:700}.task-field em{color:var(--color-text-muted);font-size:9px;font-style:normal;font-weight:500}.task-field input,.task-field textarea,.task-search-field input{width:100%;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;outline:none}.task-field input{min-height:42px;padding:0 12px}.task-field textarea{min-height:92px;padding:11px 12px;resize:vertical;line-height:1.5}.task-field input:focus,.task-field textarea:focus,.task-search-field:focus-within{border-color:var(--color-action-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.task-type-fieldset{margin:0;padding:0;border:0}.task-type-fieldset-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.planning-edit-icon-button{flex:0 0 auto;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;line-height:0;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-muted);color:var(--color-text-muted);cursor:pointer}.planning-edit-icon-button svg{display:block;flex-shrink:0}.planning-edit-icon-button:hover{border-color:var(--color-action-border);color:var(--color-action-primary);background:var(--color-action-soft)}.planning-edit-icon-button--active{border-color:var(--color-action-border);background:var(--color-action-soft);color:var(--color-action-primary)}.task-planning-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.task-type-options{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.task-type-option-trigger{--type-color: var(--color-text-muted);--type-surface: var(--color-surface-muted);position:relative;min-height:36px;padding:0 12px 0 10px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font-size:11px;font-weight:600;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease,color .14s ease}.task-type-option-trigger.task-blue{--type-color: var(--color-task-blue);--type-surface: var(--color-task-blue-surface)}.task-type-option-trigger.task-green{--type-color: var(--color-task-green);--type-surface: var(--color-task-green-surface)}.task-type-option-trigger.task-navy{--type-color: var(--color-task-navy);--type-surface: var(--color-task-navy-surface)}.task-type-option-trigger.task-red{--type-color: var(--color-task-red);--type-surface: var(--color-task-red-surface)}.task-type-option-trigger.task-pink{--type-color: var(--color-task-pink);--type-surface: var(--color-task-pink-surface)}.task-type-option-trigger.task-teal{--type-color: var(--color-task-teal);--type-surface: var(--color-task-teal-surface)}.task-type-option-trigger.task-yellow{--type-color: var(--color-task-yellow);--type-surface: var(--color-task-yellow-surface)}.task-type-option-trigger.task-orange{--type-color: var(--color-task-orange);--type-surface: var(--color-task-orange-surface)}.task-type-option-trigger.task-purple{--type-color: var(--color-task-purple);--type-surface: var(--color-task-purple-surface)}.task-type-option-trigger.task-gray{--type-color: var(--color-task-gray);--type-surface: var(--color-task-gray-surface)}.task-type-option-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--type-color);opacity:.88;transition:opacity .14s ease,box-shadow .14s ease,transform .14s ease}.task-type-option-trigger:not(.selected):hover{border-color:color-mix(in srgb,var(--type-color) 38%,var(--color-border-strong));background:color-mix(in srgb,var(--type-surface) 16%,var(--color-surface))}.task-type-option-trigger:not(.selected):hover .task-type-option-dot{opacity:1}.task-type-option-trigger:focus-visible{outline:none}.task-type-option-trigger:focus-visible:not(.selected){border-color:color-mix(in srgb,var(--type-color) 50%,var(--color-border-strong));box-shadow:0 0 0 3px color-mix(in srgb,var(--type-color) 16%,transparent)}.task-type-option-trigger.selected{color:var(--type-color);font-weight:700;background:var(--type-surface);border-color:color-mix(in srgb,var(--type-color) 62%,var(--color-border));box-shadow:0 0 0 2px color-mix(in srgb,var(--type-color) 24%,transparent),0 6px 22px color-mix(in srgb,var(--type-color) 30%,transparent)}.task-type-option-trigger.selected .task-type-option-dot{opacity:1;transform:scale(1.08);box-shadow:0 0 8px color-mix(in srgb,var(--type-color) 55%,transparent)}.task-search-field{min-height:42px;padding-left:11px;display:flex;align-items:center;gap:8px;border:1px solid var(--color-border-strong);border-radius:10px;color:var(--color-text-muted)}.task-search-field input{min-width:0;min-height:40px;padding:0 10px 0 0;border:0;box-shadow:none}.task-search-field input:focus{box-shadow:none}.task-title-autocomplete{--inline-autocomplete-padding-x: 12px}.task-client-picker{display:flex;flex-direction:column;gap:9px}.selected-client-card{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--color-action-border);border-radius:10px;background:var(--color-action-soft)}.selected-client-card>div{min-width:0;display:flex;flex-direction:column;gap:2px}.selected-client-card strong{font-size:12px}.selected-client-card span{overflow:hidden;color:var(--color-text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.selected-client-card button{border:0;background:transparent;color:var(--color-danger);cursor:pointer;font-size:10px;font-weight:700}.task-client-results{max-height:190px;overflow-y:auto;border:1px solid var(--color-border);border-radius:10px}.task-client-results>button{width:100%;min-height:48px;padding:8px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);text-align:left;cursor:pointer}.task-client-results>button:last-of-type{border-bottom:0}.task-client-results>button:hover,.task-client-results>button.selected{background:var(--color-action-soft)}.task-client-results button>span{min-width:0;display:flex;flex-direction:column;gap:2px}.task-client-results strong,.task-client-results small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-client-results strong{font-size:11px}.task-client-results small{color:var(--color-text-muted);font-size:9px}.task-client-skeleton{height:76px}.task-client-create{align-self:flex-start;min-height:32px;padding:0 9px;display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--color-action-primary);cursor:pointer;font-size:10px;font-weight:700}.task-location-picker{display:flex;flex-direction:column;gap:6px;border:0;padding:2px 0 0}.task-location-picker legend{margin-bottom:6px;display:flex;align-items:center;gap:6px;color:var(--color-text-muted);font-size:10px;font-weight:700}.task-location-picker label{min-height:48px;padding:8px 10px;display:flex;align-items:center;gap:9px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);cursor:pointer}.task-location-picker label.selected{border-color:var(--color-action-border);background:var(--color-action-soft)}.task-location-picker input{position:absolute;opacity:0;pointer-events:none}.task-location-picker label>span{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.task-location-picker strong{color:var(--color-text-primary);font-size:11px}.task-location-picker small{overflow:hidden;color:var(--color-text-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.task-location-picker label>svg{color:var(--color-action-primary)}.field-error{color:var(--color-danger)}.empty-field-state{display:block;padding:14px;color:var(--color-text-muted);font-size:11px}.task-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.task-time-fields.inactive{opacity:.5}.duration-presets{display:flex;flex-wrap:wrap;gap:6px}.duration-presets button{min-height:32px;padding:0 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font-size:10px;font-weight:700}.duration-presets button:hover:not(:disabled){border-color:var(--color-action-primary);color:var(--color-action-primary)}.duration-presets button:disabled{cursor:default;opacity:.45}.task-timing-toggles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.task-switch-row{position:relative;min-height:46px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-secondary);cursor:pointer;font-size:11px;font-weight:600}.task-switch-row input{position:absolute;width:1px;height:1px;opacity:0}.task-switch-row input:checked+.toggle-control{background:var(--color-action-primary)}.task-switch-row input:checked+.toggle-control span{transform:translate(16px)}.task-switch-row input:focus-visible+.toggle-control{outline:3px solid var(--color-focus-ring);outline-offset:2px}.task-member-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.task-member-option{position:relative;min-width:0;min-height:54px;padding:8px 10px;display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:8px;border:1px solid var(--color-border);border-radius:10px;cursor:pointer}.task-member-option.selected{border-color:var(--color-action-primary);background:var(--color-action-soft);color:var(--color-action-primary)}.task-member-option>input{position:absolute;width:1px;height:1px;opacity:0}.task-member-option>span:nth-of-type(2){min-width:0;display:flex;flex-direction:column;gap:2px}.task-member-option strong,.task-member-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-member-option strong{color:var(--color-text-primary);font-size:11px}.task-member-option small{color:var(--color-text-muted);font-size:9px}.task-member-avatar{width:30px;height:30px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:var(--color-surface-subtle);color:var(--color-action-primary)}.task-member-avatar img{width:100%;height:100%;object-fit:cover}.task-member-avatar .task-member-avatar-initials{width:100%;height:100%;display:grid;place-items:center}.planning-confirm-dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:var(--color-scrim-drawer);z-index:100}.planning-confirm-dialog{width:min(380px,100%);padding:22px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.planning-confirm-dialog-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--color-surface-danger);color:var(--color-danger)}.planning-confirm-dialog-copy strong{color:var(--color-text-strong);font-size:17px}.planning-confirm-dialog-copy p{margin:8px 0 0;color:var(--color-text-secondary);font-size:12px;line-height:1.55}.planning-confirm-dialog-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.task-planning-heading{flex-wrap:wrap;align-items:center}.task-planning-heading>div:nth-of-type(2){flex:1 1 160px}.task-planning-unknown-toggle{flex:1 1 220px;margin-left:auto}.task-planning-unknown-toggle .task-switch-row{min-height:38px;background:var(--color-surface)}.task-planning-card{padding:16px;display:flex;flex-direction:column;gap:16px;border:1px solid color-mix(in srgb,var(--color-border) 88%,transparent);border-radius:12px;background:var(--color-surface-subtle)}.task-planning-block{display:flex;flex-direction:column;gap:8px}.task-planning-row-label{color:var(--color-text-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.task-planning-datetime-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.planning-date-chip{width:52px;height:52px;flex:0 0 52px;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.planning-date-chip strong{color:var(--color-text-primary);font-size:16px;line-height:1}.planning-date-chip span{color:var(--color-text-muted);font-size:9px;font-weight:600;text-transform:lowercase}.planning-date-chip.today{border-color:var(--color-action-primary);background:var(--color-action-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-action-primary) 18%,transparent)}.planning-date-chip:hover{border-color:var(--color-action-primary);transform:translateY(-1px)}.time-quarter-select{position:relative;flex:1 1 120px;min-width:120px;min-height:52px;padding:0 36px 0 14px;display:flex;align-items:center;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);box-shadow:var(--shadow-sm);color:inherit;text-align:left;cursor:pointer;transition:border-color .12s ease,transform .12s ease}.time-quarter-select:not(:disabled):hover{border-color:var(--color-action-primary);transform:translateY(-1px)}.time-quarter-select-display{color:var(--color-text-primary);font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.time-quarter-select svg{position:absolute;right:12px;color:var(--color-text-muted);pointer-events:none}.time-quarter-select.inactive,.time-quarter-select:disabled{opacity:.55;cursor:not-allowed;transform:none}.time-quarter-select.inactive .time-quarter-select-display,.time-quarter-select:disabled .time-quarter-select-display{color:var(--color-text-muted)}.planning-settings-duration-list{display:flex;flex-direction:column;gap:8px}.planning-settings-duration-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-subtle);font-size:12px;font-weight:700}.planning-settings-reset{align-self:flex-start}.planning-settings-type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.planning-settings-type-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-subtle)}.planning-settings-type-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.planning-settings-type-visibility{width:100%;display:flex;justify-content:center;align-items:center}.planning-settings-type-chip{padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800}.planning-settings-visible-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-size:11px;font-weight:700}.planning-settings-label-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--color-text-muted)}.planning-settings-label-field input{min-height:38px;padding:0 10px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-text-primary);font-size:13px;font-weight:600}.planning-settings-color-row{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:var(--color-text-muted)}.planning-settings-color-options{display:flex;flex-wrap:wrap;gap:6px}.planning-settings-color-option{width:28px;height:28px;border:2px solid transparent;border-radius:999px;cursor:pointer}.planning-settings-color-option.selected{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-action-primary)}.planning-time-picker-dialog{width:min(360px,100%)}.planning-time-picker-preview{padding:10px 14px;text-align:center;border:1px solid var(--color-action-border);border-radius:12px;background:var(--color-action-soft);color:var(--color-action-primary);font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.planning-time-picker-panel{padding:12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.planning-time-picker-columns{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:10px}.planning-time-picker-column{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:6px}.planning-time-picker-column-label{width:100%;text-align:center;color:var(--color-text-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.planning-time-picker-list{width:100%;height:min(360px,62vh);display:flex;flex-direction:column;align-items:stretch;gap:2px;overflow-y:auto;padding:6px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-subtle)}.planning-time-picker-list:before,.planning-time-picker-list:after{content:"";flex:1 1 0;min-height:0;width:0}.planning-time-picker-list .planning-time-slot{flex:0 0 auto;width:100%;min-height:28px;padding:0 8px;font-size:14px;border-radius:8px}.planning-time-picker-list .planning-time-slot.selected{border-width:1px;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-action-primary) 28%,transparent),0 2px 8px color-mix(in srgb,var(--color-action-primary) 30%,transparent)}.planning-time-slot{display:grid;place-items:center;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.planning-time-slot:hover:not(.selected){border-color:var(--color-action-primary)}.planning-time-slot.selected{border-width:2px;border-color:var(--color-action-primary);background:var(--color-action-primary);color:var(--color-text-on-action);font-weight:800;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-action-primary) 30%,transparent),0 4px 12px color-mix(in srgb,var(--color-action-primary) 35%,transparent)}.planning-time-slot.selected:hover{filter:brightness(1.05)}.task-planning-duration{gap:8px}.duration-presets button.duration-preset-selected{border-color:var(--color-action-primary);background:var(--color-action-primary);color:var(--color-text-on-action);box-shadow:0 4px 14px color-mix(in srgb,var(--color-action-primary) 28%,transparent)}.task-planning-duration-badge{flex:1 1 100%;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-action-border);border-radius:8px;background:var(--color-action-soft);color:var(--color-action-primary);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.planning-date-dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:var(--color-scrim-drawer);z-index:80}.planning-date-dialog{width:min(420px,100%);padding:20px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.planning-date-dialog.planning-duration-presets-dialog{width:min(440px,100%);max-height:min(90vh,640px);overflow:auto}.planning-date-dialog.planning-task-types-dialog{width:min(1320px,calc(100vw - 40px));max-height:min(90vh,760px);padding:24px 28px 20px;gap:16px;overflow:auto}.planning-date-dialog.planning-task-types-dialog>strong{font-size:18px}.planning-task-types-dialog-tip{margin:-8px 0 0;color:var(--color-text-muted);font-size:11px;line-height:1.45}.planning-task-types-tip-swatch{display:inline-block;width:12px;height:12px;border:1px solid var(--color-border);border-radius:4px;vertical-align:-2px}.planning-date-dialog.planning-member-layout-dialog{width:min(480px,100%);max-height:min(90vh,640px);overflow:auto}.planning-member-layout-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.planning-member-layout-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-canvas)}.planning-member-layout-row-main{display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0}.planning-member-layout-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.planning-member-layout-row-main strong{font-size:14px}.planning-member-layout-row-main small{color:var(--color-text-muted);font-size:11px}.planning-member-layout-row-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.planning-task-types-dialog .planning-settings-type-grid{grid-template-columns:repeat(4,minmax(260px,1fr));align-items:stretch}.planning-task-types-dialog .planning-settings-type-card{min-height:0;padding:18px 16px;gap:14px}.planning-task-types-dialog .planning-settings-type-chip{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 12px;font-size:13px;text-align:center}.planning-task-types-dialog .planning-settings-label-field{font-size:12px}.planning-task-types-dialog .planning-settings-label-field input{min-height:44px;padding:0 12px;font-size:15px}.planning-task-types-dialog .planning-settings-color-row{font-size:12px}.planning-task-types-dialog .planning-settings-color-options{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;justify-items:center}.planning-task-types-dialog .planning-settings-color-option{width:34px;height:34px}.planning-task-types-dialog .planning-settings-type-card-head{width:100%;justify-content:center}.planning-date-dialog>p{margin:0;color:var(--color-text-secondary);font-size:12px;line-height:1.45}.planning-date-dialog-calendar{width:min(380px,100%)}.planning-date-dialog-summary{margin:0;display:flex;flex-direction:column;gap:6px;color:var(--color-text-secondary);font-size:12px}.planning-date-range-label{font-weight:700;color:var(--color-text-primary);font-size:13px;line-height:1.45}.planning-date-span-badge{margin-right:8px;padding:2px 8px;display:inline-flex;align-items:center;border-radius:999px;background:var(--color-action-soft);color:var(--color-action-primary);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.planning-range-calendar{margin-top:4px;padding:12px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}.planning-range-calendar-header{margin-bottom:10px;display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px}.planning-range-calendar-header strong{text-align:center;font-size:14px;text-transform:capitalize}.planning-range-calendar-nav{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-subtle);color:var(--color-text-secondary);cursor:pointer}.planning-range-calendar-nav:hover{border-color:var(--color-action-primary);color:var(--color-action-primary)}.planning-range-calendar-weekdays{margin-bottom:6px;display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.planning-range-calendar-weekdays span{text-align:center;color:var(--color-text-muted);font-size:10px;font-weight:700;text-transform:uppercase}.planning-range-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.planning-cal-day{aspect-ratio:1;min-height:40px;padding:0;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-primary);font-size:13px;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.planning-cal-day.outside:not(.in-range):not(.range-start):not(.range-end){opacity:.45;color:var(--color-text-muted)}.planning-cal-day.outside.in-range,.planning-cal-day.outside.range-start,.planning-cal-day.outside.range-end{opacity:1}.planning-cal-day.weekend:not(.range-start):not(.range-end):not(.in-range){background:var(--color-planner-weekend-band);border-color:var(--color-border)}.planning-cal-day.today:not(.range-start):not(.range-end):not(.in-range){border-color:var(--color-action-primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-action-primary) 35%,transparent)}.planning-cal-day.in-range{border-color:color-mix(in srgb,var(--color-action-primary) 35%,transparent);border-radius:4px;background:color-mix(in srgb,var(--color-action-primary) 28%,var(--color-surface));color:var(--color-action-primary);font-weight:700}.planning-cal-day.range-start,.planning-cal-day.range-end{border-width:2px;border-color:var(--color-action-primary);background:var(--color-action-primary);color:var(--color-text-on-action);font-weight:800;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-action-primary) 30%,transparent),0 4px 12px color-mix(in srgb,var(--color-action-primary) 35%,transparent)}.planning-cal-day.range-start{border-top-right-radius:4px;border-bottom-right-radius:4px}.planning-cal-day.range-end{border-top-left-radius:4px;border-bottom-left-radius:4px}.planning-cal-day.range-start.range-end{border-radius:10px}.planning-cal-day.in-range.weekend{background:color-mix(in srgb,var(--color-action-primary) 32%,var(--color-planner-weekend-band))}.planning-cal-day:hover:not(.range-start):not(.range-end){transform:scale(1.03);border-color:var(--color-action-primary)}.planning-cal-day.range-start:hover,.planning-cal-day.range-end:hover{filter:brightness(1.05)}.planning-date-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.task-customer-mails{display:grid;gap:10px}.task-customer-mails-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.task-customer-mails-heading strong{color:var(--color-text-primary);font-size:12px}.task-customer-mails-heading span{color:var(--color-text-muted);font-size:10px}.task-customer-mails-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.task-customer-mail-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:0;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer}.task-customer-mail-card:hover{border-color:var(--color-action-border)}.task-customer-mail-card.disabled{background:var(--color-surface-muted);cursor:default}.task-customer-mail-icon{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;color:var(--color-action-primary);background:var(--color-action-soft)}.task-customer-mail-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.task-customer-mail-copy strong{color:var(--color-text-primary);font-size:11px;font-weight:700;line-height:1.25}.task-customer-mail-subtitle{color:var(--color-text-secondary);font-size:10px;line-height:1.25}.task-customer-mail-copy small{color:var(--color-text-muted);font-size:10px;line-height:1.3}.task-customer-mail-card input{position:absolute;width:1px;height:1px;opacity:0}.task-customer-mail-card input:checked+.toggle-control{background:var(--color-action-primary)}.task-customer-mail-card input:checked+.toggle-control span{transform:translate(16px)}.task-customer-mail-card input:focus-visible+.toggle-control{outline:3px solid var(--color-focus-ring);outline-offset:2px}.task-customer-mail-card input:disabled+.toggle-control{opacity:.5}.repeat-toolbar-button{gap:7px;white-space:nowrap}.repeat-toolbar-count{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:11px;font-weight:700}.repeat-task-section .task-form-section-heading span{display:block;margin-top:2px}.repeat-interval-options{display:flex;flex-wrap:wrap;gap:8px}.repeat-interval-options button{min-height:34px;padding:7px 11px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-secondary);font:inherit;font-size:12px;cursor:pointer}.repeat-interval-options button:hover:not(:disabled),.repeat-interval-options button.selected{border-color:var(--color-action-border);background:var(--color-action-soft);color:var(--color-action-primary)}.repeat-interval-options button:disabled{cursor:default;opacity:.55}.repeat-custom-interval>div{display:flex;align-items:center;gap:9px}.repeat-custom-interval input{width:112px}.repeat-custom-interval>div>span,.repeat-task-hint{color:var(--color-text-muted);font-size:12px}.repeat-task-error{margin:0;color:var(--color-danger);font-size:12px}.repeat-reminders-drawer{transition:transform .18s ease,opacity .14s ease}.repeat-drawer-dragging{pointer-events:none;opacity:0}.planning-drawer.repeat-drawer-dragging{transform:translate(104%)}.planning-drawer-leading-panel{width:min(480px,45vw);height:100%;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-drawer)}.repeat-reminders-picker-panel{border-right:1px solid var(--color-border)}.repeat-search-field{position:sticky;top:0;z-index:2;margin:0 -12px;background:var(--color-surface)}.repeat-drawer-state{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px;text-align:center;color:var(--color-text-muted)}.repeat-drawer-state strong{color:var(--color-text-primary)}.repeat-drawer-action-error{margin:6px 0 12px;padding:10px 12px;border:1px solid var(--color-danger-border);border-radius:var(--radius-md);background:var(--color-surface-danger);color:var(--color-danger);font-size:12px}.repeat-reminder-groups{display:grid;gap:24px;padding:8px 0 18px}.repeat-reminder-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.repeat-reminder-group>header>div{display:flex;flex-direction:column;gap:2px}.repeat-reminder-group>header strong{color:var(--color-text-primary);font-size:13px}.repeat-reminder-group>header span{color:var(--color-text-muted);font-size:10px}.repeat-reminder-group>header b{min-width:23px;height:23px;display:grid;place-items:center;border-radius:999px;background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:10px}.repeat-reminder-list{display:grid;gap:10px}.repeat-queue-card{--repeat-urgency-color: var(--color-capacity-available);--repeat-urgency-surface: color-mix(in srgb, var(--color-capacity-available) 10%, var(--color-surface));position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.repeat-queue-card:hover,.repeat-queue-card.expanded{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.repeat-queue-card.dragging-source{opacity:.32}.repeat-urgency-overdue,.repeat-urgency-red{--repeat-urgency-color: var(--color-danger);--repeat-urgency-surface: var(--color-surface-danger)}.repeat-urgency-orange{--repeat-urgency-color: var(--color-warning);--repeat-urgency-surface: var(--color-surface-warning)}.repeat-queue-accent{position:absolute;inset:0 auto 0 0;width:4px;background:currentColor}.repeat-queue-card-header{width:100%;min-height:72px;padding:13px 13px 13px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.repeat-card-drag-handle{cursor:grab;touch-action:none}.repeat-card-drag-handle:active{cursor:grabbing}.repeat-card-select-trigger:disabled{cursor:wait}.repeat-card-drag-icon{flex:0 0 auto;color:var(--color-text-muted)}.repeat-queue-card-title{min-width:0;display:flex;flex-direction:column;gap:5px}.repeat-queue-card-title strong,.repeat-queue-card-title>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repeat-queue-card-title strong{color:var(--color-text-primary);font-size:13px;line-height:17px}.repeat-queue-card-title>span{display:flex;align-items:center;gap:5px;color:var(--color-text-muted);font-size:11px}.repeat-queue-card-meta{flex:0 0 auto;display:flex;align-items:center;gap:7px;color:var(--color-text-muted)}.repeat-queue-card.expanded .repeat-queue-card-meta>svg{transform:rotate(180deg)}.repeat-select-spinner{width:15px;height:15px}.repeat-countdown-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:var(--repeat-urgency-surface);color:var(--repeat-urgency-color);font-size:10px;font-weight:800}.repeat-countdown-chip i{width:6px;height:6px;border-radius:50%;background:var(--repeat-urgency-color)}.repeat-queue-card-details{padding:14px 13px 15px 17px;border-top:1px solid var(--color-border);background:var(--color-surface-muted)}.repeat-queue-card-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.repeat-queue-card-details dl>div:last-child{grid-column:1 / -1}.repeat-queue-card-details dt{color:var(--color-text-muted);font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.repeat-queue-card-details dd{margin:3px 0 0;color:var(--color-text-primary);font-size:11px;font-weight:650}.repeat-target-date-editor{margin-top:13px}.repeat-queue-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:14px}.repeat-queue-actions .button{min-height:38px;justify-content:center;gap:6px;padding-inline:10px;font-size:11px}.repeat-stop-button{grid-column:1 / -1;color:var(--color-danger)}.repeat-drag-hint{display:flex;align-items:center;gap:6px;margin:10px 0 0;color:var(--color-text-muted);font-size:10px}.repeat-drawer-cancel-button{align-self:center;min-width:120px;border-radius:999px}.repeat-drag-overlay{min-width:190px;min-height:48px}.repeat-drag-overlay small{font-size:10px}.repeat-drag-cancel-target{position:fixed;left:50%;bottom:26px;z-index:70;width:112px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;transform:translate(-50%);border:2px solid var(--color-danger-border);border-radius:50%;background:var(--color-surface-danger);color:var(--color-danger);box-shadow:var(--shadow-md);font-size:11px;font-weight:800}.repeat-drag-cancel-target.drag-over{transform:translate(-50%) scale(1.1);background:color-mix(in srgb,var(--color-danger) 16%,var(--color-surface))}.timeline-repeat-drop-preview{position:absolute;top:4px;z-index:8;min-width:36px;height:48px;display:flex;flex-direction:column;overflow:hidden;padding:6px 8px;border:1px dashed var(--color-action-primary);border-radius:var(--radius-sm);background:var(--color-action-soft);color:var(--color-action-primary);pointer-events:none}.timeline-repeat-drop-preview strong,.timeline-repeat-drop-preview small,.timeline-repeat-drop-preview span{overflow:hidden;font-size:9px;line-height:12px;text-overflow:ellipsis;white-space:nowrap}.timeline-repeat-drop-preview small,.timeline-repeat-drop-preview span{color:var(--color-text-secondary)}@media (max-width: 720px){.repeat-queue-actions,.repeat-queue-card-details dl{grid-template-columns:1fr}.repeat-queue-card-details dl>div:last-child{grid-column:auto}}@media (max-width: 860px){.planning-drawer-layer-with-leading .planning-drawer{display:none}.planning-drawer-leading-panel{width:min(560px,94vw)}}.clients-main{min-height:0;padding:12px 16px 16px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.clients-page-error,.client-detail-error{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--color-danger-border);border-radius:var(--radius-md);background:var(--color-surface-danger);color:var(--color-danger);font-size:13px;font-weight:700}.clients-page-error{max-width:1540px;width:100%;margin:0 auto;padding:10px 12px 10px 16px}.clients-workspace{min-height:0;max-width:1540px;width:100%;margin:0 auto;flex:1;display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}@media (max-width: 760px){.clients-main{padding:18px 12px;overflow:auto}.clients-workspace{min-height:720px;grid-template-columns:1fr;overflow:visible}}.clients-list-panel{min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--color-border);background:var(--color-surface-muted)}.clients-list-heading{padding:12px 16px 8px;display:flex;align-items:center;justify-content:space-between}.clients-list-heading strong{color:var(--color-text-strong);font-size:14px;font-weight:700;letter-spacing:-.02em}.clients-list-add{min-height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--color-action-border);border-radius:var(--radius-sm);background:var(--color-action-soft);color:var(--color-action-primary);cursor:pointer;font-size:10px;font-weight:700}.clients-list-add:hover{border-color:var(--color-action-primary)}.clients-search-field{height:42px;margin:0 16px 14px;padding:0 12px;display:flex;align-items:center;gap:9px;border:1px solid var(--color-border-strong);border-radius:11px;background:var(--color-surface);color:var(--color-text-muted)}.clients-search-field:focus-within{border-color:var(--color-action-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.clients-search-field input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--color-text-primary);font-size:12px}.clients-search-field input::placeholder{color:var(--color-text-subtle)}.clients-list{min-height:0;padding:0 9px 12px;flex:1;overflow-y:auto}.client-list-row{width:100%;min-height:66px;padding:9px 10px;display:flex;align-items:center;gap:11px;border:1px solid transparent;border-radius:12px;background:transparent;cursor:pointer;text-align:left;transition:background-color .12s ease,border-color .12s ease}.client-list-row:hover{background:var(--color-surface)}.client-list-row.selected{border-color:var(--color-action-border);background:var(--color-action-soft)}.client-list-avatar{width:39px;height:39px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);color:var(--color-action-primary);font-size:11px;font-weight:800}.client-list-row.selected .client-list-avatar{border-color:var(--color-action-border)}.client-list-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.client-list-copy strong,.client-list-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-list-copy strong{color:var(--color-text-primary);font-size:12px}.client-list-copy small{color:var(--color-text-muted);font-size:10px}.client-list-skeleton{min-height:66px;padding:11px;display:flex;align-items:center;gap:11px}.client-list-skeleton>.skeleton{width:39px;height:39px;flex:0 0 auto}.client-list-skeleton>div{width:100%;display:flex;flex-direction:column;gap:7px}.client-list-skeleton>div .skeleton:first-child{width:62%;height:11px}.client-list-skeleton>div .skeleton:last-child{width:86%;height:9px}.clients-list-empty{min-height:210px;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--color-text-muted);text-align:center}.clients-list-empty strong{color:var(--color-text-primary);font-size:13px}.clients-list-empty span{font-size:11px;line-height:1.5}@media (max-width: 760px){.clients-list-panel{max-height:330px;border-right:0;border-bottom:1px solid var(--color-border)}}.client-detail-panel{min-width:0;min-height:0;padding:8px 28px 32px;overflow-y:auto;background:var(--color-surface-subtle)}.client-detail-segment{padding:28px 0;display:flex;flex-direction:column;gap:16px}.client-detail-header+.client-detail-segment,.client-detail-segment+.client-detail-segment{border-top:1px solid color-mix(in srgb,var(--color-border) 90%,transparent)}.client-detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--color-text-muted);text-align:center}.client-detail-placeholder strong{color:var(--color-text-primary)}.client-detail-placeholder span{font-size:12px}.client-detail-header{margin:8px 0 0;padding:16px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.client-detail-header-main{min-width:0}.client-detail-header-actions{display:flex;align-items:center;gap:8px}.client-archive-button{min-height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-surface-danger);color:var(--color-danger);cursor:pointer;font-size:10px;font-weight:700}.client-archive-button:disabled{cursor:default;opacity:.55}.client-detail-header h2{margin:0 0 4px;color:var(--color-text-strong);font-size:clamp(20px,1.8vw,26px);line-height:1.15;letter-spacing:-.035em}.client-detail-header p{margin:0;color:var(--color-text-secondary);font-size:12px}.client-type-pill,.client-job-state{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-action-border);border-radius:999px;color:var(--color-action-primary);background:var(--color-action-soft);font-size:9px;font-weight:800;white-space:nowrap}.client-type-pill{min-height:27px;padding:0 10px}.client-fields-section{padding-inline:0;border:0;border-radius:0;background:transparent;box-shadow:none}.client-section-title,.client-jobs-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.client-section-title{margin-bottom:4px}.client-section-title h2,.client-jobs-heading h2{margin:0;color:var(--color-text-strong);font-size:15px}.client-fields-section .client-profile-editor{margin:0;padding:0;display:grid;gap:13px;border:0;border-radius:0;background:transparent}.client-fields-section .client-contact-editor{margin:0;padding:18px 0 0;border:0;border-top:1px solid color-mix(in srgb,var(--color-border) 72%,transparent);border-radius:0;background:transparent;box-shadow:none}.client-profile-type{margin:0;padding:0;display:flex;gap:8px;border:0}.client-profile-type legend{width:100%;margin-bottom:6px;color:var(--color-text-muted);font-size:10px;font-weight:700}.client-profile-type button{min-height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;font:inherit;font-size:10px;font-weight:750}.client-profile-type button.selected{border-color:var(--color-action-border);background:var(--color-action-soft);color:var(--color-action-primary)}.client-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.client-profile-fields label{min-width:0;display:grid;gap:5px}.client-profile-fields label>span{color:var(--color-text-muted);font-size:10px;font-weight:700}.client-profile-fields em{color:var(--color-action-primary);font-size:9px;font-style:normal}.client-profile-field-row{display:flex;gap:7px}.client-profile-field-row input{flex:1;min-width:0}.client-profile-fields input{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:12px}.client-profile-fields input:focus{border-color:var(--color-action-primary);outline:3px solid var(--color-focus-ring)}.client-field-revert{width:42px;min-height:42px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text-muted);cursor:pointer}.client-field-revert:hover{border-color:var(--color-action-border);color:var(--color-action-primary)}.client-jobs-section{min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.client-jobs-heading{min-height:54px;padding:0 14px;border-bottom:1px solid var(--color-border)}.client-jobs-heading>div{display:flex;align-items:center;gap:9px}.client-jobs-heading>span{min-width:25px;height:23px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:var(--color-surface-subtle);color:var(--color-text-muted);font-size:9px;font-weight:800}.client-jobs-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px}.client-jobs-icon.planned{color:var(--color-action-primary);background:var(--color-action-soft)}.client-jobs-icon.history{color:var(--color-text-secondary);background:var(--color-surface-subtle)}.client-jobs-list{padding:4px 12px 12px}.client-job-row{min-width:0;padding:13px 3px;display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid var(--color-border)}.client-job-type-mark{width:4px;min-height:48px;flex:0 0 auto;border-radius:999px}.client-job-type-mark.teal{background:var(--color-task-teal)}.client-job-type-mark.yellow{background:var(--color-task-yellow)}.client-job-type-mark.orange{background:var(--color-task-orange)}.client-job-type-mark.purple{background:var(--color-task-purple)}.client-job-type-mark.gray{background:var(--color-task-gray)}.client-job-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.client-job-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.client-job-title-row strong{min-width:0;overflow:hidden;color:var(--color-text-primary);font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.client-job-state{min-height:19px;padding:0 7px;font-size:8px}.client-job-copy>span{color:var(--color-text-secondary);font-size:10px;text-transform:capitalize}.client-job-copy>small{color:var(--color-text-muted);font-size:9px}.client-work-report-loading{color:var(--color-text-muted);font-size:9px}.client-work-report-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.client-work-report-actions button{min-height:28px;padding:0 9px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-action-border);border-radius:var(--radius-sm);background:var(--color-action-soft);color:var(--color-action-primary);cursor:pointer;font:inherit;font-size:9px;font-weight:750}.client-work-report-actions button:hover{border-color:var(--color-action-primary)}.client-jobs-more{width:100%;min-height:34px;margin-top:10px;font-size:10px}.client-jobs-empty{min-height:130px;padding:24px;display:grid;place-items:center;color:var(--color-text-muted);font-size:11px;text-align:center}.client-jobs-loading{display:grid;grid-template-columns:1fr 1fr;gap:14px}.client-jobs-loading .skeleton{height:210px}.client-detail-error{padding:12px 12px 12px 15px}.client-info-section{margin:0;overflow:visible;display:flex;flex-direction:column;gap:14px;border:0;border-radius:0;background:transparent;box-shadow:none}.client-info-list{display:flex;flex-direction:column;gap:10px;padding:0}.client-info-row{min-width:0;padding:14px 14px 13px;border:1px solid color-mix(in srgb,var(--color-border) 92%,transparent);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.client-info-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.client-info-row p{margin:10px 0 0;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--color-border) 68%,transparent);color:var(--color-text-secondary);font-size:11px;line-height:1.55;white-space:pre-wrap}.client-info-more{min-height:34px;margin-top:4px;font-size:10px}.client-info-loading{display:grid;grid-template-columns:1fr;gap:10px;padding:0}.client-info-loading .skeleton{height:92px}.client-info-error{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--color-danger);font-size:11px;font-weight:700}@media (max-width: 760px){.client-detail-panel{overflow:visible;padding:8px 16px 28px}.client-profile-fields,.client-jobs-loading{grid-template-columns:1fr}}.client-detail-tabs{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.client-tabs-list{padding:5px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border:1px solid color-mix(in srgb,var(--color-border) 92%,transparent);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.client-tabs-list button{min-width:0;min-height:42px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--color-text-secondary);cursor:pointer;font-size:11px;font-weight:700;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.client-tabs-list button:hover{background:var(--color-surface)}.client-tabs-list button.active{border-color:var(--color-action-border);background:var(--color-action-soft);color:var(--color-action-primary)}.client-tab-panel{min-height:250px;padding:16px 0 0;display:flex;flex-direction:column;gap:14px}.client-tab-panel>.client-jobs-section,.client-tab-panel>.client-info-section{margin:0;border:0;border-radius:0;box-shadow:none}.client-tab-panel .client-info-list,.client-tab-panel .client-jobs-list{padding-inline:0}.client-tab-panel .client-jobs-empty{min-height:210px}.client-tab-panel .client-jobs-loading{padding-top:4px}@media (max-width: 760px){.client-tabs-list button{padding-inline:7px;font-size:9px}.client-tabs-list button svg{display:none}}.client-location-section{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.client-detail-segment.client-location-section{padding-top:38px}.client-location-selector-row{display:flex;align-items:center;gap:8px}.client-location-selector{width:100%;min-height:72px;padding:13px 15px;display:flex;align-items:center;gap:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-primary);cursor:pointer;text-align:left;transition:border-color .12s ease,background-color .12s ease;flex:1}.client-location-selector-row>.client-location-preview-button{width:44px;height:72px;border-radius:var(--radius-md)}.client-location-selector:hover{border-color:var(--color-action-border);background:var(--color-action-soft)}.client-location-selector:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.client-location-selector-icon,.client-location-dialog-icon{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border-radius:10px;background:var(--color-action-soft);color:var(--color-action-primary)}.client-location-selector-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.client-location-selector-copy>span{color:var(--color-text-muted);font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.client-location-selector-copy strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.client-location-selector-copy small{overflow:hidden;color:var(--color-text-secondary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.client-location-primary-badge{padding:4px 8px;border:1px solid var(--color-action-border);border-radius:999px;background:var(--color-surface);color:var(--color-action-primary);font-size:8px;font-weight:800;text-transform:uppercase}.client-location-chevron{flex:0 0 auto;color:var(--color-text-muted)}.client-location-dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;padding:20px;display:grid;place-items:center;background:var(--color-scrim-drawer)}.client-location-dialog{width:min(520px,100%);max-height:min(88vh,680px);padding:20px;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.client-location-dialog>header{display:flex;align-items:flex-start;gap:12px}.client-location-dialog>header>div{min-width:0}.client-location-dialog>header strong{color:var(--color-text-strong);font-size:17px}.client-location-dialog>header p{margin:5px 0 0;color:var(--color-text-secondary);font-size:11px;line-height:1.5}.client-location-options{margin-top:17px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md)}.client-location-options>div{width:100%;min-height:62px;display:flex;align-items:center;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.client-location-options>div:last-child{border-bottom:0}.client-location-options>div:hover,.client-location-options>div.selected{background:var(--color-action-soft)}.client-location-options>div.selected{color:var(--color-action-primary)}.client-location-option-select{min-width:0;min-height:62px;padding:11px 8px 11px 13px;display:flex;align-items:center;gap:12px;flex:1;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.client-location-edit-button{width:38px;min-height:38px;margin-right:4px;flex:0 0 auto;align-self:center;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer}.client-location-edit-button:hover{border-color:var(--color-action-border);background:var(--color-action-soft);color:var(--color-action-primary)}.client-location-edit-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.client-location-delete-button{width:38px;min-height:38px;margin-right:4px;flex:0 0 auto;align-self:center;display:grid;place-items:center;border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-surface-danger);color:var(--color-danger);cursor:pointer}.client-location-delete-button:hover:not(:disabled){border-color:var(--color-danger);background:color-mix(in srgb,var(--color-surface-danger) 70%,var(--color-danger) 30%);color:var(--color-danger)}.client-location-delete-button:disabled{cursor:default;opacity:.55}.client-location-delete-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.client-location-options .client-location-preview-button{margin-right:13px}.client-location-option-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}.client-location-option-copy>span{display:flex;align-items:center;gap:8px}.client-location-option-copy strong{color:var(--color-text-primary);font-size:11px}.client-location-option-copy em{padding:3px 7px;border:1px solid var(--color-action-border);border-radius:999px;color:var(--color-action-primary);font-size:8px;font-style:normal;font-weight:800;text-transform:uppercase}.client-location-option-copy small{overflow:hidden;color:var(--color-text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.client-location-dialog-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:8px}.client-location-add-button{margin-right:auto;gap:6px}.client-location-form{margin-top:18px;display:grid;gap:12px}.client-location-form label{display:flex;flex-direction:column;gap:5px}.client-location-form label>span{color:var(--color-text-muted);font-size:10px;font-weight:700}.client-location-form input{width:100%;min-height:42px;padding:0 11px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:12px}.client-location-form input:focus{border-color:var(--color-action-primary);outline:3px solid var(--color-focus-ring)}.client-location-form-row{display:grid;grid-template-columns:minmax(100px,.6fr) minmax(0,1.4fr);gap:10px}.client-location-error{margin:0;padding:9px 11px;border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-surface-danger);color:var(--color-danger);font-size:10px;font-weight:700}@media (max-width: 560px){.client-location-dialog-layer{padding:12px}.client-location-dialog{padding:16px}.client-location-form-row{grid-template-columns:1fr}.client-location-dialog-actions{flex-wrap:wrap}.client-location-add-button{width:100%;margin-right:0}}.client-info-media-warning{margin:4px 0 8px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--color-danger-border);border-radius:9px;background:var(--color-surface-danger);color:var(--color-danger);font-size:10px;font-weight:700}.client-info-media-warning .text-link{padding:0;border:0;background:transparent;cursor:pointer;font-size:10px}.client-info-photo-grid{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:7px}.client-info-photo{position:relative;min-width:0;aspect-ratio:4 / 3;padding:0;display:grid;place-items:center;overflow:hidden;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-subtle);color:var(--color-text-muted);cursor:pointer}.client-info-photo img{width:100%;height:100%;object-fit:cover;transition:transform .16s ease}.client-info-photo:hover img{transform:scale(1.025)}.client-info-photo.unavailable{display:flex;flex-direction:column;gap:4px;cursor:default;font-size:8px}.client-info-files{margin-top:9px;display:grid;gap:6px}.client-info-file{min-width:0;min-height:48px;padding:7px 9px;display:flex;align-items:center;gap:9px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-muted);color:var(--color-text-secondary);text-decoration:none}.client-info-file:hover{border-color:var(--color-action-border);background:var(--color-action-soft)}.client-info-file:disabled{cursor:wait;opacity:.68}.client-info-file-icon{width:31px;height:31px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:var(--color-action-soft);color:var(--color-action-primary)}.client-info-file-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.client-info-file-copy strong,.client-info-file-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-info-file-copy strong{color:var(--color-text-primary);font-size:10px}.client-info-file-copy small{color:var(--color-text-muted);font-size:8px}.client-info-file-spinner{animation:spin .8s linear infinite}.client-photo-viewer{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:80}.client-photo-viewer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:var(--color-text-strong);cursor:zoom-out;opacity:.88}.client-photo-viewer-content{position:relative;max-width:min(1040px,calc(100vw - 64px));max-height:calc(100vh - 64px);padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);z-index:1}.client-photo-viewer-content img{display:block;max-width:100%;max-height:calc(100vh - 112px);border-radius:var(--radius-md);object-fit:contain}.client-photo-viewer-content>span{color:var(--color-text-muted);font-size:10px}.client-photo-viewer-close{position:absolute;top:18px;right:18px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);z-index:2}.client-info-composer{padding:16px;display:grid;gap:10px;border:1px solid color-mix(in srgb,var(--color-border) 92%,transparent);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.client-info-composer>label{color:var(--color-text-primary);font-size:11px;font-weight:800}.client-info-composer textarea,.client-info-edit textarea{width:100%;min-height:88px;resize:vertical;padding:10px 11px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:11px;line-height:1.5}.client-info-composer textarea:focus,.client-info-edit textarea:focus{border-color:var(--color-action-primary);outline:3px solid var(--color-focus-ring)}.client-info-composer textarea:disabled,.client-info-edit textarea:disabled{opacity:.65}.client-info-composer-actions,.client-info-composer-actions>div,.client-info-edit>div,.client-info-delete-confirm>div{display:flex;align-items:center;gap:7px}.client-info-composer-actions{justify-content:space-between}.client-info-composer-actions .button,.client-info-edit .button,.client-info-delete-confirm .button{min-height:34px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;font-size:10px}.client-info-pending{display:flex;flex-wrap:wrap;gap:6px}.client-info-pending>span{min-width:0;max-width:260px;min-height:30px;padding:0 4px 0 9px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-secondary);font-size:9px}.client-info-pending>span>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-info-pending button{width:23px;height:23px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--color-text-muted);cursor:pointer}.client-info-pending button:hover{background:var(--color-surface-subtle);color:var(--color-text-primary)}.client-info-composer-error{margin:0;color:var(--color-danger);font-size:10px;font-weight:700}.client-info-meta>.client-info-actor-meta{min-width:0;flex:1}.client-info-actor-meta{min-width:0;display:flex;align-items:center;gap:7px;color:var(--color-text-muted);font-size:9px;line-height:1.35}.client-info-row>.client-info-actor-meta{margin-top:10px}.client-info-actor-meta>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-info-actor-avatar{width:24px;height:24px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;border:1px solid var(--color-border);border-radius:50%;background:var(--color-action-soft);color:var(--color-action-primary);font-size:8px;font-weight:800}.client-info-actor-avatar img{width:100%;height:100%;display:block;object-fit:cover}.client-info-item-actions{display:flex;align-items:center;gap:4px}.client-info-item-actions .icon-button{width:29px;height:29px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted)}.client-info-item-actions .icon-button:hover:not(:disabled){border-color:var(--color-action-border);color:var(--color-action-primary)}.client-info-item-actions .client-info-delete-button:hover:not(:disabled){border-color:var(--color-danger-border);background:var(--color-surface-danger);color:var(--color-danger)}.client-info-edit{margin-top:9px;display:grid;gap:8px}.client-info-edit>div{justify-content:flex-end}.client-info-delete-confirm{margin-top:11px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);background:var(--color-surface-danger);color:var(--color-danger);font-size:10px;font-weight:700}@media (max-width: 760px){.client-info-composer-actions,.client-info-delete-confirm{align-items:stretch;flex-direction:column}.client-info-composer-actions>div{flex-wrap:wrap}.client-info-composer-actions>.button{justify-content:center}.client-info-delete-confirm>div{justify-content:flex-end}}@media (max-width: 980px){.login-page{grid-template-columns:1fr}.login-intro{display:none}.login-panel{min-height:100vh}.planning-main{padding-inline:18px}.planner-toolbar{grid-template-columns:1fr}.week-range-nav{grid-row:1;grid-column:1;justify-self:center}.planner-toolbar-actions{grid-row:2;grid-column:1;width:100%}}@media (max-width: 680px){.sidebar,.sidebar-hotzone{display:none}.desktop-shell.sidebar-pinned>main{margin-left:0}.planning-main{padding:18px 12px}.planner-toolbar{grid-template-columns:1fr}.week-range-nav{grid-column:1;justify-self:center;--week-range-label-width: min(13.75rem, calc(100vw - 7.5rem) );padding:3px 4px}.week-range{white-space:nowrap}.planner-toolbar-actions{flex-wrap:wrap;justify-self:stretch}.timeline-window-control,.timeline-window-trigger{width:100%}.timeline-window-popover{position:fixed;inset:auto 12px 12px;width:auto}.login-panel{padding-inline:24px}.planning-drawer{width:100vw;max-width:none}.planning-drawer-header,.planning-drawer-footer,.planning-drawer-body{padding-inline:18px}.task-member-options,.task-timing-toggles{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
