:root,[data-theme=light]{--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;font-family:var(--font-sans);line-height:1.5;font-weight:400;color-scheme:light;--bp-md: 768px;--bp-lg: 1024px;--container-md: 920px;--container-lg: 1180px;--container-xl: 1680px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--radius-card: 12px;--color-page: #ffffff;--color-page-alt: #fafafa;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-surface-muted: #f4f4f5;--color-surface-hover: #f4f4f5;--color-background-secondary: #f4f4f5;--color-text: #27272a;--color-text-secondary: #52525b;--color-text-muted: #71717a;--color-text-subtle: #a1a1aa;--color-border: #e4e4e7;--color-border-strong: #d4d4d8;--color-border-muted: #e4e4e7;--color-border-secondary: #d4d4d8;--color-border-hover: #d4d4d8;--color-text-faint: #71717a;--color-primary-bg: rgba(79, 70, 229, .08);--color-danger-bg: rgba(220, 38, 38, .075);--color-warning-bg: rgba(249, 115, 22, .075);--color-success: #16a34a;--color-primary: #4f46e5;--color-alert-job-title: var(--color-text);--color-primary-hover: #4338ca;--color-primary-muted: #3730a3;--color-on-primary: #ffffff;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-warning-badge: #f97316;--color-warning: var(--color-warning-badge);--color-tabbar-bg: #ffffff;--color-tabbar-border: #e4e4e7;--color-tab-inactive-bg: transparent;--color-tab-inactive-text: var(--color-text-secondary);--color-tab-border: transparent;--color-input-bg: #ffffff;--color-input-border: #e4e4e7;--color-input-readonly-bg: #fafafa;--color-overlay-backdrop: rgba(24, 24, 27, .45);--color-shadow-modal: rgba(24, 24, 27, .12);--color-topbar-bg: #ffffff;--color-topbar-border: #e4e4e7;--color-topbar-brand: var(--color-primary);--color-topbar-brand-muted: var(--color-text-muted);--color-muted-fill: #e4e4e7;--color-muted-fill-text: #27272a;--color-toggle-track: #e4e4e7;--color-toggle-track-active: #4f46e5;--color-link: #4f46e5;--color-error-bg: #fee2e2;--color-error-text: #b91c1c;--color-submit-disabled: #94a3b8;--color-success-bg: color-mix(in srgb, var(--color-success) 8%, var(--color-surface));--color-success-text: #15803d;--color-success-border: color-mix(in srgb, var(--color-success) 32%, var(--color-border));--color-info: #0284c7;--color-info-bg: color-mix(in srgb, var(--color-info) 8%, var(--color-surface));--color-info-text: #0369a1;--color-info-border: color-mix(in srgb, var(--color-info) 32%, var(--color-border));--color-primary-outline-border: color-mix(in srgb, var(--color-primary) 25%, transparent);--color-danger-outline-border: color-mix(in srgb, var(--color-danger) 30%, transparent);--color-success-outline-border: color-mix(in srgb, var(--color-success) 30%, transparent);--color-deliverable-uncheck-bg: rgba(15, 23, 42, .06);--color-banner-info-bg: #ecfeff;--color-banner-info-border: #99f6e4;--color-banner-info-title: #0f766e;--color-banner-info-accent: #0f766e;--color-toast-success: #16a34a;--color-toast-error: #dc2626;--color-toast-info: #4f46e5;--color-fab-scrim: rgba(24, 24, 27, .38);--color-primary-tint-bg: #eef2ff;--color-pending-badge-bg: #fef3c7;--color-pending-badge-text: #92400e;--color-mention-self: #c2410c;--color-mention-everyone: #6d28d9;--color-mention-chip-everyone-bg: #ede9fe;--color-mention-chip-everyone-text: #5b21b6;--color-mention-chip-self-bg: #ffedd5;--color-mention-chip-self-text: #9a3412;--color-mention-chip-other-bg: #eef2ff;--color-mention-chip-other-text: #4338ca;--color-mention-author-self-border: #fdba74;--color-mention-author-other-border: #c7d2fe;--color-comment-header: #6366f1;--color-amber-accent: #f59e0b;--color-staff-avatar-bg: #64748b;--color-staff-avatar-text: #f8fafc;--color-staff-avatar-ring: var(--color-surface);--color-camera-chrome-text: #e2e8f0;--color-disabled-button-bg: #cbd5e1;--color-activity-created-border: #fed7aa;--color-activity-created-bg: #fff7ed;--color-activity-completed-border: #bbf7d0;--color-activity-completed-bg: #f0fdf4;--color-assign-panel-border: #c7d2fe;--color-assign-panel-bg: #f5f5ff;--color-assign-panel-label: #4338ca;--color-select-highlight-bg: #eef2ff;--color-banner-warn-border: #fcd34d;--color-banner-warn-bg: #fffbeb;--color-banner-warn-text: #92400e;--color-priority-urgent-fg: #b91c1c;--color-priority-urgent-bg: #fee2e2;--color-priority-urgent-border: #fecaca;--color-priority-high-fg: #b91c1c;--color-priority-high-bg: #fee2e2;--color-priority-high-border: #fecaca;--color-priority-low-fg: #4338ca;--color-priority-low-bg: #eef2ff;--color-priority-low-border: #c7d2fe;--color-priority-normal-fg: #52525b;--color-priority-normal-bg: #f4f4f5;--color-priority-normal-border: #e4e4e7;--color-filter-chip-bg: transparent;--color-filter-chip-border: var(--color-border-muted);--color-filter-chip-active-bg: var(--color-primary-bg);--color-filter-chip-active-border: var(--color-primary);--color-filter-chip-active-text: var(--color-primary);color:var(--color-text);background-color:var(--color-page);--panel-border: 1px solid var(--color-border-muted);--panel-shadow: 0 1px 3px rgba(24, 24, 27, .06)}[data-theme=dark]{--font-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;font-family:var(--font-sans);line-height:1.5;font-weight:400;color-scheme:dark;--bp-md: 768px;--bp-lg: 1024px;--container-md: 920px;--container-lg: 1180px;--container-xl: 1680px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--radius-card: 12px;--color-page: #09090b;--color-page-alt: #0c0c0e;--color-surface: #18181b;--color-surface-elevated: #27272a;--color-surface-muted: #18181b;--color-surface-hover: #27272a;--color-background-secondary: #27272a;--color-text: #fafafa;--color-text-secondary: #a1a1aa;--color-text-muted: #71717a;--color-text-subtle: #52525b;--color-border: #27272a;--color-border-strong: #3f3f46;--color-border-muted: #27272a;--color-border-secondary: #3f3f46;--color-border-hover: #52525b;--color-text-faint: #71717a;--color-primary-bg: rgba(129, 140, 248, .14);--color-danger-bg: rgba(239, 68, 68, .12);--color-warning-bg: rgba(251, 191, 36, .1);--color-success: #4ade80;--color-primary: #818cf8;--color-alert-job-title: var(--color-text);--color-primary-hover: #a5b4fc;--color-primary-muted: #6366f1;--color-on-primary: #fafafa;--color-danger: #f87171;--color-danger-hover: #fca5a5;--color-warning-badge: #fbbf24;--color-warning: var(--color-warning-badge);--color-tabbar-bg: #18181b;--color-tabbar-border: #27272a;--color-tab-inactive-bg: transparent;--color-tab-inactive-text: #a1a1aa;--color-tab-border: transparent;--color-input-bg: #09090b;--color-input-border: #3f3f46;--color-input-readonly-bg: #18181b;--color-overlay-backdrop: rgba(0, 0, 0, .72);--color-shadow-modal: rgba(0, 0, 0, .55);--color-topbar-bg: #09090b;--color-topbar-border: rgba(255, 255, 255, .08);--color-topbar-brand: var(--color-primary);--color-topbar-brand-muted: var(--color-text-muted);--color-muted-fill: #3f3f46;--color-muted-fill-text: #fafafa;--color-toggle-track: #3f3f46;--color-toggle-track-active: #818cf8;--color-link: #a5b4fc;--color-error-bg: #450a0a;--color-error-text: #fca5a5;--color-submit-disabled: #64748b;--color-success-bg: color-mix(in srgb, var(--color-success) 11%, var(--color-surface));--color-success-text: #86efac;--color-success-border: color-mix(in srgb, var(--color-success) 40%, var(--color-border-strong));--color-info: #38bdf8;--color-info-bg: color-mix(in srgb, var(--color-info) 12%, var(--color-surface));--color-info-text: #7dd3fc;--color-info-border: color-mix(in srgb, var(--color-info) 40%, var(--color-border-strong));--color-primary-outline-border: color-mix(in srgb, var(--color-primary) 25%, transparent);--color-danger-outline-border: color-mix(in srgb, var(--color-danger) 30%, transparent);--color-success-outline-border: color-mix(in srgb, var(--color-success) 30%, transparent);--color-deliverable-uncheck-bg: rgba(255, 255, 255, .05);--color-banner-info-bg: #0c1f1e;--color-banner-info-border: #134e4a;--color-banner-info-title: #5eead4;--color-banner-info-accent: #5eead4;--color-toast-success: #22c55e;--color-toast-error: #ef4444;--color-toast-info: #818cf8;--color-fab-scrim: rgba(0, 0, 0, .65);--color-primary-tint-bg: rgba(99, 102, 241, .18);--color-pending-badge-bg: #422006;--color-pending-badge-text: #fcd34d;--color-mention-self: #fb923c;--color-mention-everyone: #c4b5fd;--color-mention-chip-everyone-bg: #2e1065;--color-mention-chip-everyone-text: #e9d5ff;--color-mention-chip-self-bg: #431407;--color-mention-chip-self-text: #fdba74;--color-mention-chip-other-bg: rgba(79, 70, 229, .25);--color-mention-chip-other-text: #c7d2fe;--color-mention-author-self-border: #9a3412;--color-mention-author-other-border: #818cf8;--color-comment-header: #a5b4fc;--color-amber-accent: #fbbf24;--color-staff-avatar-bg: #3d4f66;--color-staff-avatar-text: #e8eef5;--color-staff-avatar-ring: var(--color-surface);--color-camera-chrome-text: #cbd5e1;--color-disabled-button-bg: #475569;--color-activity-created-border: #9a3412;--color-activity-created-bg: #431407;--color-activity-completed-border: #166534;--color-activity-completed-bg: #14532d;--color-assign-panel-border: #6366f1;--color-assign-panel-bg: rgba(99, 102, 241, .12);--color-assign-panel-label: #a5b4fc;--color-select-highlight-bg: rgba(99, 102, 241, .2);--color-banner-warn-border: #b45309;--color-banner-warn-bg: #422006;--color-banner-warn-text: #fcd34d;--color-priority-urgent-fg: #fca5a5;--color-priority-urgent-bg: #450a0a;--color-priority-urgent-border: #991b1b;--color-priority-high-fg: #fca5a5;--color-priority-high-bg: #450a0a;--color-priority-high-border: #991b1b;--color-priority-low-fg: #a5b4fc;--color-priority-low-bg: rgba(99, 102, 241, .12);--color-priority-low-border: #6366f1;--color-priority-normal-fg: #a1a1aa;--color-priority-normal-bg: #27272a;--color-priority-normal-border: #3f3f46;--color-filter-chip-bg: transparent;--color-filter-chip-border: rgba(255, 255, 255, .14);--color-filter-chip-active-bg: var(--color-primary-bg);--color-filter-chip-active-border: var(--color-primary);--color-filter-chip-active-text: var(--color-primary);color:var(--color-text);background-color:var(--color-page);--panel-border: 1px solid var(--color-border-strong);--panel-shadow: 0 1px 4px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}body{margin:0;padding:0;min-width:320px;min-height:100vh;font-family:var(--font-sans);background-color:var(--color-page);color:var(--color-text);-webkit-tap-highlight-color:transparent;touch-action:manipulation}h1,h2,h3{margin:0;font-weight:600}button{border-radius:8px;border:none;padding:12px 24px;font-size:16px;font-weight:500;font-family:inherit;cursor:pointer;transition:opacity .2s,transform .1s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:active{transform:scale(.98);opacity:.9}button:disabled{opacity:.6;cursor:not-allowed}input,textarea{font-family:inherit;font-size:16px}input:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:768px){body{font-size:16px}h1{font-size:24px}h2{font-size:20px}}:root[data-ui-preview=true][data-theme=light]{--color-tabbar-bg: var(--color-surface);--color-tabbar-border: var(--color-border);--color-list-card-accent-width: 3px;--color-alert-job-title: var(--color-text);--color-warning: #f97316;--color-status-overdue-fg: #dc2626;--color-status-soon-fg: var(--color-warning);--color-filter-chip-border: var(--color-border);--color-filter-chip-active-bg: rgba(79, 70, 229, .08);--color-filter-chip-active-border: var(--color-primary);--color-filter-chip-active-text: var(--color-primary);--font-size-list-id: 14px;--font-size-list-title: 14px;--font-size-list-meta: 11px;--panel-shadow: none;--radius-card: 10px}:root[data-ui-preview=true][data-theme=dark]{--color-page: #09090b;--color-page-alt: #09090b;--color-surface: #18181b;--color-surface-elevated: #18181b;--color-surface-muted: #18181b;--color-surface-hover: #27272a;--color-text: #fafafa;--color-text-secondary: #a1a1aa;--color-text-muted: #71717a;--color-text-subtle: #52525b;--color-border: rgba(255, 255, 255, .08);--color-border-strong: rgba(255, 255, 255, .12);--color-border-muted: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .16);--color-text-faint: #71717a;--color-primary-bg: rgba(129, 140, 248, .14);--color-danger-bg: rgba(248, 81, 73, .1);--color-warning-bg: rgba(251, 191, 36, .08);--color-success: #4ade80;--color-primary: #818cf8;--color-primary-hover: #a5b4fc;--color-primary-muted: #6366f1;--color-on-primary: #fafafa;--color-tabbar-bg: #18181b;--color-tabbar-border: rgba(255, 255, 255, .08);--color-tab-inactive-bg: transparent;--color-tab-inactive-text: #a1a1aa;--color-tab-border: transparent;--color-input-bg: rgba(255, 255, 255, .04);--color-input-border: rgba(255, 255, 255, .12);--color-topbar-bg: #09090b;--color-topbar-border: rgba(255, 255, 255, .08);--color-topbar-brand: var(--color-primary);--color-topbar-brand-muted: var(--color-text-muted);--color-danger: #f87171;--color-danger-hover: #fca5a5;--color-alert-job-title: var(--color-text);--color-list-card-accent-width: 3px;--color-status-overdue-fg: #f87171;--color-warning: #fbbf24;--color-status-soon-fg: var(--color-warning);--color-filter-chip-bg: transparent;--color-filter-chip-border: rgba(255, 255, 255, .12);--color-filter-chip-active-bg: rgba(129, 140, 248, .12);--color-filter-chip-active-border: #818cf8;--color-filter-chip-active-text: #a5b4fc;--font-size-list-id: 14px;--font-size-list-title: 14px;--font-size-list-meta: 11px;--panel-border: .5px solid rgba(255, 255, 255, .08);--panel-shadow: none;--radius-card: 10px;--color-staff-avatar-bg: #3f3f46;--color-staff-avatar-text: #e4e4e7}[class*=-modal-backdrop],.pwa-form-modal-backdrop,[class*=-sheet-backdrop],[class*=-preview-backdrop],.rn-overlay,.tsde-overlay{overflow:hidden;overscroll-behavior:none}[role=dialog][aria-modal=true],.sd-email-sheet-body,.sd-procore-modal,.pwa-attachment-preview-panel,.pwa-jobs-reminders-modal,.pwa-jobs-shop-draw-modal,.tsde-sheet,.rn-panel{overscroll-behavior:contain}.tsde-overlay{position:fixed;inset:0;z-index:1400;background:var(--color-overlay-backdrop);display:flex;align-items:flex-end;justify-content:center;padding:0;touch-action:manipulation;overscroll-behavior:none}@media(min-width:720px){.tsde-overlay{align-items:center;padding:12px}}.tsde-sheet{width:100%;max-width:720px;max-height:min(96dvh,920px);background:var(--color-surface);border-radius:14px 14px 0 0;border:1px solid var(--color-border-strong);box-shadow:0 -8px 32px var(--color-shadow-modal);display:flex;flex-direction:column;min-height:0;touch-action:auto}.tsde-sheet.tsde-sheet--marquee-gesture{touch-action:pan-y}@media(min-width:720px){.tsde-sheet{border-radius:14px;max-height:min(92dvh,900px)}}.tsde-head{flex-shrink:0;padding:12px 14px 10px;border-bottom:1px solid var(--color-border-muted);display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tsde-head-main{min-width:0;flex:1;display:flex;flex-direction:column;align-items:stretch}.tsde-date-stepper{display:flex;align-items:stretch;align-self:center;margin-top:10px;width:fit-content;max-width:100%;box-sizing:border-box;border-radius:12px;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);overflow:hidden}.tsde-date-stepper-btn{flex-shrink:0;width:42px;min-height:40px;padding:0;border:none;border-radius:0;background:color-mix(in srgb,var(--color-surface) 40%,transparent);color:var(--color-text);font-size:20px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.tsde-date-stepper-btn:first-of-type{border-right:1px solid var(--color-border-muted)}.tsde-date-stepper-btn:last-of-type{border-left:1px solid var(--color-border-muted)}.tsde-date-stepper-label{flex:0 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;padding:8px 14px;border:none;border-radius:0;background:transparent;color:var(--color-text);font-size:13px;font-weight:700;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsde-title{font-size:16px;font-weight:800;color:var(--color-text);margin:0;line-height:1.25}.tsde-sub{font-size:12px;color:var(--color-text-muted);margin:4px 0 0}.tsde-close{flex-shrink:0;border:none;background:var(--color-surface-muted);color:var(--color-text);width:40px;height:40px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}.tsde-body{flex:1;min-height:0;overflow:auto;padding:10px 14px 14px;display:flex;flex-direction:column;gap:12px}.tsde-drag-hint{margin:0;font-size:12px;color:var(--color-text-muted);line-height:1.45}.tsde-drag-hint-touch{display:none}.tsde-drag-hint-desktop{display:inline}@media(pointer:coarse){.tsde-drag-hint-desktop{display:none}.tsde-drag-hint-touch{display:inline}}.tsde-pickers-block{display:flex;flex-direction:column;gap:8px}.tsde-selected-pill{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--color-border-muted);background:color-mix(in srgb,var(--color-surface-muted) 92%,hsl(var(--tsde-entry-h) 50% 50%) 8%);min-width:0}.tsde-selected-pill--running{background:color-mix(in srgb,var(--color-surface-muted) 94%,var(--color-success) 6%)}.tsde-selected-pill-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:hsl(var(--tsde-entry-h) 52% 58%)}@media(prefers-color-scheme:dark){.tsde-selected-pill-dot{background:hsl(var(--tsde-entry-h) 48% 68%)}}[data-theme=dark] .tsde-selected-pill-dot{background:hsl(var(--tsde-entry-h) 48% 68%)}.tsde-selected-pill-dot--running{background:var(--color-success)}.tsde-selected-pill-name{flex:1;min-width:0;font-size:12px;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsde-selected-pill-dur{flex-shrink:0;font-size:11px;font-weight:700;color:var(--color-text-muted)}.tsde-pickers{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tsde-lunch-banner{display:flex;flex-direction:column;gap:4px;padding:10px 12px;margin-bottom:8px;border-radius:10px;border:1px dashed var(--color-border-muted);background:var(--color-surface-muted)}.tsde-lunch-banner-label{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--color-text-muted)}.tsde-lunch-banner-meta{font-size:11px;color:var(--color-text-faint);line-height:1.35}.tsde-lunch-detail-title{font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--color-text-muted);margin:0 0 4px}.tsde-field label{display:block;font-size:10px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.tsde-field input[type=text]{width:100%;box-sizing:border-box;min-height:28px;padding:4px 8px;border-radius:8px;border:1px solid var(--color-border-muted);font-size:12px;line-height:1.2;background:var(--color-surface);color:var(--color-text)}.tsde-dd-wrap{position:relative}.tsde-dd-list{position:absolute;left:0;right:0;top:100%;margin-top:4px;max-height:200px;overflow-y:auto;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);z-index:5;box-shadow:0 8px 22px #0000002e}.tsde-dd-item{width:100%;text-align:left;padding:8px 10px;border:none;border-bottom:1px solid var(--color-border-muted);background:var(--color-surface);font-size:12px;color:var(--color-text-secondary);cursor:pointer}.tsde-dd-item:hover{background:var(--color-surface-muted)}.tsde-timeline-wrap{border:1px solid var(--color-border-muted);border-radius:12px;overflow:hidden;background:var(--color-page);flex-shrink:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tsde-timeline-scroll{max-height:min(42dvh,420px);overflow:auto;touch-action:pan-y;scrollbar-width:none;-ms-overflow-style:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tsde-timeline-scroll::-webkit-scrollbar{display:none}.tsde-timeline-scroll.tsde-timeline-scroll--marquee-drag{overflow-y:hidden!important;touch-action:none!important;overscroll-behavior:contain}.tsde-timeline-inner{position:relative;display:flex;min-height:200px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tsde-hour-labels{flex-shrink:0;width:32px;position:relative;border-right:none;background:var(--color-surface);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tsde-hour-labels:after{content:"";position:absolute;top:0;bottom:0;right:3px;width:1px;background:color-mix(in srgb,var(--color-border-muted) 85%,transparent);pointer-events:none}.tsde-hour-tick{position:absolute;left:0;right:0;font-size:9px;font-weight:600;color:var(--color-text-muted);text-align:right;padding-right:10px;transform:translateY(-50%);pointer-events:none}.tsde-hour-tick:after{content:"";position:absolute;right:1px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--color-border-strong);transform:translate(50%,-50%);z-index:1}.tsde-track{flex:1;position:relative;min-width:0;background:color-mix(in srgb,var(--color-page) 88%,var(--color-border-muted));-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tsde-track--interact{cursor:crosshair;z-index:1;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tsde-track--marquee-touch-lock{touch-action:none!important}.tsde-marquee{position:absolute;left:4px;right:6px;box-sizing:border-box;border-radius:6px;background:color-mix(in srgb,var(--color-primary) 22%,transparent);border:1.5px dashed color-mix(in srgb,var(--color-primary) 50%,transparent);pointer-events:none;z-index:1}.tsde-grid-line{position:absolute;left:0;right:0;height:1px;background:color-mix(in srgb,var(--color-border-muted) 70%,transparent);pointer-events:none;z-index:0}.tsde-lunch-window{position:absolute;left:0;right:0;box-sizing:border-box;border-top:1px dashed color-mix(in srgb,var(--color-border-strong) 85%,transparent);border-bottom:1px dashed color-mix(in srgb,var(--color-border-strong) 85%,transparent);background:radial-gradient(circle,color-mix(in srgb,var(--color-border-strong) 45%,transparent) .8px,transparent 1px) 0 0 / 8px 8px,color-mix(in srgb,var(--color-surface-muted) 62%,transparent);pointer-events:none;z-index:1}.tsde-now-line{position:absolute;left:0;right:0;height:2px;background:var(--color-danger);z-index:20;pointer-events:none}.tsde-now-dot{position:absolute;left:3px;width:6px;height:6px;border-radius:50%;background:var(--color-danger);transform:translate(-50%,-50%);z-index:21;pointer-events:none}.tsde-block{position:absolute;left:4px;right:6px;border-radius:8px;min-height:4px;box-sizing:border-box;background:color-mix(in srgb,var(--color-surface-muted) 94%,var(--color-primary) 6%);border:1px solid var(--color-border-muted);border-left:3px solid var(--color-primary);color:var(--color-text);touch-action:pan-y;-webkit-user-select:none;user-select:none;z-index:2;padding:0;line-height:1.2;overflow:hidden}.tsde-block.tsde-block--running,.tsde-block.tsde-block--lunch:not(.tsde-block--running){touch-action:pan-y}.tsde-block-content{position:relative;z-index:0;touch-action:inherit;box-sizing:border-box;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;padding:6px;min-width:0}.tsde-block-zone,.tsde-block-zones,.tsde-block-zones--compact{touch-action:pan-y}.tsde-block--no-labels .tsde-block-content{padding:0;justify-content:center}.tsde-block--no-labels .tsde-block-title,.tsde-block--no-labels .tsde-block-meta{display:none}.tsde-block.tsde-block--tinted:not(.tsde-block--running){background:hsl(var(--tsde-entry-h) 52% 48% / .07);border:1px solid var(--color-border-muted);border-left:4px solid hsl(var(--tsde-entry-h) 54% 42%)}@media(prefers-color-scheme:dark){.tsde-block.tsde-block--tinted:not(.tsde-block--running){background:hsl(var(--tsde-entry-h) 46% 55% / .08);border-left:4px solid hsl(var(--tsde-entry-h) 52% 62%)}}[data-theme=dark] .tsde-block.tsde-block--tinted:not(.tsde-block--running){background:hsl(var(--tsde-entry-h) 46% 55% / .08);border-left:4px solid hsl(var(--tsde-entry-h) 52% 62%)}.tsde-block.tsde-block--lunch:not(.tsde-block--running):not(.is-selected){pointer-events:none}.tsde-block.tsde-block--lunch:not(.tsde-block--running){background:color-mix(in srgb,var(--color-surface-muted) 97%,transparent);border:1px solid var(--color-border-muted);border-left:4px dashed var(--color-text-muted)}.tsde-block.tsde-block--lunch.is-selected:not(.tsde-block--running){box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 40%,transparent)}.tsde-block.tsde-block--running{cursor:default;background:color-mix(in srgb,var(--color-surface-muted) 96%,var(--color-success) 5%);border:1px solid var(--color-border-muted);border-left:4px solid var(--color-success);animation:tsde-running-pulse 2.2s ease-in-out infinite}@keyframes tsde-running-pulse{0%,to{border-left-color:var(--color-success)}50%{border-left-color:color-mix(in srgb,var(--color-success) 65%,transparent)}}.tsde-block-title{font-size:11.5px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tsde-block-meta{font-size:10px;font-weight:600;color:var(--color-text-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tsde-block.is-selected:not(.tsde-block--running){z-index:3;overflow:visible;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 42%,transparent)}.tsde-block.tsde-block--tinted.is-selected:not(.tsde-block--running){overflow:visible;box-shadow:0 0 0 1px hsl(var(--tsde-entry-h) 54% 48% / .55)}.tsde-block.tsde-block--running.is-selected{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--color-primary) 55%,transparent)}.tsde-block.tsde-block--running:active{cursor:default}.tsde-block-zones{position:absolute;inset:0;z-index:4;pointer-events:auto}.tsde-block-zone{position:absolute;left:0;right:0;box-sizing:border-box;background:transparent}.tsde-block-zone--top{top:0;height:24px;cursor:ns-resize}.tsde-block-zone--mid{top:24px;bottom:24px;cursor:grab}.tsde-block-zone--bottom{bottom:0;height:24px;cursor:ns-resize}.tsde-block-zones--compact{position:absolute;inset:0;z-index:4;pointer-events:auto}.tsde-block-zones--running-start{position:absolute;inset:0;z-index:4;pointer-events:none}.tsde-block-zones--running-start .tsde-block-zone--top{pointer-events:auto}.tsde-block-zone--move-fill{inset:0 0 16px;height:auto;cursor:grab}.tsde-block-zone--bottom-compact{bottom:0;left:0;right:0;height:16px;cursor:ns-resize;z-index:5}.tsde-block:active .tsde-block-zone--mid,.tsde-block:active .tsde-block-zone--move-fill{cursor:grabbing}.tsde-block-handle-layer{position:absolute;inset:0;z-index:5;pointer-events:none}.tsde-block-handle{position:absolute;left:50%;transform:translate(-50%);width:32px;height:4px;border-radius:2px;background:#fff6;opacity:0;transition:opacity .14s ease;box-sizing:border-box}.tsde-block-handle--top{top:-2px}.tsde-block-handle--bottom{bottom:-2px}.tsde-block-handle--compact-wide{width:40px}.tsde-block.is-selected.tsde-block--handles-visible:not(.tsde-block--running) .tsde-block-handle{opacity:1}@media(hover:hover)and (pointer:fine){.tsde-block.is-selected:not(.tsde-block--handles-visible):not(.tsde-block--running):not(.tsde-block--compact):not(.tsde-block--tiny):has(.tsde-block-zone--top:hover) .tsde-block-handle,.tsde-block.is-selected:not(.tsde-block--handles-visible):not(.tsde-block--running):not(.tsde-block--compact):not(.tsde-block--tiny):has(.tsde-block-zone--bottom:hover) .tsde-block-handle{opacity:1}.tsde-block.is-selected.tsde-block--compact:not(.tsde-block--handles-visible):not(.tsde-block--running):has(.tsde-block-zone--bottom-compact:hover) .tsde-block-handle{opacity:1}}.tsde-list{border:1px solid var(--color-border-muted);border-radius:10px;overflow:visible;flex-shrink:0}.tsde-list-row{width:100%;text-align:left;padding:6px 8px;border:none;border-bottom:1px solid var(--color-border-muted);border-left:4px solid transparent;box-sizing:border-box;background:var(--color-surface);cursor:pointer;display:flex;align-items:flex-start;gap:6px;font-size:11.5px;min-height:0}.tsde-list-row:last-child{border-bottom:none}.tsde-list-row strong{display:block;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tsde-list-row .tsde-list-sub{font-size:10px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tsde-list-row.tsde-list-row--tinted:not(.tsde-list-row--running){border-left-color:hsl(var(--tsde-entry-h) 54% 44% / .92)}@media(prefers-color-scheme:dark){.tsde-list-row.tsde-list-row--tinted:not(.tsde-list-row--running){border-left-color:hsl(var(--tsde-entry-h) 48% 68% / .88)}}[data-theme=dark] .tsde-list-row.tsde-list-row--tinted:not(.tsde-list-row--running){border-left-color:hsl(var(--tsde-entry-h) 48% 68% / .88)}.tsde-list-row.tsde-list-row--lunch:not(.tsde-list-row--running){border-left-style:dashed;border-left-color:var(--color-border-strong);background:var(--color-surface-muted)}.tsde-list-row.is-sel{background:#4f8ef714;border-left-color:var(--color-primary)}.tsde-dot.tsde-dot--tinted:not(.tsde-dot--running){background:hsl(var(--tsde-entry-h) 56% 48% / .92)}@media(prefers-color-scheme:dark){.tsde-dot.tsde-dot--tinted:not(.tsde-dot--running){background:hsl(var(--tsde-entry-h) 50% 68% / .95)}}[data-theme=dark] .tsde-dot.tsde-dot--tinted:not(.tsde-dot--running){background:hsl(var(--tsde-entry-h) 50% 68% / .95)}.tsde-dot.tsde-dot--running{background:var(--color-success)}.tsde-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:color-mix(in srgb,var(--color-primary) 45%,var(--color-surface))}.tsde-list-meta{color:var(--color-text-muted);font-size:10px;font-weight:600;margin-left:auto;flex-shrink:1;min-width:0;align-self:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tsde-detail{border:1px solid var(--color-border-muted);border-radius:10px;padding:10px 12px;background:var(--color-surface-muted)}.tsde-detail-task{font-size:11px;color:var(--color-text-faint);line-height:1.35;margin-bottom:8px}.tsde-lunch-hint{margin:0 0 10px;font-size:11px;color:var(--color-text-muted);line-height:1.35}.tsde-running-hint{margin:0 0 10px;font-size:11px;color:var(--color-text-muted);line-height:1.4}.tsde-time-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.tsde-time-input{flex:0 1 auto;min-width:0;padding:6px 10px;border-radius:6px;border:.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:13px;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.tsde-time-row--flash .tsde-time-input{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.tsde-time-sep{font-size:12px;color:var(--color-text-muted)}.tsde-time-input:disabled{opacity:.65;cursor:not-allowed}.tsde-note{width:100%;height:72px;box-sizing:border-box;padding:8px 10px;border-radius:6px;border:.5px solid var(--color-border);background:var(--color-surface);font-size:12px;color:var(--color-text-muted);font-family:inherit;resize:none}.tsde-note:focus{outline:none;border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border))}.tsde-progress-wrap{margin-top:10px;display:grid;gap:6px}.tsde-progress-wrap label{font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.tsde-progress-slider{width:100%;max-width:100%;accent-color:var(--color-primary)}.tsde-foot{flex-shrink:0;padding:10px 14px 14px;border-top:1px solid var(--color-border-muted);display:flex;gap:10px;justify-content:stretch;flex-wrap:nowrap;align-items:stretch}.tsde-foot-cancel{flex:1;min-width:0}.tsde-foot-save{flex:2;min-width:0}.tsde-btn{padding:10px 14px;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer;border:none}.tsde-btn--ghost{background:none;border:.5px solid var(--color-border-hover);color:var(--color-text-muted)}.tsde-btn--danger{color:var(--color-error-text);border-color:color-mix(in srgb,var(--color-error-text) 32%,var(--color-border-hover))}.tsde-btn--primary{background:var(--color-primary);color:var(--color-on-primary);border:none}.tsde-btn:disabled{opacity:.55;cursor:not-allowed}.tsde-err{font-size:12px;color:var(--color-error-text);margin:0}.tsde-delete-wrap{margin-top:12px;padding-top:10px;border-top:1px solid var(--color-border-muted)}.pwa-jobs-agenda-recalc-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;background:color-mix(in srgb,var(--color-page) 35%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pwa-jobs-agenda-recalc-dialog{width:min(520px,100%);max-height:min(90dvh,calc(100vh - 32px));border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);box-shadow:0 14px 35px var(--color-shadow-modal);padding:16px;display:flex;flex-direction:column;gap:14px;overflow:hidden}.pwa-jobs-agenda-recalc-dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:14px;padding-right:2px}.pwa-jobs-agenda-recalc-title{margin:0;font-size:16px;font-weight:700;color:var(--color-text)}.pwa-jobs-agenda-recalc-desc{margin:0;font-size:13px;color:var(--color-text-secondary);line-height:1.45}.pwa-jobs-agenda-recalc-status{margin:12px 0 0;font-size:13px;color:var(--color-text-secondary)}.pwa-jobs-agenda-recalc-preview{background:var(--color-background-secondary);border-radius:8px;padding:10px 12px;margin:12px 0}.pwa-jobs-agenda-recalc-order-warn{margin:12px 0;padding:10px 12px;border-radius:8px;background:#c47c2a1a;border:.5px solid #c47c2a}.pwa-jobs-agenda-recalc-order-warn-lead{margin:0;font-size:12px;font-weight:600;color:var(--color-text);line-height:1.45}.pwa-jobs-agenda-recalc-order-warn-list{margin:8px 0 0;padding-left:18px;font-size:11px;color:var(--color-text-secondary);line-height:1.45}.pwa-jobs-agenda-recalc-order-warn-list li+li{margin-top:3px}.pwa-jobs-agenda-recalc-order-warn-single{margin:6px 0 0;font-size:11px;color:var(--color-text-secondary)}.pwa-jobs-agenda-recalc-order-warn-foot{margin:8px 0 0;font-size:11px;color:var(--color-text-secondary)}.pwa-jobs-agenda-recalc-order-editor{border:.5px solid var(--color-border-tertiary, var(--color-border));border-radius:8px;padding:8px 10px;background:var(--color-background-secondary, var(--color-surface-muted))}.pwa-jobs-agenda-recalc-order-editor-summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--color-text);list-style-position:inside}.pwa-jobs-agenda-recalc-order-editor-badge{margin-left:6px;font-size:10px;font-weight:600;color:var(--color-primary)}.pwa-jobs-agenda-recalc-order-editor-hint{margin:8px 0 6px;font-size:11px;color:var(--color-text-secondary);line-height:1.4}.pwa-jobs-agenda-recalc-order-editor-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;max-height:min(200px,28vh);overflow-y:auto}.pwa-jobs-agenda-recalc-order-editor-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px;border-radius:6px;font-size:12px}.pwa-jobs-agenda-recalc-order-editor-item.is-moved{background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.pwa-jobs-agenda-recalc-order-editor-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-jobs-agenda-recalc-order-editor-actions{display:flex;gap:2px;flex-shrink:0}.pwa-jobs-agenda-recalc-order-editor-btn{width:28px;height:26px;padding:0;border-radius:6px;border:.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;font-size:12px;line-height:1}.pwa-jobs-agenda-recalc-order-editor-btn:disabled{opacity:.35;cursor:default}.pwa-jobs-agenda-recalc-order-editor-reset{margin-top:8px;padding:0;border:none;background:none;font-size:11px;color:var(--color-primary);cursor:pointer;text-decoration:underline}.pwa-jobs-agenda-recalc-preview-row--required .pwa-jobs-agenda-recalc-preview-row-sub{color:#c47c2a;font-weight:600}.pwa-jobs-agenda-recalc-capacity-warn{display:flex;gap:8px;align-items:flex-start;padding:8px 12px;border-radius:8px;background:#c47c2a1a;border:.5px solid #c47c2a}.pwa-jobs-agenda-recalc-capacity-warn.is-over{background:#c450301a;border-color:#c45030}.pwa-jobs-agenda-recalc-capacity-icon{font-size:14px;flex-shrink:0;margin-top:1px}.pwa-jobs-agenda-recalc-capacity-title{font-size:12px;font-weight:600;color:var(--color-text)}.pwa-jobs-agenda-recalc-capacity-sub{font-size:11px;color:var(--color-text-secondary);margin-top:2px}.pwa-jobs-agenda-recalc-preview--info{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--color-text-secondary);line-height:1.45}.pwa-jobs-agenda-recalc-preview-info-icon{flex-shrink:0;font-size:13px;line-height:1.35;color:var(--color-text-muted)}.pwa-jobs-agenda-recalc-preview-header{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:500;color:var(--color-text);margin-bottom:4px}.pwa-jobs-agenda-recalc-preview-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pwa-jobs-agenda-recalc-preview-link{border:none;background:transparent;padding:0;font-size:11px;font-weight:600;color:var(--color-primary);cursor:pointer}.pwa-jobs-agenda-recalc-preview-link:hover{text-decoration:underline}.pwa-jobs-agenda-recalc-preview-hint{margin:0 0 8px;font-size:11px;color:var(--color-text-muted);line-height:1.4}.pwa-jobs-agenda-recalc-preview-delta{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.pwa-jobs-agenda-recalc-preview-list{display:flex;flex-direction:column;gap:2px}.pwa-jobs-agenda-recalc-toggles{display:flex;flex-direction:column;gap:10px}.pwa-jobs-agenda-recalc-toggle{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.pwa-jobs-agenda-recalc-toggle input{margin-top:2px;accent-color:var(--color-primary)}.pwa-jobs-agenda-recalc-toggle-title{font-size:13px;font-weight:600;color:var(--color-text)}.pwa-jobs-agenda-recalc-toggle-hint{font-size:11px;color:var(--color-text-secondary);margin-top:2px;line-height:1.4}.pwa-jobs-agenda-recalc-preview-dash{flex-shrink:0;width:16px;text-align:center;font-size:14px;font-weight:600;color:var(--color-text-muted);line-height:1}.pwa-jobs-agenda-recalc-preview-row{display:grid;grid-template-columns:16px 8px minmax(0,1fr) auto auto;grid-template-rows:auto auto;align-items:center;gap:4px 8px;padding:6px 0;border-bottom:.5px solid var(--color-border-muted);cursor:pointer}.pwa-jobs-agenda-recalc-preview-row--group{cursor:default}.pwa-jobs-agenda-recalc-preview-row .pwa-jobs-agenda-recalc-preview-dot,.pwa-jobs-agenda-recalc-preview-row .pwa-jobs-agenda-recalc-preview-check,.pwa-jobs-agenda-recalc-preview-row .pwa-jobs-agenda-recalc-preview-dash{grid-row:1 / span 2}.pwa-jobs-agenda-recalc-preview-row-name{grid-column:3}.pwa-jobs-agenda-recalc-preview-row-sub{grid-column:3;font-size:10px;color:var(--color-text-muted);line-height:1.3}.pwa-jobs-agenda-recalc-preview-row-old{grid-column:4;grid-row:1 / span 2}.pwa-jobs-agenda-recalc-preview-row-date{grid-column:5;grid-row:1 / span 2}.pwa-jobs-agenda-recalc-violations--standalone{margin-top:0}.pwa-jobs-agenda-recalc-preview-row--off{opacity:.55}.pwa-jobs-agenda-recalc-preview-row--locked{cursor:default}.pwa-jobs-agenda-recalc-preview-row--locked .pwa-jobs-agenda-recalc-preview-check{cursor:not-allowed}.pwa-jobs-agenda-recalc-preview-row:last-child{border-bottom:none}.pwa-jobs-agenda-recalc-preview-check{flex-shrink:0;margin:0;accent-color:var(--color-primary)}.pwa-jobs-agenda-recalc-preview-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%}.pwa-jobs-agenda-recalc-preview-row-name{flex:1;min-width:0;font-size:12px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-jobs-agenda-recalc-preview-row-old{flex-shrink:0;font-size:11px;color:var(--color-text-muted);text-decoration:line-through;margin-right:4px}.pwa-jobs-agenda-recalc-preview-row-date{flex-shrink:0;font-size:11px;font-weight:500;color:var(--color-text)}.pwa-jobs-agenda-recalc-preview-row-date--later{color:var(--color-warning)}.pwa-jobs-agenda-recalc-preview-row-date--earlier{color:var(--color-info)}.pwa-jobs-agenda-recalc-recommended{font-weight:400;color:var(--color-text-muted)}.pwa-jobs-agenda-recalc-options{display:flex;flex-direction:column;gap:8px}.pwa-jobs-agenda-recalc-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-page);cursor:pointer}.pwa-jobs-agenda-recalc-option--selected{border-color:var(--color-primary);background:var(--color-primary-bg)}.pwa-jobs-agenda-recalc-option input{margin-top:2px}.pwa-jobs-agenda-recalc-option-text{display:flex;flex-direction:column;gap:2px}.pwa-jobs-agenda-recalc-option-text strong{font-size:13px;color:var(--color-text)}.pwa-jobs-agenda-recalc-option-text span{font-size:12px;color:var(--color-text-secondary)}.pwa-jobs-agenda-recalc-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text)}.pwa-jobs-agenda-recalc-actions{display:flex;justify-content:flex-end;gap:8px;flex-shrink:0;padding-top:4px;border-top:.5px solid var(--color-border-tertiary, var(--color-border))}.pwa-jobs-agenda-recalc-btn{border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:600;padding:8px 14px;cursor:pointer}.pwa-jobs-agenda-recalc-btn--primary{border-color:var(--color-primary-outline-border);background:var(--color-primary);color:var(--color-primary-text)}.pwa-jobs-agenda-recalc-btn:disabled{opacity:.55;cursor:not-allowed}.pwa-jobs-agenda-recalc-milestone{padding:0 0 4px;border-bottom:.5px solid var(--color-border-muted);display:flex;flex-direction:column;gap:10px}.pwa-jobs-agenda-recalc-milestone-lock{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--color-background-secondary);border-radius:8px;font-size:12px;color:var(--color-text-secondary)}.pwa-jobs-agenda-recalc-milestone-lock-icon{font-size:13px;flex-shrink:0}.pwa-jobs-agenda-recalc-milestone-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.pwa-jobs-agenda-recalc-milestone-check input{margin-top:2px}.pwa-jobs-agenda-recalc-milestone-check-title{font-size:13px;color:var(--color-text);font-weight:500}.pwa-jobs-agenda-recalc-milestone-check-hint{font-size:11px;color:var(--color-text-secondary);margin-top:2px;line-height:1.4}.pwa-jobs-agenda-recalc-milestone-warn{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#faeeda;border-radius:8px;font-size:12px;color:#633806}.pwa-jobs-agenda-recalc-cascade-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:.5px solid var(--color-border-muted)}.pwa-jobs-agenda-recalc-cascade-row:last-child{border-bottom:none}.pwa-jobs-agenda-recalc-cascade-bar{width:3px;align-self:stretch;border-radius:2px;flex-shrink:0}.pwa-jobs-agenda-recalc-cascade-main{flex:1;min-width:0}.pwa-jobs-agenda-recalc-cascade-name{font-size:12px;font-weight:500;color:var(--color-text)}.pwa-jobs-agenda-recalc-cascade-reason{font-size:10px;color:var(--color-text-muted);margin-top:1px}.pwa-jobs-agenda-recalc-cascade-dates{text-align:right;flex-shrink:0}.pwa-jobs-agenda-recalc-cascade-old{font-size:11px;color:var(--color-text-muted);text-decoration:line-through}.pwa-jobs-agenda-recalc-cascade-new{font-size:11px;color:var(--color-text);font-weight:500}.pwa-jobs-agenda-recalc-violations{border-top:.5px solid var(--color-border-muted);padding:8px 0 4px;margin-top:8px}.pwa-jobs-agenda-recalc-violations-head{font-size:11px;color:#993c1d;font-weight:500;margin-bottom:6px;display:flex;align-items:center;gap:5px}.pwa-jobs-agenda-recalc-violation-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:.5px solid var(--color-border-muted);opacity:.7}.pwa-jobs-agenda-recalc-violation-bar{width:3px;align-self:stretch;background:#993c1d;border-radius:2px;flex-shrink:0}.pwa-jobs-agenda-recalc-violation-name{flex:1;font-size:12px;color:var(--color-text)}.pwa-jobs-agenda-recalc-violation-badge{font-size:10px;background:#faece7;color:#712b13;padding:1px 5px;border-radius:9px}.pwa-jobs-agenda-recalc-violations-foot{font-size:11px;color:var(--color-text-secondary);margin-top:6px;line-height:1.4}.pwa-auto-agenda-timeline{display:flex;flex-direction:column;gap:8px;-webkit-user-select:none;user-select:none;width:100%}.pwa-auto-agenda-timeline-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px}.pwa-auto-agenda-timeline-toolbar-label{font-weight:600;color:var(--color-text-secondary)}.pwa-auto-agenda-timeline-toolbar-range{font-size:11px;font-weight:600;color:var(--color-text-secondary)}.pwa-auto-agenda-timeline-toolbar-hint{color:var(--color-text-tertiary);font-size:11px}.pwa-auto-agenda-timeline-zoom-btn{min-width:32px;height:28px;padding:0 8px;border-radius:6px;border:1px solid var(--color-border-tertiary);background:var(--color-surface);font-size:14px;font-weight:600;cursor:pointer;line-height:1}.pwa-auto-agenda-timeline-zoom-btn--reset{min-width:52px;font-size:11px;font-weight:600}.pwa-auto-agenda-timeline-zoom-btn:hover{background:var(--color-background-secondary)}.pwa-auto-agenda-timeline-viewport{width:100%;overflow:hidden;border-radius:8px;background:color-mix(in srgb,var(--color-border-tertiary) 18%,transparent);cursor:default;touch-action:none}.pwa-auto-agenda-timeline-viewport--pannable{cursor:grab}.pwa-auto-agenda-timeline-viewport--pannable:active{cursor:grabbing}.pwa-auto-agenda-timeline-canvas{width:100%;padding:8px 4px 4px}.pwa-auto-agenda-timeline-axis{display:grid;grid-template-columns:132px 1fr;gap:8px;align-items:end;padding:0 4px}.pwa-auto-agenda-timeline-axis-track{position:relative;height:24px;border-bottom:1px solid var(--color-border-tertiary)}.pwa-auto-agenda-timeline-tick{position:absolute;bottom:2px;transform:translate(-50%);font-size:10px;color:var(--color-text-tertiary);white-space:nowrap}.pwa-auto-agenda-timeline-body{display:flex;flex-direction:column;gap:8px;margin-top:6px}.pwa-auto-agenda-timeline-group{display:flex;flex-direction:column;gap:4px}.pwa-auto-agenda-timeline-row{display:grid;grid-template-columns:132px 1fr;gap:8px;align-items:center}.pwa-auto-agenda-timeline-row--task{grid-template-rows:auto auto;grid-template-areas:"label track" ". meta";row-gap:2px}.pwa-auto-agenda-timeline-row--task .pwa-auto-agenda-timeline-label{grid-area:label}.pwa-auto-agenda-timeline-row--task .pwa-auto-agenda-timeline-track{grid-area:track}.pwa-auto-agenda-timeline-task-meta{grid-area:meta;padding-left:140px;display:flex;align-items:center;gap:5px;font-size:10px;color:var(--color-text-tertiary)}.pwa-auto-agenda-timeline-task-name{font-size:12px;font-weight:600;color:var(--color-text-primary);line-height:1.2}.pwa-auto-agenda-timeline-task-stage{font-size:10px;font-weight:500;color:var(--color-text-tertiary);display:flex;align-items:center;gap:4px}.pwa-auto-agenda-timeline-grid-line{position:absolute;top:0;bottom:0;width:1px;transform:translate(-50%);background:color-mix(in srgb,var(--color-border-tertiary) 55%,transparent);pointer-events:none;z-index:0}.pwa-auto-agenda-timeline-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:2px;line-height:1.2}.pwa-auto-agenda-timeline-lock{font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.pwa-auto-agenda-timeline-track{position:relative;height:36px;border-radius:6px;background:color-mix(in srgb,var(--color-border-tertiary) 35%,transparent);min-width:0;width:100%}.pwa-auto-agenda-timeline-track-today{position:absolute;top:0;bottom:0;width:3px;transform:translate(-50%);background:#e8943a;box-shadow:0 0 0 1px #e8943a4d,0 0 8px #e8943a73;pointer-events:none;z-index:0}.pwa-auto-agenda-timeline-track--markers{height:18px;background:transparent;pointer-events:none}.pwa-auto-agenda-timeline-bar{position:absolute;top:3px;bottom:3px;border-radius:5px;border:1.5px solid;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;z-index:1;min-width:2px}.pwa-auto-agenda-timeline-bar--old{top:8px;bottom:8px;background:transparent!important;border-style:dashed;border-width:1.5px;border-color:var(--color-text-tertiary);opacity:.5;pointer-events:none;z-index:0}.pwa-auto-agenda-timeline-bar--draggable{cursor:grab;z-index:2;min-width:10px}.pwa-auto-agenda-timeline-bar--skipped-row{border-style:dashed;opacity:.88}.pwa-auto-agenda-timeline-bar--dragging{cursor:grabbing;z-index:3}.pwa-auto-agenda-timeline-track--dragging{cursor:grabbing}.pwa-auto-agenda-timeline-bar--locked{opacity:.55}.pwa-auto-agenda-timeline-bar-label{display:flex;flex-direction:column;gap:0;padding:0 6px;min-width:0;line-height:1.1;pointer-events:none}.pwa-auto-agenda-timeline-bar-label strong{font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-auto-agenda-timeline-bar-dates{font-size:9px;font-weight:500;opacity:.9;white-space:nowrap}.pwa-auto-agenda-timeline-bar-label--short{font-size:9px;font-weight:700;padding:0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-auto-agenda-timeline-segment-key{padding-left:116px;display:flex;flex-wrap:wrap;gap:4px 12px;font-size:10px;color:var(--color-text-secondary);line-height:1.35}.pwa-auto-agenda-timeline-segment-key-item{display:inline-flex;align-items:center;gap:5px}.pwa-auto-agenda-timeline-segment-key-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pwa-auto-agenda-timeline-marker{position:absolute;top:0;bottom:0;width:2px;transform:translate(-50%)}.pwa-auto-agenda-timeline-marker span{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:2px;font-size:9px;font-weight:600;white-space:nowrap}.pwa-auto-agenda-timeline-marker--today{background:#c47c2a}.pwa-auto-agenda-timeline-marker--today span{color:#c47c2a}.pwa-auto-agenda-timeline-marker--install{background:var(--color-accent, #0c447c)}.pwa-auto-agenda-timeline-marker--install span{color:var(--color-accent, #0c447c)}.pwa-auto-agenda-timeline-bar--slack{top:10px;bottom:10px;opacity:.35;border-style:dotted;border-width:1px;pointer-events:auto;z-index:0}.pwa-auto-agenda-timeline-bar--over-cap-overlay{background-image:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(196,124,42,.45) 4px,rgba(196,124,42,.45) 8px)!important}.pwa-auto-agenda-timeline-track--ripple-blocked{outline:1px dashed #b45309;outline-offset:-1px}.pwa-auto-agenda-timeline-segment-warn{color:#b45309;font-weight:600}.pwa-auto-agenda-timeline-legend-swatch--over-cap{background:repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(196,124,42,.6) 2px,rgba(196,124,42,.6) 4px);border:1px solid #c47c2a}.pwa-auto-agenda-timeline-legend{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:11px;color:var(--color-text-tertiary)}.pwa-auto-agenda-timeline-legend-item{display:inline-flex;align-items:center;gap:5px}.pwa-auto-agenda-timeline-legend-swatch{width:14px;height:8px;border-radius:2px;border:1px dashed var(--color-text-tertiary)}.pwa-auto-agenda-timeline-legend-swatch--today{width:2px;height:12px;border:none;background:#c47c2a}.pwa-auto-agenda-timeline-legend-swatch--install{width:2px;height:12px;border:none;background:var(--color-accent, #0c447c)}.pwa-auto-agenda-timeline-legend-swatch--week-band{border:none;background:linear-gradient(90deg,#ffffff0a 50%,#ffffff1a 50%)}.pwa-auto-agenda-batch-timeline{display:flex;flex-direction:column;gap:0;-webkit-user-select:none;user-select:none;width:100%;min-width:0}.pwa-auto-agenda-batch-timeline--pannable{cursor:grab}.pwa-auto-agenda-batch-timeline--pannable:active{cursor:grabbing}.pwa-auto-agenda-batch-chrome{position:sticky;top:0;z-index:4;display:flex;flex-direction:column;gap:6px;padding-bottom:6px;background:var(--color-background-secondary);border-bottom:1px solid var(--color-border-tertiary)}.pwa-auto-agenda-timeline-toolbar--batch{padding-top:2px}.pwa-auto-agenda-timeline-legend--batch{padding:0 2px}.pwa-auto-agenda-batch-axis{display:grid;grid-template-columns:var(--batch-grid, 40px minmax(140px, 22%) minmax(0, 1fr));gap:var(--batch-gap, 4px);align-items:end;padding:0 4px}.pwa-auto-agenda-batch-axis-spacer{grid-column:1 / 3;min-width:0}.pwa-auto-agenda-batch-axis-track{position:relative;height:26px;border-bottom:1px solid var(--color-border-tertiary);min-width:0}.pwa-auto-agenda-batch-axis-markers{position:absolute;inset:0;pointer-events:none;z-index:2}.pwa-auto-agenda-batch-jobs{position:relative;display:flex;flex-direction:column;gap:4px;padding-top:4px}.pwa-auto-agenda-batch-jobs-markers{position:absolute;inset:0;display:grid;grid-template-columns:var(--batch-grid, 40px minmax(140px, 22%) minmax(0, 1fr));gap:var(--batch-gap, 4px);padding:0 4px;pointer-events:none;z-index:0}.pwa-auto-agenda-batch-jobs-markers-spacer{grid-column:1 / 3}.pwa-auto-agenda-batch-jobs-markers-track{position:relative;grid-column:3;min-width:0}.pwa-auto-agenda-batch-week-band{position:absolute;top:0;bottom:0;background:#ffffff05;pointer-events:none;z-index:0}.pwa-auto-agenda-batch-week-band--alt{background:#ffffff0b}.pwa-auto-agenda-batch-grid-line{position:absolute;top:0;bottom:0;width:1px;transform:translate(-50%);pointer-events:none;z-index:1}.pwa-auto-agenda-batch-grid-line--week{background:#ffffff14}.pwa-auto-agenda-batch-grid-line--day{background:#ffffff09}.pwa-auto-agenda-batch-marker{position:absolute;top:0;bottom:0;transform:translate(-50%);pointer-events:none}.pwa-auto-agenda-batch-marker span{position:absolute;top:-14px;left:50%;transform:translate(-50%);font-size:9px;font-weight:700;white-space:nowrap}.pwa-auto-agenda-batch-marker--today{background:#e8943a;box-shadow:0 0 0 1px #e8943a59,0 0 10px #e8943a8c;z-index:2}.pwa-auto-agenda-batch-marker--today.pwa-auto-agenda-batch-marker--axis{width:3px}.pwa-auto-agenda-batch-marker--today.pwa-auto-agenda-batch-marker--full{width:3px;z-index:4;box-shadow:0 0 0 1px #e8943a73,0 0 14px #e8943aa6}.pwa-auto-agenda-batch-marker--today span{color:#e8943a}.pwa-auto-agenda-batch-marker--install{width:2px;background:var(--color-accent, #0c447c);opacity:.85}.pwa-auto-agenda-batch-marker--install span{color:var(--color-accent, #0c447c)}.pwa-auto-agenda-batch-job-chart{position:relative}.pwa-auto-agenda-batch-job-chart-overlay{position:absolute;inset:0;display:grid;grid-template-columns:var(--batch-grid, 40px minmax(140px, 22%) minmax(0, 1fr));gap:var(--batch-gap, 4px);padding:0 4px;pointer-events:none;z-index:1}.pwa-auto-agenda-batch-job-chart-overlay-spacer{grid-column:1 / 3}.pwa-auto-agenda-batch-job-chart-overlay-track{position:relative;grid-column:3;min-width:0}.pwa-auto-agenda-batch-install-marker{position:absolute;top:0;bottom:0;transform:translate(-50%);width:1px;background:color-mix(in srgb,var(--color-accent, #0c447c) 55%,transparent);z-index:1}.pwa-auto-agenda-batch-install-marker-caret{position:absolute;top:2px;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid color-mix(in srgb,var(--color-accent, #0c447c) 75%,transparent)}.pwa-auto-agenda-batch-job{border:1px solid var(--color-border-tertiary);border-radius:8px;overflow:hidden;background:var(--color-surface);border-left-width:4px}.pwa-auto-agenda-batch-job--clean{border-left-color:#2d6a4f}.pwa-auto-agenda-batch-job--warnings{border-left-color:#c47c2a;background:color-mix(in srgb,#c47c2a 4%,var(--color-surface))}.pwa-auto-agenda-batch-job--impossible,.pwa-auto-agenda-batch-job--errors{border-left-color:#b43232;background:color-mix(in srgb,#b43232 5%,var(--color-surface))}.pwa-auto-agenda-batch-job-header{position:relative;z-index:2;display:grid;grid-template-columns:var(--batch-grid, 40px minmax(140px, 22%) minmax(0, 1fr));gap:var(--batch-gap, 4px);align-items:stretch;width:100%;padding:4px 4px 4px 6px;background:transparent}.pwa-auto-agenda-batch-job:hover .pwa-auto-agenda-batch-job-header{background:color-mix(in srgb,var(--color-border-tertiary) 18%,transparent)}.pwa-auto-agenda-batch-job-expand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;padding:4px 2px;margin:0;border:1px solid var(--color-border-tertiary);border-radius:8px;background:var(--color-background-secondary);color:var(--color-text-secondary);cursor:pointer;flex-shrink:0}.pwa-auto-agenda-batch-job-expand:hover{background:color-mix(in srgb,var(--color-accent, #0c447c) 10%,var(--color-background-secondary));border-color:color-mix(in srgb,var(--color-accent, #0c447c) 40%,transparent);color:var(--color-accent, #0c447c)}.pwa-auto-agenda-batch-job-expand--expanded{background:color-mix(in srgb,var(--color-accent, #0c447c) 14%,var(--color-background-secondary));border-color:color-mix(in srgb,var(--color-accent, #0c447c) 45%,transparent);color:var(--color-accent, #0c447c)}.pwa-auto-agenda-batch-job-expand-icon{width:11px;height:11px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease;flex-shrink:0}.pwa-auto-agenda-batch-job-expand--expanded .pwa-auto-agenda-batch-job-expand-icon{transform:rotate(45deg)}.pwa-auto-agenda-batch-job-expand-text{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1}.pwa-auto-agenda-batch-job-header-text{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:4px 6px;margin:0;border:none;border-radius:6px;background:transparent;text-align:left;cursor:pointer;color:inherit}.pwa-auto-agenda-batch-job-header-text:hover{background:color-mix(in srgb,var(--color-border-tertiary) 30%,transparent)}.pwa-auto-agenda-batch-job-title{font-size:12px;font-weight:700;color:var(--color-text-primary);line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere}.pwa-auto-agenda-batch-job-meta{font-size:10px;color:var(--color-text-tertiary)}.pwa-auto-agenda-batch-job-header-track{position:relative;min-width:0;width:100%;align-self:center}.pwa-auto-agenda-batch-job-header-track--expanded{display:flex;align-items:center;min-height:28px;padding:0 8px;border-radius:6px;background:color-mix(in srgb,var(--color-accent, #0c447c) 8%,transparent);border:1px dashed color-mix(in srgb,var(--color-accent, #0c447c) 30%,transparent)}.pwa-auto-agenda-batch-job-expanded-hint{font-size:10px;font-weight:600;color:var(--color-text-tertiary)}.pwa-auto-agenda-batch-job-expanded{position:relative;z-index:2;display:flex;flex-direction:column;gap:4px;padding:4px 4px 8px 10px;border-top:1px solid var(--color-border-tertiary)}.pwa-auto-agenda-batch-job-expanded .pwa-auto-agenda-timeline-row--task{grid-template-columns:var(--batch-grid, 40px minmax(140px, 22%) minmax(0, 1fr));grid-template-rows:auto;grid-template-areas:none}.pwa-auto-agenda-batch-job-expanded .pwa-auto-agenda-timeline-row--task .pwa-auto-agenda-timeline-label{grid-column:2;grid-row:1}.pwa-auto-agenda-batch-job-expanded .pwa-auto-agenda-timeline-row--task .pwa-auto-agenda-timeline-track{grid-column:3;grid-row:1}.pwa-auto-agenda-timeline-track--condensed{height:28px;width:100%;background:color-mix(in srgb,var(--color-border-tertiary) 18%,transparent)}.pwa-auto-agenda-batch-job .pwa-auto-agenda-timeline-track{background:color-mix(in srgb,var(--color-border-tertiary) 18%,transparent)}.pwa-auto-agenda-timeline-bar--compact-only{top:4px;bottom:4px;min-width:4px}.pwa-auto-agenda-timeline-bar--adjacent{top:6px;bottom:6px;z-index:0}.pwa-auto-agenda-timeline-shift-arrow{position:absolute;top:50%;height:2px;transform:translateY(-50%);background:var(--color-text-tertiary);opacity:.65;pointer-events:none;z-index:1}.pwa-auto-agenda-timeline-shift-arrow:after{content:"";position:absolute;top:50%;width:0;height:0;border:4px solid transparent;transform:translateY(-50%)}.pwa-auto-agenda-timeline-shift-arrow--later:after{right:-1px;border-left-color:var(--color-text-tertiary)}.pwa-auto-agenda-timeline-shift-arrow--earlier:after{left:-1px;border-right-color:var(--color-text-tertiary)}.pwa-auto-agenda-timeline-legend-swatch--arrow{width:14px;height:2px;border:none;background:var(--color-text-tertiary);position:relative}.pwa-auto-agenda-timeline-legend-swatch--arrow:after{content:"";position:absolute;right:-1px;top:50%;transform:translateY(-50%);border:3px solid transparent;border-left-color:var(--color-text-tertiary)}.pwa-auto-agenda-batch-job .pwa-auto-agenda-task-details>summary{font-size:11px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}.pwa-auto-agenda-batch-job .pwa-auto-agenda-task-details>summary::-webkit-details-marker{display:none}.pwa-auto-agenda-batch-job .pwa-auto-agenda-task-details>summary:before{content:"▸";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;border:1px solid var(--color-border-tertiary);background:var(--color-background-secondary);font-size:12px;font-weight:700;color:var(--color-text-secondary);flex-shrink:0}.pwa-auto-agenda-batch-job .pwa-auto-agenda-task-details[open]>summary:before{content:"▾";background:color-mix(in srgb,var(--color-accent, #0c447c) 12%,var(--color-background-secondary));border-color:color-mix(in srgb,var(--color-accent, #0c447c) 35%,transparent);color:var(--color-accent, #0c447c)}.pwa-auto-agenda-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:stretch;justify-content:center;padding:8px;background:color-mix(in srgb,var(--color-page) 35%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pwa-auto-agenda-dialog{width:100%;max-width:none;height:min(96dvh,calc(100vh - 16px));max-height:none;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);box-shadow:0 14px 35px var(--color-shadow-modal);padding:16px 18px;display:flex;flex-direction:column;gap:14px;overflow:hidden}.pwa-auto-agenda-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:14px;padding-right:2px;scrollbar-width:thin}.pwa-auto-agenda-title{margin:0;font-size:16px;font-weight:700}.pwa-auto-agenda-desc{margin:0;font-size:13px;color:var(--color-text-secondary);line-height:1.45}.pwa-auto-agenda-section{display:flex;flex-direction:column;gap:8px}.pwa-auto-agenda-section-head{font-size:13px;font-weight:600}.pwa-auto-agenda-quick-add{display:flex;flex-wrap:wrap;gap:6px}.pwa-auto-agenda-quick-btn{font-size:12px;padding:4px 8px;border-radius:6px;border:1px solid var(--color-border-tertiary);background:var(--color-background-secondary);cursor:pointer}.pwa-auto-agenda-search-row{display:flex;gap:8px}.pwa-auto-agenda-search-row input[type=search]{flex:1;min-width:0}.pwa-auto-agenda-install-dates{border:1px solid var(--color-border-tertiary);border-radius:8px;overflow:hidden}.pwa-auto-agenda-install-dates-summary{cursor:pointer;padding:10px 12px;font-size:13px;font-weight:600;background:var(--color-background-secondary);list-style:none}.pwa-auto-agenda-install-dates-summary::-webkit-details-marker{display:none}.pwa-auto-agenda-install-dates-body{display:flex;flex-direction:column;gap:10px;padding:10px 12px 12px}.pwa-auto-agenda-actions--sticky{position:sticky;bottom:0;z-index:5;margin:0 -18px -16px;padding:12px 18px 16px;background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--color-border-tertiary);box-shadow:0 -4px 12px color-mix(in srgb,var(--color-shadow-modal) 25%,transparent)}.pwa-auto-agenda-summary-badges{display:flex;flex-wrap:wrap;gap:8px}.pwa-auto-agenda-summary-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--color-background-secondary);border:1px solid var(--color-border-tertiary);color:var(--color-text-secondary)}.pwa-auto-agenda-summary-badge--changed{background:color-mix(in srgb,var(--color-accent, #0c447c) 12%,transparent);border-color:color-mix(in srgb,var(--color-accent, #0c447c) 35%,transparent);color:var(--color-accent, #0c447c)}.pwa-auto-agenda-summary-badge--warn{background:#c47c2a29;border-color:#c47c2a;color:#b45309;font-size:13px}.pwa-auto-agenda-summary-badge--error{background:#b432321f;border-color:#b43232;color:#b43232}.pwa-auto-agenda-filter-tabs{display:flex;flex-wrap:wrap;gap:6px}.pwa-auto-agenda-filter-tab{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--color-border-tertiary);background:var(--color-surface);font-size:12px;font-weight:600;cursor:pointer;color:var(--color-text-secondary)}.pwa-auto-agenda-filter-tab--active{background:var(--color-accent, #0c447c);border-color:transparent;color:#fff}.pwa-auto-agenda-filter-tab-count{font-size:10px;font-weight:700;opacity:.85;min-width:1.2em;text-align:center}.pwa-auto-agenda-preview-section{display:flex;flex-direction:column;gap:10px;padding:12px 12px 8px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-background-secondary);min-width:0}.pwa-auto-agenda-preview-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.pwa-auto-agenda-expand-controls{display:flex;gap:6px}.pwa-auto-agenda-expand-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid var(--color-border-tertiary);background:var(--color-surface);font-size:12px;font-weight:600;cursor:pointer;color:var(--color-text-secondary)}.pwa-auto-agenda-expand-btn:disabled{opacity:.45;cursor:not-allowed}.pwa-auto-agenda-expand-btn--primary{background:color-mix(in srgb,var(--color-accent, #0c447c) 12%,var(--color-surface));border-color:color-mix(in srgb,var(--color-accent, #0c447c) 35%,transparent);color:var(--color-accent, #0c447c)}.pwa-auto-agenda-expand-btn:hover:not(:disabled){background:var(--color-background-secondary)}.pwa-auto-agenda-expand-btn-icon{width:10px;height:10px;flex-shrink:0;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor}.pwa-auto-agenda-expand-btn-icon--expand{transform:rotate(-45deg) translate(-1px,-1px)}.pwa-auto-agenda-expand-btn-icon--collapse{transform:rotate(45deg) translate(-1px,1px)}.pwa-auto-agenda-preview-table-head{display:grid;grid-template-columns:18px 6px minmax(0,1fr) minmax(92px,auto) minmax(92px,auto);gap:6px;padding:0 12px 4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary)}.pwa-auto-agenda-preview-table-head span:nth-child(n+3){text-align:left}.pwa-auto-agenda-preview-table-head span:nth-child(4),.pwa-auto-agenda-preview-table-head span:nth-child(5){white-space:nowrap}.pwa-auto-agenda-queue{max-height:min(240px,32vh);overflow-y:auto;border:1px solid var(--color-border-tertiary);border-radius:8px}.pwa-auto-agenda-queue-head,.pwa-auto-agenda-queue-row{display:grid;grid-template-columns:1fr 140px 36px;gap:8px;align-items:center;padding:8px 10px}.pwa-auto-agenda-queue-head{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-tertiary);background:var(--color-background-secondary)}.pwa-auto-agenda-queue-row+.pwa-auto-agenda-queue-row{border-top:1px solid var(--color-border-tertiary)}.pwa-auto-agenda-queue-job{font-size:13px;min-width:0}.pwa-auto-agenda-queue-job small{display:block;color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-auto-agenda-remove{border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;font-size:16px;line-height:1}.pwa-auto-agenda-issue-banner{padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.5}.pwa-auto-agenda-issue-banner--ok{background:color-mix(in srgb,#2d6a4f 10%,transparent);border:.5px solid color-mix(in srgb,#2d6a4f 35%,transparent);color:var(--color-text-secondary)}.pwa-auto-agenda-issue-banner--warn{background:#c47c2a1f;border:.5px solid #c47c2a}.pwa-auto-agenda-error-banner{padding:8px 10px;border-radius:8px;background:#b432321a;border:.5px solid #b43232;font-size:12px}.pwa-auto-agenda-job-warning{padding:6px 12px;font-size:12px;font-weight:600;color:#b45309;background:#c47c2a14;border-bottom:1px solid rgba(196,124,42,.2)}.pwa-auto-agenda-job-warning--schedule_infeasible{color:#b43232;background:#b4323214;border-bottom-color:#b4323233}.pwa-auto-agenda-preview-row--failed{background:#b432320f}.pwa-auto-agenda-failed-badge{margin-left:6px;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:#b43232;color:#fff}.pwa-auto-agenda-summary{font-size:13px;color:var(--color-text-secondary);padding:8px 10px;border-radius:8px;background:var(--color-background-secondary)}.pwa-auto-agenda-warn-banner{padding:8px 10px;border-radius:8px;background:#c47c2a1a;border:.5px solid #c47c2a;font-size:12px}.pwa-auto-agenda-info-banner{padding:8px 10px;border-radius:8px;background:color-mix(in srgb,var(--color-accent, #0c447c) 12%,transparent);border:.5px solid color-mix(in srgb,var(--color-accent, #0c447c) 35%,transparent);font-size:12px;line-height:1.45}.pwa-auto-agenda-ignore-capacity{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--color-text-secondary);line-height:1.45;cursor:pointer}.pwa-auto-agenda-ignore-capacity input{margin-top:2px;flex-shrink:0}.pwa-auto-agenda-timeline-wrap{padding:8px 0 4px;min-width:0;width:100%}.pwa-auto-agenda-task-details{border-top:1px solid var(--color-border-tertiary)}.pwa-auto-agenda-task-details>summary{cursor:pointer;padding:8px 12px;font-size:12px;font-weight:600;color:var(--color-text-secondary);list-style:none}.pwa-auto-agenda-task-details>summary::-webkit-details-marker{display:none}.pwa-auto-agenda-job-block{border:1px solid var(--color-border-tertiary);border-radius:8px;overflow:hidden}.pwa-auto-agenda-job-block summary{cursor:pointer;padding:10px 12px;font-size:13px;font-weight:600;background:var(--color-background-secondary);list-style:none}.pwa-auto-agenda-job-block summary::-webkit-details-marker{display:none}.pwa-auto-agenda-job-error{padding:8px 12px;font-size:12px;color:#b45309}.pwa-auto-agenda-preview-row{display:grid;grid-template-columns:18px 6px minmax(0,1fr) minmax(92px,auto) minmax(92px,auto);gap:6px;align-items:center;padding:8px 12px;font-size:12px;border-top:1px solid var(--color-border-tertiary)}.pwa-auto-agenda-preview-row--skipped{opacity:.55}.pwa-auto-agenda-preview-dot{width:8px;height:8px;border-radius:50%}.pwa-auto-agenda-preview-old{color:var(--color-text-tertiary);text-decoration:line-through;font-size:11px;white-space:nowrap}.pwa-auto-agenda-preview-row>span:nth-child(5){font-size:11px;white-space:nowrap}.pwa-auto-agenda-task-list-summary{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.pwa-auto-agenda-warn-chip{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:700;line-height:1.3}.pwa-auto-agenda-warn-chip--capacity{background:#c47c2a2e;color:#b45309;border:1px solid rgba(196,124,42,.45)}.pwa-auto-agenda-warn-chip--clamped{background:color-mix(in srgb,var(--color-accent, #0c447c) 14%,transparent);color:var(--color-accent, #0c447c);border:1px solid color-mix(in srgb,var(--color-accent, #0c447c) 35%,transparent)}.pwa-auto-agenda-warn-chip--impossible{background:#b4323224;color:#b43232;border:1px solid rgba(180,50,50,.45)}.pwa-auto-agenda-warn-chip--other{background:var(--color-background-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-tertiary)}.pwa-auto-agenda-preview-warn{grid-column:2 / -1;font-size:11px;color:#b45309}.pwa-auto-agenda-actions{display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}.pwa-auto-agenda-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--color-border-tertiary);background:var(--color-surface);font-size:13px;cursor:pointer}.pwa-auto-agenda-btn:disabled{opacity:.5;cursor:not-allowed}.pwa-auto-agenda-btn--primary{background:var(--color-accent, #0c447c);border-color:transparent;color:#fff}.pwa-auto-agenda-status{font-size:13px;color:var(--color-text-secondary)}.pwa-auto-agenda-search-results{border:1px solid var(--color-border-tertiary);border-radius:8px;max-height:160px;overflow-y:auto}.pwa-auto-agenda-search-hit{display:block;width:100%;text-align:left;padding:8px 10px;border:none;background:transparent;font-size:13px;cursor:pointer}.pwa-auto-agenda-search-hit:hover{background:var(--color-background-secondary)}.pwa-auto-agenda-search-hit+.pwa-auto-agenda-search-hit{border-top:1px solid var(--color-border-tertiary)}.pwa-auto-agenda-picker{display:flex;flex-direction:column;gap:8px}.pwa-auto-agenda-picker-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:1px solid var(--color-border-tertiary);border-radius:8px;background:var(--color-surface);font-size:13px;cursor:pointer;text-align:left}.pwa-auto-agenda-picker-trigger:disabled{opacity:.5;cursor:not-allowed}.pwa-auto-agenda-picker-chevron{color:var(--color-text-tertiary);font-size:11px}.pwa-auto-agenda-picker-panel{display:flex;flex-direction:column;gap:8px;padding:8px;max-height:min(280px,38vh);overflow:hidden;border:1px solid var(--color-border-tertiary);border-radius:8px;background:var(--color-background-secondary)}.pwa-auto-agenda-picker-list{overflow-y:auto;min-height:0;flex:1 1 auto}.pwa-auto-agenda-picker-filter{width:100%;font-size:13px}.pwa-auto-agenda-picker-family+.pwa-auto-agenda-picker-family{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border-tertiary)}.pwa-auto-agenda-picker-parent-row{display:flex;align-items:flex-start;gap:8px}.pwa-auto-agenda-picker-check,.pwa-auto-agenda-picker-child-row input{margin-top:2px;flex-shrink:0}.pwa-auto-agenda-picker-check-spacer{width:16px;flex-shrink:0}.pwa-auto-agenda-picker-parent-btn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:4px 6px;border:none;border-radius:6px;background:transparent;text-align:left;cursor:pointer}.pwa-auto-agenda-picker-parent-btn:hover:not(:disabled){background:var(--color-background-secondary)}.pwa-auto-agenda-picker-parent-btn:disabled{cursor:default;opacity:.65}.pwa-auto-agenda-picker-parent-label{font-size:13px;font-weight:600}.pwa-auto-agenda-picker-parent-meta{font-size:11px;color:var(--color-text-tertiary)}.pwa-auto-agenda-picker-child-row{display:flex;align-items:flex-start;gap:8px;padding:4px 6px 4px 28px;font-size:12px;cursor:pointer;border-radius:6px}.pwa-auto-agenda-picker-child-row.is-selected,.pwa-auto-agenda-picker-child-row:hover{background:var(--color-background-secondary)}.pwa-auto-agenda-picker-child-label{min-width:0}.pwa-auto-agenda-picker-hint,.pwa-auto-agenda-picker-footnote{margin:0;font-size:12px;color:var(--color-text-tertiary);line-height:1.45}.pwa-auto-agenda-bulk-date{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.pwa-auto-agenda-bulk-date-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--color-text-secondary)}.pwa-day-capacity{display:flex;flex-direction:column;min-width:0}.pwa-day-capacity--month{padding:5px 6px 8px;gap:3px;flex-shrink:0;background:var(--color-background-secondary);border-bottom:1px solid var(--color-border-strong);margin-bottom:0}.pwa-day-capacity--week{padding:8px 4px;gap:7px;width:100%;text-align:left;margin-top:6px;background:var(--color-background-secondary);border-top:1px solid var(--color-border-strong)}.pwa-day-capacity--heatmap{gap:6px;padding:8px;background:var(--color-background-secondary);border-radius:8px;border-bottom:1px solid var(--color-border-strong);margin-bottom:0}.pwa-day-capacity-row{display:grid;align-items:center;gap:4px;min-height:0;min-width:0}.pwa-day-capacity--month .pwa-day-capacity-row{grid-template-columns:minmax(0,4.2em) minmax(0,1fr) auto;gap:3px 4px}.pwa-day-capacity--month.pwa-day-capacity--compact-dot .pwa-day-capacity-row{grid-template-columns:5px minmax(0,1fr) auto}.pwa-day-capacity-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;align-self:center}.pwa-day-capacity--week .pwa-day-capacity-row{grid-template-columns:minmax(52px,5.5em) minmax(0,1fr) auto;gap:5px 8px;min-height:20px}.pwa-day-capacity--heatmap .pwa-day-capacity-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;min-height:10px}.pwa-day-capacity-type{font-size:9px;font-weight:700;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-day-capacity--week .pwa-day-capacity-type{font-size:11px;font-weight:700;letter-spacing:.01em}.pwa-day-capacity-track{height:6px;border-radius:999px;background:var(--color-surface-muted);overflow:hidden;position:relative;min-width:0}.pwa-day-capacity--week .pwa-day-capacity-track{height:12px;border-radius:6px}.pwa-day-capacity--heatmap .pwa-day-capacity-track{height:8px}.pwa-day-capacity-bar-stack{display:flex;height:100%;min-width:4px;border-radius:inherit;overflow:hidden}.pwa-day-capacity-fill{height:100%;flex-shrink:0;min-width:2px}.pwa-day-capacity-fill:first-child:last-child{border-radius:inherit}.pwa-day-capacity-bar-stack .pwa-day-capacity-fill:first-child{border-radius:inherit 0 0 inherit}.pwa-day-capacity-over{height:100%;flex-shrink:0;min-width:3px;border-left:1px solid rgba(196,80,48,.75);border-radius:0 inherit inherit 0;background-color:#c4503038;background-image:repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(196,80,48,.55) 2px,rgba(196,80,48,.55) 4px);pointer-events:none}.pwa-day-capacity-hours{font-size:9px;font-weight:700;color:var(--color-text-secondary);text-align:right;white-space:nowrap;flex-shrink:0}.pwa-day-capacity--week .pwa-day-capacity-hours{font-size:11px;min-width:52px}.pwa-day-capacity--heatmap .pwa-day-capacity-hours{font-size:10px;min-width:52px}.pwa-day-capacity-hours--over{color:#c45030}.pwa-day-capacity-row--over .pwa-day-capacity-track{box-shadow:none}.job-cal-pipeline{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-muted)}.job-cal-pipeline-title{margin-bottom:8px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.job-cal-pipeline-stages{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:0;align-items:start;width:100%;min-width:0}.job-cal-pipeline-stage{display:flex;min-width:0;flex-direction:column;align-items:center;gap:5px;position:relative}.job-cal-pipeline-stage:not(:first-child):before{content:"";position:absolute;top:13px;right:calc(50% + 14px);left:calc(-50% + 14px);height:2px;background:var(--color-border-strong);pointer-events:none}.job-cal-pipeline-stage--after-done:before{background:#22c55e}.job-cal-pipeline-node{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:999px;border:2px solid var(--color-border-strong);background:var(--color-surface-muted);color:var(--color-text-muted)}.job-cal-pipeline-node--done{border-color:#22c55e;background:#22c55e;color:#fff}.job-cal-pipeline-node--current{border-color:#a78bfa;background:#a78bfa;color:#1a1035}.job-cal-pipeline-node--pending{border-color:var(--color-border-strong);background:var(--color-surface-muted);color:var(--color-text-muted)}.job-cal-pipeline-label-block{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;min-width:0}.job-cal-pipeline-label{width:100%;max-width:100%;font-size:10px;font-weight:600;line-height:1.25;text-align:center;color:var(--color-text-secondary);white-space:normal;overflow:visible;text-overflow:unset;-webkit-hyphens:auto;hyphens:auto}.job-cal-pipeline-offset{font-size:9px;font-weight:600;line-height:1.2;text-align:center;color:var(--color-text-muted);white-space:nowrap}.job-cal-pipeline-offset--done{opacity:.55}.job-cal-pipeline-label--current{color:#a78bfa;font-weight:600}.job-cal-pipeline-label--done{text-decoration:line-through;opacity:.55}[data-theme=light] .job-cal-pipeline-node--current{border-color:#7c3aed;background:#7c3aed;color:#fff}[data-theme=light] .job-cal-pipeline-label--current{color:#7c3aed}.pwa-jobs-agenda-hover-host{display:block;min-width:0}.pwa-jobs-agenda-hover-host--fill{display:block;width:100%;height:100%}.pwa-jobs-agenda-hover-host .pwa-jobs-agenda-month-task,.pwa-jobs-agenda-hover-host .pwa-jobs-agenda-row,.pwa-jobs-agenda-hover-host .week-overflow-item{width:100%}.pwa-jobs-agenda-hover-tip{position:fixed;z-index:12000;box-sizing:border-box;width:min(460px,calc(100vw - 24px));max-width:min(460px,calc(100vw - 24px));padding:12px 14px;border-radius:10px;border:1px solid var(--color-border-strong);background:var(--color-surface);box-shadow:0 8px 28px var(--color-shadow-modal);pointer-events:none;line-height:1.35}.pwa-jobs-agenda-hover-tip--pinned{pointer-events:auto;padding:0;overflow:hidden}.pwa-jobs-agenda-hover-tip-inner{padding:12px 28px 0 14px}.pwa-jobs-agenda-hover-tip-close{position:absolute;top:8px;right:8px;z-index:1;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);padding:2px}.pwa-jobs-agenda-hover-tip--pinned .pwa-jobs-agenda-task-detail-actions{margin-top:0;padding:10px 14px 12px;border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-muted) 55%,var(--color-surface))}.pwa-jobs-agenda-hover-tip-job{font-size:13px;font-weight:500;color:var(--color-text);white-space:normal}.pwa-jobs-agenda-hover-tip-header{display:flex;align-items:flex-start;gap:10px}.pwa-jobs-agenda-hover-tip-header-main{flex:1;min-width:0}.pwa-jobs-agenda-hover-tip-progress{flex-shrink:0;margin-top:1px}.pwa-agenda-task-progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.pwa-agenda-task-progress-ring-track{stroke:color-mix(in srgb,var(--color-border-strong) 70%,transparent)}.pwa-agenda-task-progress-ring-fill{stroke:var(--color-primary, #6366f1);transition:stroke-dashoffset .25s ease-out}.pwa-agenda-task-progress-ring--complete .pwa-agenda-task-progress-ring-fill{stroke:var(--cal-assembly-color, #16a34a)}.pwa-agenda-task-progress-ring-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;line-height:1;color:var(--color-text);pointer-events:none}.pwa-agenda-task-progress-ring--complete .pwa-agenda-task-progress-ring-label{color:var(--cal-assembly-color, #16a34a)}.pwa-jobs-agenda-hover-tip-job strong{font-weight:800}.pwa-jobs-agenda-hover-tip-task{margin-top:4px;font-size:13px;font-weight:400;color:var(--color-text-muted);white-space:normal}.pwa-jobs-agenda-hover-tip-task--complete{text-decoration:line-through;opacity:.55;color:var(--color-text-muted)}.pwa-jobs-agenda-hover-tip-meta{margin-top:8px;font-size:12px;font-weight:500;color:var(--color-text-muted);white-space:normal;overflow-wrap:anywhere}.pwa-jobs-agenda-hover-tip-assignees{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:12px;line-height:1.35}.pwa-jobs-agenda-hover-tip-assignees-label{font-weight:700;color:var(--color-text-secondary);flex-shrink:0}.pwa-jobs-agenda-hover-tip-assignees-value{font-weight:500;color:var(--color-text);white-space:normal}.pwa-jobs-agenda-hover-tip-assignees--empty .pwa-jobs-agenda-hover-tip-assignees-value{color:var(--color-text-muted);font-style:italic}.pwa-jobs-agenda-hover-tip-drawings{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:12px;line-height:1.35}.pwa-jobs-agenda-hover-tip-drawings-label{font-weight:700;color:var(--color-text-secondary);flex-shrink:0}.pwa-jobs-agenda-hover-tip-drawings-value{font-weight:600;overflow-wrap:anywhere}.pwa-jobs-agenda-hover-tip-drawings-detail{flex-basis:100%;font-size:11px;color:var(--color-text-muted);overflow-wrap:anywhere}.pwa-jobs-agenda-hover-tip-drawings--approved .pwa-jobs-agenda-hover-tip-drawings-value{color:var(--cal-assembly-color, #16a34a)}.pwa-jobs-agenda-hover-tip-drawings--waiting .pwa-jobs-agenda-hover-tip-drawings-value{color:var(--cal-delivery-color, #d97706)}.pwa-jobs-agenda-hover-tip-drawings--action .pwa-jobs-agenda-hover-tip-drawings-value{color:var(--cal-install-color, #dc2626)}.pwa-jobs-agenda-hover-tip-drawings--unknown .pwa-jobs-agenda-hover-tip-drawings-value{color:var(--color-text-muted);font-style:italic}.pwa-jobs-agenda-hover-tip .job-cal-pipeline{margin-top:10px;padding-top:10px}.pwa-jobs-agenda-hover-tip .job-cal-pipeline-title{margin-bottom:10px;font-size:11px;letter-spacing:.06em;color:var(--color-text-secondary)}.pwa-jobs-agenda-hover-tip .job-cal-pipeline-label{font-size:10px;font-weight:600;line-height:1.25;white-space:normal;overflow:visible;text-overflow:unset;-webkit-hyphens:auto;hyphens:auto;color:var(--color-text-secondary)}.pwa-jobs-agenda-hover-tip .job-cal-pipeline-label--pending{color:var(--color-text-secondary)}.pwa-jobs-agenda-hover-tip .job-cal-pipeline-label--done{opacity:.7;color:var(--color-text-muted)}.pwa-jobs-agenda-hover-tip .job-cal-pipeline-offset{font-size:9px}.pwa-jobs-agenda-task--complete,.wtc-card.pwa-jobs-agenda-task--complete,.week-overflow-item.pwa-jobs-agenda-task--complete{opacity:.62}.pwa-jobs-agenda-task--complete span:not(.pwa-jobs-agenda-month-task-bar):not(.pwa-jobs-agenda-row-dot):not(.agenda-drawing-icon),.wtc-card.pwa-jobs-agenda-task--complete *:not(.wtc-violation-badge):not(.wtc-spacer),.week-overflow-item.pwa-jobs-agenda-task--complete *:not(.week-overflow-item-border){text-decoration:line-through}.ops-shop-drawing-chip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:3px 8px;border-radius:6px;border:1px solid;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap;letter-spacing:.01em}.ops-shop-drawing-chip--btn{cursor:pointer;font-family:inherit;transition:filter .12s ease,opacity .12s ease}.ops-shop-drawing-chip--btn:hover:not(:disabled){filter:brightness(.96)}.ops-shop-drawing-chip--btn:disabled{opacity:.65;cursor:wait}.agenda-drawing-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:17px;height:17px;border-radius:4px;border:1px solid var(--color-border-muted);color:var(--color-text-muted);background:color-mix(in srgb,var(--color-surface-muted) 55%,transparent);box-sizing:border-box}.agenda-drawing-icon svg{width:11px;height:11px;display:block}.agenda-drawing-icon--approved,.agenda-drawing-icon--status-client_approved,.agenda-drawing-icon--status-client_approved_with_comments,.agenda-drawing-icon--status-construction{color:#34d399;background:#34d39924;border-color:#34d39961}.agenda-drawing-icon--waiting,.agenda-drawing-icon--status-pm_submitted{color:#60a5fa;background:#60a5fa24;border-color:#60a5fa61}.agenda-drawing-icon--action,.agenda-drawing-icon--status-pm_review,.agenda-drawing-icon--status-pre_submittal{color:#fbbf24;background:#fbbf2424;border-color:#fbbf2461}.agenda-drawing-icon--status-client_rejected,.agenda-drawing-icon--status-pm_rejected{color:#f87171;background:#f8717124;border-color:#f8717161}.agenda-drawing-icon--unknown{color:var(--color-text-muted);background:color-mix(in srgb,var(--color-surface-muted) 45%,transparent);border-color:color-mix(in srgb,var(--color-border-muted) 70%,transparent)}.agenda-drawing-icon--muted{position:relative;opacity:.85}.agenda-drawing-icon--muted:after{content:"";position:absolute;inset:3px;background:linear-gradient(to top right,transparent calc(50% - .5px),currentColor calc(50% - .5px),currentColor calc(50% + .5px),transparent calc(50% + .5px));opacity:.5;pointer-events:none}:root,:root:not([data-theme=dark]){--cal-draft-color: #0d9488;--cal-draft-bg: color-mix(in srgb, #14b8a6 12%, var(--color-surface));--cal-draft-border: #0f766e;--cal-draft-text: #115e59;--cal-workshop-color: #0369a1;--cal-workshop-bg: color-mix(in srgb, #0ea5e9 12%, var(--color-surface));--cal-workshop-border: #0284c7;--cal-workshop-text: #075985;--cal-mach-color: #7c3aed;--cal-mach-bg: color-mix(in srgb, #8b5cf6 12%, var(--color-surface));--cal-mach-border: #6d28d9;--cal-mach-text: #5b21b6;--cal-assembly-color: #16a34a;--cal-assembly-bg: color-mix(in srgb, #22c55e 10%, var(--color-surface));--cal-assembly-border: #15803d;--cal-assembly-text: #166534;--cal-delivery-color: #d97706;--cal-delivery-bg: color-mix(in srgb, #f59e0b 12%, var(--color-surface));--cal-delivery-border: color-mix(in srgb, #d97706 40%, var(--color-border));--cal-delivery-text: #b45309;--cal-install-color: #dc2626;--cal-install-bg: color-mix(in srgb, #ef4444 10%, var(--color-surface));--cal-install-border: color-mix(in srgb, #dc2626 35%, var(--color-border));--cal-install-text: #b91c1c}[data-theme=dark]{--cal-draft-color: #2dd4bf;--cal-draft-bg: color-mix(in srgb, #2dd4bf 22%, #0a1f1e);--cal-draft-border: #2dd4bf;--cal-draft-text: #5eead4;--cal-workshop-color: #38bdf8;--cal-workshop-bg: color-mix(in srgb, #38bdf8 20%, #0a1628);--cal-workshop-border: #38bdf8;--cal-workshop-text: #7dd3fc;--cal-mach-color: #c4b5fd;--cal-mach-bg: color-mix(in srgb, #a78bfa 24%, #120a28);--cal-mach-border: #a78bfa;--cal-mach-text: #ddd6fe;--cal-assembly-color: #4ade80;--cal-assembly-bg: color-mix(in srgb, #4ade80 18%, #0a1a0c);--cal-assembly-border: #4ade80;--cal-assembly-text: #86efac;--cal-delivery-color: #fb923c;--cal-delivery-bg: color-mix(in srgb, #fb923c 20%, #1a1008);--cal-delivery-border: #fb923c;--cal-delivery-text: #fdba74;--cal-install-color: #f87171;--cal-install-bg: color-mix(in srgb, #f87171 18%, #1a0a0a);--cal-install-border: #f87171;--cal-install-text: #fca5a5}.week-outer{display:flex;flex-direction:column;width:100%;border:.5px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;background:var(--color-page)}.week-header{display:grid;grid-template-columns:48px repeat(var(--week-day-count, 7),minmax(0,1fr));border-bottom:1px solid var(--color-border-strong, rgba(255, 255, 255, .14));background:transparent;position:sticky;top:0;z-index:10}.week-gutter{border-right:.5px solid rgba(255,255,255,.08)}.week-day-head{padding:8px 6px;text-align:center;border-right:.5px solid rgba(255,255,255,.08);background:transparent;display:flex;flex-direction:column;align-items:stretch;min-width:0}.week-day-head:last-child{border-right:none}.week-dow{font-size:10px;color:#ffffff59;text-transform:uppercase;letter-spacing:.06em;display:block;font-weight:600}.week-daynum{border:none;background:transparent;font-size:18px;font-weight:500;color:#ffffffbf;line-height:1.2;cursor:pointer;padding:0;margin-top:2px}.week-daynum:hover{color:#fffffff2}.week-day-head--today .week-dow{color:#ffffff8c}.week-day-head--today .week-daynum{background:#185fa5;color:#fff;border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.week-day-density-badge{display:inline-block;margin-left:4px;font-size:9px;padding:1px 5px;border-radius:8px;background:#ffffff14;color:#fff6}.week-day-head .pwa-day-capacity--week .pwa-day-capacity-type{color:inherit}.week-day-head .pwa-day-capacity--week .pwa-day-capacity-hours{color:#ffffff8c}.week-day-head .pwa-day-capacity--week .pwa-day-capacity-hours--over{color:#e87850}.week-day-head .pwa-day-capacity--week .pwa-day-capacity-track{background:#ffffff1a}.week-body{display:grid;grid-template-columns:48px repeat(var(--week-day-count, 7),minmax(0,1fr));position:relative;height:auto;overflow:visible;background:color-mix(in srgb,var(--color-page) 92%,#000)}.week-body--single-day{grid-template-columns:48px 1fr}.week-gutter-col{position:relative;border-right:.5px solid rgba(255,255,255,.08);min-height:var(--grid-height, 1260px)}.week-hour-label{position:absolute;right:6px;font-size:10px;color:#ffffff47;transform:translateY(-6px);-webkit-user-select:none;user-select:none;pointer-events:none}.week-day-col{position:relative;border-right:.5px solid rgba(255,255,255,.08);min-width:0;min-height:var(--grid-height, 1260px)}.week-day-col:last-child{border-right:none}.week-gridline{position:absolute;left:0;right:0;height:.5px;background:#ffffff0f;pointer-events:none}.week-gridline--half{background:#ffffff08}.week-gridline--strong{background:#ffffff1a}.week-now-line{position:absolute;left:48px;right:0;height:1.5px;background:#e05050;opacity:.7;pointer-events:none;z-index:5}.week-now-line-dot{position:absolute;left:-4px;top:-3.5px;width:8px;height:8px;border-radius:50%;background:#e05050}.wtc-stack{position:absolute}.wtc-stack--dragging{pointer-events:none}.wtc-card{position:relative;width:100%;box-sizing:border-box;border-radius:5px;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;transition:box-shadow .1s}.wtc-card:hover{z-index:20;box-shadow:0 0 0 1.5px var(--card-border-color)}.wtc-card--dragging{opacity:.75;z-index:30;cursor:grabbing;touch-action:none;box-shadow:0 4px 16px #00000059}.wtc-card--selected{box-shadow:0 0 0 1.5px var(--card-border-color);z-index:25}.wtc-violation-badge{position:absolute;top:3px;right:3px;background:#faece7;color:#712b13;font-size:9px;padding:1px 4px;border-radius:3px;font-weight:500;z-index:2;line-height:1.2}.week-milestone-line{position:absolute;left:0;right:0;height:1.5px;opacity:.6;pointer-events:none;z-index:4}.week-milestone-line-label{position:absolute;right:4px;top:-8px;font-size:9px;font-weight:500;opacity:.8;background:var(--color-background-primary);padding:0 3px}.wtc-normal{min-height:45px}.wtc-compact{min-height:28px}.wtc-overflow{min-height:24px}.wtc-header{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 1px;flex-shrink:0;pointer-events:none}.wtc-job{font-size:12px;font-weight:800;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:4px}.wtc-badge{font-size:10px;font-weight:500;border-radius:4px;padding:1px 5px;flex-shrink:0;white-space:nowrap}.wtc-name{font-size:11px;font-weight:400;padding:0 6px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;pointer-events:none}.wtc-time{font-size:10px;padding:1px 6px 0;flex-shrink:0;pointer-events:none}.wtc-spacer{flex:1;min-height:0;pointer-events:none}.wtc-compact-body,.wtc-overflow-body{padding:4px 5px;overflow:hidden}.wtc-compact-job,.wtc-overflow-job{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wtc-compact-type{font-size:10px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wtc-overflow-bar{width:16px;height:3px;border-radius:2px;opacity:.6;margin-top:3px}.wtc-overview-body{padding:4px 5px 2px;overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column;gap:2px;pointer-events:none}.wtc-overview-job{font-size:10px;font-weight:800;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word}.wtc-overview-job-name{font-weight:500}.wtc-overview-task{font-size:10px;font-weight:500;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word}.wtc-overview-time{font-size:9px;line-height:1.2;flex-shrink:0;pointer-events:none}.wtc-card--overview.wtc-compact{min-height:36px}.wtc-card--overview .wtc-spacer{flex:0;min-height:0}.wtc-resize-handle{height:12px;cursor:ns-resize;touch-action:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.6;transition:opacity .15s}.wtc-resize-handle:hover{opacity:1}.wtc-compact .resize-handle,.wtc-overflow .resize-handle{height:6px;opacity:.3}.week-overflow-pill{position:absolute;background:var(--color-background-secondary);border:.5px solid var(--color-border-secondary);border-radius:5px;padding:4px 5px;cursor:pointer;z-index:3;min-height:28px;text-align:center;color:var(--color-text-secondary);font-size:10px;font-weight:500}.week-overflow-pill small{display:block;font-size:9px;color:var(--color-text-muted);font-weight:400}.week-overflow-popover{position:absolute;z-index:1000;background:var(--color-surface);border:.5px solid var(--color-border-secondary);border-radius:12px;overflow:hidden;box-shadow:0 6px 24px var(--color-shadow-modal)}.week-overflow-popover-head{padding:8px 12px;border-bottom:.5px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:500;color:var(--color-text)}.week-overflow-popover-head button{background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:14px}.week-overflow-popover-list{max-height:280px;overflow-y:auto}.week-overflow-item{width:100%;display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:.5px solid var(--color-border);cursor:pointer;background:transparent;border-left:none;border-right:none;border-top:none;text-align:left}.week-overflow-item:hover{background:var(--color-background-secondary)}.week-overflow-item-border{width:3px;align-self:stretch;border-radius:2px;flex-shrink:0}.week-overflow-item-main{flex:1;min-width:0}.week-overflow-item-task{font-size:11px;font-weight:500;color:var(--color-text-muted);line-height:1.3;margin-top:2px}.week-overflow-item-job-name{font-weight:500}.week-overflow-item-job{font-size:12px;font-weight:800;color:var(--color-text);margin-bottom:1px}.week-overflow-item-name{font-size:11px;font-weight:400;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.week-overflow-item-times{font-size:10px;color:var(--color-text-muted);flex-shrink:0;text-align:right}.wtc-detail{position:relative;z-index:6;font-size:11px;margin-top:4px}.wtc-detail .pwa-jobs-agenda-task-detail{margin-top:0;font-size:11px}[data-theme=light] .week-outer,:root:not([data-theme=dark]) .week-outer{border-color:var(--color-border-strong);background:var(--color-surface)}[data-theme=light] .week-body,:root:not([data-theme=dark]) .week-body{background:var(--color-page-alt)}[data-theme=light] .week-dow,:root:not([data-theme=dark]) .week-dow{color:var(--color-text-tertiary)}[data-theme=light] .week-daynum,:root:not([data-theme=dark]) .week-daynum{color:var(--color-text-primary)}[data-theme=light] .week-day-col,:root:not([data-theme=dark]) .week-day-col{border-right-color:#00000014}[data-theme=light] .week-day-head,:root:not([data-theme=dark]) .week-day-head{border-right-color:var(--color-border)}[data-theme=light] .week-gridline,:root:not([data-theme=dark]) .week-gridline{background:#0000000d}[data-theme=light] .week-gridline--half,:root:not([data-theme=dark]) .week-gridline--half{background:#00000008}[data-theme=light] .week-gridline--strong,:root:not([data-theme=dark]) .week-gridline--strong{background:#00000014}[data-theme=light] .week-hour-label,:root:not([data-theme=dark]) .week-hour-label{color:var(--color-text-tertiary)}[data-theme=light] .week-now-line,:root:not([data-theme=dark]) .week-now-line{background:#e24b4a;opacity:.5}[data-theme=light] .week-now-line-dot,:root:not([data-theme=dark]) .week-now-line-dot{background:#e24b4a}@media(max-width:767px){.week-outer{display:none}}@media(min-width:1400px){.wtc-job{font-size:11px}.wtc-name{font-size:12px}.wtc-time{font-size:11px}}.month-view-dow-header{display:grid;grid-template-columns:repeat(var(--agenda-day-cols, 7),minmax(0,1fr));border-bottom:.5px solid var(--color-border-tertiary, var(--color-border));position:sticky;top:0;z-index:6;background:var(--color-background-primary, var(--color-surface))}.month-view-dow-cell{padding:6px 9px;font-size:10px;font-weight:500;color:var(--color-text-tertiary, var(--color-text-muted));text-transform:uppercase;letter-spacing:.06em}.month-view-dow-cell--weekend{color:var(--color-text-tertiary, var(--color-text-muted))}.month-view-grid{display:grid;grid-template-columns:repeat(var(--agenda-day-cols, 7),minmax(0,1fr));border-left:.5px solid var(--color-border-tertiary, var(--color-border));border-top:.5px solid var(--color-border-tertiary, var(--color-border))}.month-day-cell{display:flex;flex-direction:column;min-height:140px;min-width:0;overflow:hidden;border-right:.5px solid var(--color-border-tertiary, var(--color-border));border-bottom:.5px solid var(--color-border-tertiary, var(--color-border));background:var(--color-background-primary, var(--color-surface))}@media(min-width:1100px){.month-day-cell{min-height:170px}}@media(min-width:1400px){.month-day-cell{min-height:200px}}.month-day-cell.other-month{opacity:.8}.month-day-cell.current-month-edge{box-shadow:inset 2px 0 color-mix(in srgb,var(--color-primary) 80%,transparent)}.month-day-cell.weekend .month-day-num{color:var(--color-text-tertiary, var(--color-text-muted))}.month-day-cell--today .month-day-num{background:#185fa5;color:#fff}.month-day-cell--drop{background:color-mix(in srgb,var(--color-info-bg) 55%,var(--color-background-primary, var(--color-surface)));outline:2px dashed var(--color-info-border);outline-offset:-2px}.month-day-cell--expanded{position:relative;z-index:3;overflow:visible;box-shadow:0 6px 20px var(--color-shadow-modal, rgba(0, 0, 0, .2))}.month-day-cell--expanded .month-task-list{flex:0 1 auto;max-height:min(55vh,480px);overflow-y:auto}.month-day-header{width:100%;margin:0;padding:7px 9px 5px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border:none;border-radius:0;border-bottom:.5px solid var(--color-border-tertiary, var(--color-border));cursor:pointer;text-align:left;font:inherit;color:inherit}[data-theme=light] .month-day-header,:root:not([data-theme=dark]) .month-day-header{background:color-mix(in srgb,var(--color-surface-muted) 42%,var(--color-background-primary, var(--color-surface)))}[data-theme=light] .month-day-header:hover,:root:not([data-theme=dark]) .month-day-header:hover{background:color-mix(in srgb,var(--color-surface-muted) 58%,var(--color-background-primary, var(--color-surface)))}[data-theme=dark] .month-day-cell{background:var(--color-page)}[data-theme=dark] .month-day-header{background:var(--color-surface);border-bottom-color:var(--color-border-strong)}[data-theme=dark] .month-day-header:hover{background:var(--color-surface-hover)}.month-day-num{font-size:13px;font-weight:500;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;color:var(--color-text-primary);flex-shrink:0}.month-day-count{font-size:10px;color:var(--color-text-tertiary, var(--color-text-muted))}.month-capacity-row{display:flex;align-items:center;gap:5px}.month-capacity-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.month-capacity-track{flex:1;height:3px;border-radius:2px;background:var(--color-background-secondary, var(--color-surface-muted));overflow:hidden}.month-capacity-fill{height:100%;border-radius:2px}.month-capacity-fill--over{opacity:.5}.month-capacity-hours{font-size:9px;color:var(--color-text-tertiary, var(--color-text-muted));font-weight:400;min-width:28px;text-align:right;white-space:nowrap}.month-capacity-hours--over{font-weight:500}.month-task-list{padding:0 6px 6px;display:flex;flex-direction:column;gap:1px;flex:1;overflow:hidden;min-height:0}.month-task-more{padding:2px 4px;font-size:9px;color:var(--color-text-tertiary, var(--color-text-muted));cursor:pointer;text-align:center;border-radius:3px;border:none;background:transparent;width:100%}.month-task-more:hover{background:var(--color-background-secondary, var(--color-surface-muted))}.month-task-row{display:grid;grid-template-columns:3px max-content minmax(0,1fr) 26px 18px 32px;align-items:center;column-gap:3px;padding:2px 4px;border-radius:3px;cursor:grab;overflow:hidden;border:none;background:transparent;width:100%;min-width:0;text-align:left;color:inherit}.month-task-row:active{cursor:grabbing}.month-task-row:hover{background:var(--color-background-secondary, var(--color-surface-muted))}.month-task-accent{grid-column:1;width:2.5px;align-self:stretch;min-height:14px;border-radius:1px;justify-self:center}.month-task-job{grid-column:2;font-size:10px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;padding-right:2px}.month-task-job--wide{grid-column:2 / 4}.month-task-joinery{grid-column:3;min-width:0;font-size:9px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.month-task-joinery--empty{visibility:hidden;pointer-events:none}.month-task-badge{grid-column:4;justify-self:center;width:26px;box-sizing:border-box;font-size:9px;font-weight:500;padding:1px 0;border-radius:3px;text-align:center;white-space:nowrap;overflow:hidden}.month-task-drawing{grid-column:5;justify-self:center;display:flex;align-items:center;justify-content:center;width:18px}.month-task-time{grid-column:6;justify-self:end;width:32px;box-sizing:border-box;font-size:9px;color:var(--color-text-tertiary, var(--color-text-muted));font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}@media(max-width:1100px){.month-task-row{grid-template-columns:3px max-content minmax(0,1fr) 26px 18px}.month-task-time{display:none}}.month-task-wrap{min-width:0}.month-task-wrap .pwa-jobs-agenda-task-detail{margin:0 0 4px;font-size:11px}.pwa-jobs-agenda{display:flex;flex-direction:column;gap:12px}.calendar-page{max-width:100%;margin:0 auto;width:100%;padding:0 16px;box-sizing:border-box}.pwa-jobs-agenda-toolbar{display:flex;flex-direction:column;gap:12px;padding:12px 14px;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);box-shadow:var(--panel-shadow)}.pwa-jobs-agenda-toolbar-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}.pwa-jobs-agenda-view-toggle{display:inline-flex;justify-self:start;border:1px solid var(--color-border-strong);border-radius:10px;overflow:hidden;background:var(--color-page)}.pwa-jobs-agenda-view-btn{border:none;background:transparent;color:var(--color-text-secondary);font-size:13px;font-weight:600;padding:8px 14px;cursor:pointer}.pwa-jobs-agenda-view-btn--active{background:var(--color-surface-muted);color:var(--color-text);box-shadow:inset 0 0 0 1px var(--color-border-strong)}.pwa-jobs-agenda-view-label{font-size:13px;font-weight:700;color:var(--color-text)}.pwa-jobs-agenda-nav{display:flex;align-items:center;gap:8px;justify-self:center;justify-content:center;min-width:0}.pwa-jobs-agenda-range{text-align:center;font-size:14px;font-weight:600;color:var(--color-text);white-space:nowrap}.pwa-jobs-agenda-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface);color:var(--color-text);cursor:pointer}.pwa-jobs-agenda-icon-btn .pwa-action-icon-svg{display:block;width:18px;height:18px;flex-shrink:0}.pwa-jobs-agenda-icon-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.pwa-jobs-agenda-today-btn{border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:600;padding:7px 12px;cursor:pointer}.pwa-jobs-agenda-actions{display:flex;align-items:center;gap:8px;justify-self:end;justify-content:flex-end;min-width:0}.pwa-jobs-agenda-search{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-input-bg);padding:0 10px;min-width:min(220px,100%);color:var(--color-text-muted)}.pwa-jobs-agenda-search input{border:none;background:transparent;color:var(--color-text);font-size:13px;padding:8px 0;width:100%;outline:none}.pwa-jobs-agenda-filters{display:flex;align-items:center;gap:10px;min-width:0}.pwa-jobs-agenda-filters-label,.pwa-jobs-agenda-sort span{font-size:12px;font-weight:600;color:var(--color-text-muted);flex-shrink:0}.pwa-jobs-agenda-filters-scroll{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;flex:1;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none}.pwa-jobs-agenda-filters-scroll::-webkit-scrollbar{display:none}.pwa-jobs-agenda-filters-trailing{margin-left:auto;flex-shrink:0}.pwa-jobs-agenda-chips{display:flex;flex-wrap:nowrap;gap:8px;flex-shrink:0}.pwa-jobs-agenda-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--chip-border, var(--color-border));background:color-mix(in srgb,var(--chip-bg) 55%,var(--color-surface));color:var(--chip-text, var(--color-text-secondary));border-radius:999px;font-size:12px;font-weight:600;padding:5px 12px 5px 10px;cursor:pointer;opacity:.55;scroll-snap-align:start;flex-shrink:0}.pwa-jobs-agenda-chip--active{opacity:1;border-color:var(--chip-color);background:var(--chip-bg);color:var(--chip-text)}.pwa-jobs-agenda-chip-dot{width:8px;height:8px;border-radius:2px;background:var(--chip-color);flex-shrink:0}.pwa-jobs-agenda-filter-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;-webkit-user-select:none;user-select:none;scroll-snap-align:start}.pwa-jobs-agenda-filter-check input{accent-color:var(--color-primary);cursor:pointer}.pwa-jobs-agenda-filter-btn{display:inline-flex;align-items:center;flex-shrink:0;scroll-snap-align:start;padding:4px 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-secondary);font-size:12px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.pwa-jobs-agenda-filter-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-text)}.pwa-jobs-agenda-filter-btn.is-active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary)}.pwa-jobs-agenda-filter-btn:disabled{opacity:.45;cursor:not-allowed}.pwa-jobs-agenda-sort{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.pwa-jobs-agenda-sort select,.pwa-jobs-agenda-sort-select{border:1px solid var(--color-border-strong);border-radius:8px;background-color:var(--color-input-bg);color:var(--color-text);font-size:13px;padding:6px 28px 6px 10px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;color-scheme:light}[data-theme=dark] .pwa-jobs-agenda-sort select,[data-theme=dark] .pwa-jobs-agenda-sort-select{color-scheme:dark}[data-theme=light] .pwa-jobs-agenda-sort select,[data-theme=light] .pwa-jobs-agenda-sort-select{color-scheme:light}.pwa-jobs-agenda-sort select option,.pwa-jobs-agenda-sort-select option{background-color:var(--color-surface);color:var(--color-text)}.pwa-jobs-agenda-status{font-size:13px;color:var(--color-text-secondary)}.pwa-jobs-agenda-error{font-size:13px;color:var(--color-error-text);padding:8px 12px;border-radius:10px;border:1px solid var(--color-error-text);background:var(--color-error-bg)}.pwa-jobs-agenda-refresh-error{font-size:13px;color:var(--color-error-text);padding:8px 12px;border-radius:10px;border:1px solid var(--color-border-strong);background:var(--color-error-bg)}.pwa-jobs-agenda--refreshing{opacity:.96;transition:opacity .2s ease-out}.pwa-jobs-agenda-month-edge-loading--refresh{opacity:.88;font-weight:500}.pwa-jobs-agenda-heatmap{display:grid;grid-template-columns:repeat(var(--agenda-day-cols, 7),minmax(0,1fr));gap:6px}.pwa-jobs-agenda-heatmap-card{display:flex;flex-direction:column;gap:8px;min-height:0;padding:12px 10px 10px;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);text-align:left;cursor:pointer;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.pwa-jobs-agenda-heatmap-card:hover{border-color:var(--color-border-hover);background:var(--color-surface-hover)}.pwa-jobs-agenda-heatmap-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary-outline-border)}.pwa-jobs-agenda-heatmap-head{display:flex;flex-direction:column;align-items:center;gap:4px}.pwa-jobs-agenda-heatmap-dow{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--color-text-muted)}.pwa-jobs-agenda-heatmap-date{font-size:22px;font-weight:800;line-height:1;color:var(--color-text);width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.pwa-jobs-agenda-heatmap-head--today .pwa-jobs-agenda-heatmap-dow,.pwa-jobs-agenda-heatmap-head--today .pwa-jobs-agenda-heatmap-date{color:var(--color-primary)}.pwa-jobs-agenda-heatmap-head--today .pwa-jobs-agenda-heatmap-date{background:var(--color-primary);color:var(--color-on-primary)}.pwa-jobs-agenda-heatmap-bars{display:flex;flex-direction:column;gap:6px}.pwa-jobs-agenda-heatmap-bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:10px}.pwa-jobs-agenda-heatmap-bar-track{height:8px;border-radius:999px;background:var(--color-surface-muted);overflow:hidden;position:relative}.pwa-jobs-agenda-heatmap-bar-fill{height:100%;border-radius:999px;min-width:4px}.pwa-jobs-agenda-heatmap-bar-over{position:absolute;inset:0;border-radius:999px;background:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(196,80,48,.45) 2px,rgba(196,80,48,.45) 4px);pointer-events:none}.pwa-jobs-agenda-heatmap-bar-count{font-size:10px;font-weight:700;color:var(--color-text-secondary);min-width:52px;text-align:right;white-space:nowrap}.pwa-jobs-agenda-heatmap-bar-count--over{color:#c45030}.pwa-jobs-agenda-heatmap-bar-row--over .pwa-jobs-agenda-heatmap-bar-track{box-shadow:0 0 0 1px #c4503059}.pwa-jobs-agenda-heatmap-card .pwa-day-capacity--heatmap{flex-shrink:0}.pwa-jobs-agenda-heatmap-footer{font-size:11px;font-weight:600;color:var(--color-text-muted);display:flex;align-items:center;justify-content:space-between;padding-top:4px;border-top:1px solid var(--color-border)}.pwa-jobs-agenda-heatmap-capacity{font-size:10px;padding:1px 5px;border-radius:8px;font-weight:600}.pwa-jobs-agenda-heatmap-capacity[data-state=ok]{background:#5a9e2f1f;color:#5a9e2f}.pwa-jobs-agenda-heatmap-capacity[data-state=busy]{background:#c47c2a26;color:#c47c2a}.pwa-jobs-agenda-heatmap-capacity[data-state=over]{background:#c4503026;color:#c45030}@media(min-width:1400px){.pwa-jobs-agenda-heatmap-dow{font-size:11px}.pwa-jobs-agenda-heatmap-date{font-size:20px}}.pwa-jobs-agenda-swimlane{border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);overflow:hidden}.pwa-jobs-agenda-swimlane-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--color-border);background:var(--color-surface-muted)}.pwa-jobs-agenda-swimlane-title{margin:0;font-size:15px;font-weight:700;color:var(--color-text)}.pwa-jobs-agenda-swimlane-count{margin-left:auto;font-size:12px;font-weight:600;color:var(--color-text-muted)}.pwa-jobs-agenda-swimlane-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer}.pwa-jobs-agenda-swimlane-close:hover{background:var(--color-surface-hover);color:var(--color-text)}.pwa-jobs-agenda-swimlane-grid{display:grid;gap:0;overflow-x:auto}.pwa-jobs-agenda-swimlane-grid-host{border-top:.5px solid var(--color-border)}.pwa-jobs-agenda-swimlane-grid-host .week-outer{border:none;border-radius:0}.pwa-jobs-agenda-lane{display:flex;flex-direction:column;min-width:100px;border-right:1px solid var(--color-border)}.pwa-jobs-agenda-lane:last-child{border-right:none}.pwa-jobs-agenda-lane-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;font-size:12px;font-weight:700;color:var(--color-text);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted)}.pwa-jobs-agenda-lane-badge{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-text-secondary)}.pwa-jobs-agenda-lane-body{display:flex;flex-direction:column;gap:8px;padding:10px;min-height:120px}.pwa-jobs-agenda-lane-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--color-text-muted);font-size:18px;font-weight:600}.pwa-jobs-agenda-lane-task-wrap,.pwa-jobs-agenda-row-wrap{display:flex;flex-direction:column;gap:0}.pwa-jobs-agenda-lane-task{display:flex;flex-direction:column;gap:2px;width:100%;border:1px solid var(--color-border);border-left-width:3px;border-radius:8px;background:var(--color-surface);padding:8px 10px;text-align:left;cursor:pointer;color:var(--color-text)}.pwa-jobs-agenda-lane-task:hover,.pwa-jobs-agenda-lane-task--expanded{background:var(--color-surface-hover)}.pwa-jobs-agenda-lane-task-job{font-size:12px;font-weight:800;color:var(--color-text)}.pwa-jobs-agenda-lane-task-job-name{font-size:11px;font-weight:500;color:var(--color-text-muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.3}.pwa-jobs-agenda-lane-task-title{font-size:12px;font-weight:400;color:var(--color-text-muted);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pwa-jobs-agenda-lane-task-time{font-size:11px;color:var(--color-text-muted)}.pwa-jobs-agenda-task-detail{box-sizing:border-box;width:min(460px,calc(100vw - 24px));max-width:min(460px,calc(100vw - 24px));margin-top:6px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);box-shadow:0 8px 28px var(--color-shadow-modal);overflow:hidden;line-height:1.35}.pwa-jobs-agenda-task-detail-body{box-sizing:border-box;padding:12px 14px;font-size:12px;color:var(--color-text-secondary)}.pwa-jobs-agenda-task-detail-actions{padding:10px 14px 12px;border-top:1px solid var(--color-border);background:color-mix(in srgb,var(--color-surface-muted) 55%,var(--color-surface))}.pwa-jobs-agenda-hover-tip .job-cal-pipeline,.pwa-jobs-agenda-task-detail-body .job-cal-pipeline{margin-top:10px;padding-top:10px}.pwa-jobs-agenda-hover-tip .job-cal-pipeline-title,.pwa-jobs-agenda-task-detail-body .job-cal-pipeline-title{margin-bottom:10px;font-size:11px;letter-spacing:.06em;color:var(--color-text-secondary)}.pwa-jobs-agenda-hover-tip .job-cal-pipeline-label,.pwa-jobs-agenda-task-detail-body .job-cal-pipeline-label{font-size:10px;font-weight:600;line-height:1.25;white-space:normal;overflow:visible;text-overflow:unset;-webkit-hyphens:auto;hyphens:auto;color:var(--color-text-secondary)}.pwa-jobs-agenda-hover-tip .job-cal-pipeline-label--pending,.pwa-jobs-agenda-task-detail-body .job-cal-pipeline-label--pending{color:var(--color-text-secondary)}.pwa-jobs-agenda-hover-tip .job-cal-pipeline-label--done,.pwa-jobs-agenda-task-detail-body .job-cal-pipeline-label--done{opacity:.7;color:var(--color-text-muted)}.pwa-jobs-agenda-hover-tip .job-cal-pipeline-offset,.pwa-jobs-agenda-task-detail-body .job-cal-pipeline-offset{font-size:9px}.pwa-jobs-agenda-lane-task-wrap .pwa-jobs-agenda-task-detail{margin-top:0;border-top:none;border-top-left-radius:0;border-top-right-radius:0;box-shadow:none}.pwa-jobs-agenda-row-wrap .pwa-jobs-agenda-task-detail{margin:4px 4px 6px}.pwa-jobs-agenda-task-detail-line{color:var(--color-text)}.pwa-jobs-agenda-task-detail-meta{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:6px;font-size:11px}.pwa-jobs-agenda-task-detail-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:10px}.pwa-jobs-agenda-task-date-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--color-text-secondary);min-width:0}.pwa-jobs-agenda-task-date-field input{border:1px solid var(--color-border-strong);border-radius:6px;background:var(--color-input-bg);color:var(--color-text);font-size:12px;padding:6px 8px;width:100%;box-sizing:border-box}.pwa-jobs-agenda-task-detail-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pwa-jobs-agenda-task-detail-btn{border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:11px;font-weight:700;line-height:1.2;padding:8px 6px;cursor:pointer;text-align:center;min-width:0}.pwa-jobs-agenda-task-detail-btn:hover:not(:disabled){background:var(--color-surface-hover)}.pwa-jobs-agenda-task-detail-btn:disabled{opacity:.5;cursor:not-allowed}.pwa-jobs-agenda-task-detail-btn--primary{border-color:var(--color-primary-outline-border);background:var(--color-primary-bg);color:var(--color-primary)}.pwa-jobs-agenda-task-detail-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary-bg) 75%,var(--color-surface-hover))}.pwa-jobs-agenda-task-detail-btn--active{border-color:var(--color-primary-outline-border);background:var(--color-primary-bg);color:var(--color-primary)}.pwa-jobs-agenda-task-draggable{cursor:grab}.pwa-jobs-agenda-task-draggable:active{cursor:grabbing}.pwa-jobs-agenda-drop-zone--active{outline:2px dashed var(--color-primary);outline-offset:-2px;background:color-mix(in srgb,var(--color-primary-bg) 55%,transparent)}.pwa-jobs-agenda-row--expanded{background:var(--color-surface-hover)}.pwa-jobs-agenda-week-slots{border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);overflow-x:auto;overflow-y:visible}.pwa-jobs-agenda-week-slots-head{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr));border-bottom:1px solid var(--color-border);background:var(--color-surface-muted)}.pwa-jobs-agenda-week-slots-time-spacer{border-right:1px solid var(--color-border)}.pwa-jobs-agenda-week-slots-day-head{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-right:1px solid var(--color-border)}.pwa-jobs-agenda-week-slots-day-head:last-child{border-right:none}.pwa-jobs-agenda-week-slots-dow{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--color-text-muted)}.pwa-jobs-agenda-week-slots-date-btn{border:none;background:transparent;font-size:20px;font-weight:800;line-height:1;color:var(--color-text);width:34px;height:34px;border-radius:999px;cursor:pointer;padding:0}.pwa-jobs-agenda-week-slots-date-btn:hover{background:var(--color-surface-hover);color:var(--color-primary)}.pwa-jobs-agenda-week-slots-day-head--today .pwa-jobs-agenda-week-slots-dow,.pwa-jobs-agenda-week-slots-day-head--today .pwa-jobs-agenda-week-slots-date-btn{color:var(--color-primary)}.pwa-jobs-agenda-week-slots-day-head--today .pwa-jobs-agenda-week-slots-date-btn{background:var(--color-primary-bg)}.pwa-jobs-agenda-week-slots-body{display:flex;flex-direction:column}.pwa-jobs-agenda-week-slots--resizing,body.pwa-jobs-agenda-week-slots--resizing{cursor:ns-resize;-webkit-user-select:none;user-select:none}body.pwa-jobs-agenda-week-slots--resizing .pwa-jobs-agenda-week-slot-task-shell:not(.pwa-jobs-agenda-week-slot-task-shell--resizing){pointer-events:none}.pwa-jobs-agenda-week-slots-row{display:grid;grid-template-columns:52px repeat(7,minmax(0,1fr));border-bottom:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);min-height:52px}.pwa-jobs-agenda-week-slots-row:last-child{border-bottom:none}.pwa-jobs-agenda-week-slots-time{display:flex;align-items:flex-start;justify-content:flex-end;padding:6px 8px 0 0;font-size:11px;color:var(--color-text-muted);border-right:1px solid var(--color-border)}.pwa-jobs-agenda-week-slots-cell{display:flex;flex-direction:column;gap:4px;padding:4px;border-right:1px solid var(--color-border);min-width:0;overflow:visible;position:relative}.pwa-jobs-agenda-week-slots-cell:last-child{border-right:none}.pwa-jobs-agenda-week-slot-task-wrap{display:flex;flex-direction:column}.pwa-jobs-agenda-week-slot-task-shell{position:relative;display:flex;flex-direction:column;flex:1}.pwa-jobs-agenda-week-slot-task-shell--resizing{outline:2px solid var(--color-primary);outline-offset:1px;border-radius:6px;z-index:6}.pwa-jobs-agenda-week-slot-resize-handle{position:absolute;left:0;right:0;bottom:0;height:14px;margin-top:0;cursor:ns-resize;touch-action:none;border-radius:0 0 6px 6px;background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--color-primary) 45%,transparent));z-index:2}.pwa-jobs-agenda-week-slot-resize-handle:after{content:"";display:block;width:24px;height:3px;margin:3px auto 0;border-radius:999px;background:var(--color-text-muted);opacity:.65}.pwa-jobs-agenda-week-slot-resize-handle:hover:after,.pwa-jobs-agenda-week-slot-task-shell--resizing .pwa-jobs-agenda-week-slot-resize-handle:after{background:var(--color-primary);opacity:1}.pwa-jobs-agenda-week-slot-task{display:flex;flex-direction:column;gap:1px;width:100%;flex:1;border:1px solid var(--color-border);border-left-width:3px;border-radius:6px;padding:4px 6px;text-align:left;cursor:pointer;color:var(--color-text)}.pwa-jobs-agenda-week-slot-task:hover,.pwa-jobs-agenda-week-slot-task--expanded{filter:brightness(1.02)}.pwa-jobs-agenda-week-slot-task-job{font-size:11px;font-weight:800;color:var(--color-text)}.pwa-jobs-agenda-week-slot-task-job-name{font-size:10px;font-weight:500;color:var(--color-text-muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.25}.pwa-jobs-agenda-week-slot-task-title{font-size:10px;font-weight:400;color:var(--color-text-muted);line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.pwa-jobs-agenda-week-slot-task-time{margin-top:auto;font-size:10px;color:var(--color-text-muted);font-weight:600}.pwa-jobs-agenda-week-slot-task-wrap .pwa-jobs-agenda-task-detail{margin-top:0;border-top:none;border-top-left-radius:0;border-top-right-radius:0;box-shadow:none;font-size:11px}.pwa-jobs-agenda-week-slot-more{border:1px dashed var(--color-border-strong);border-radius:6px;background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:10px;font-weight:700;padding:4px 6px;cursor:pointer;text-align:center}.pwa-jobs-agenda-week-slot-more:hover{color:var(--color-primary);border-color:var(--color-primary-outline-border)}.pwa-jobs-agenda-wrap{max-width:900px;margin:0 auto;width:100%}.pwa-jobs-agenda-list{border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);overflow:hidden}.pwa-jobs-agenda-day-row{display:grid;grid-template-columns:72px minmax(0,1fr);border-bottom:1px solid var(--color-border);min-height:56px}.pwa-jobs-agenda-day-row:last-child{border-bottom:none}.pwa-jobs-agenda-day-date{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:12px 8px;border-right:1px solid var(--color-border);background:var(--color-surface-muted);position:sticky;left:0}.pwa-jobs-agenda-day-dow{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--color-text-muted)}.pwa-jobs-agenda-day-num{font-size:22px;font-weight:800;line-height:1.1;color:var(--color-text)}.pwa-jobs-agenda-day-mon{font-size:11px;color:var(--color-text-muted)}.pwa-jobs-agenda-day-date--today .pwa-jobs-agenda-day-num,.pwa-jobs-agenda-day-date--today .pwa-jobs-agenda-day-dow{color:var(--color-primary)}.pwa-jobs-agenda-day-tasks{display:flex;flex-direction:column;justify-content:center;padding:8px 12px;gap:6px}.pwa-jobs-agenda-empty{color:var(--color-text-muted);font-size:13px;padding:8px 0}.pwa-jobs-agenda-month{border:1px solid var(--color-border-strong);border-radius:12px;overflow:hidden;background:var(--color-border)}.pwa-jobs-agenda-month-scroll{min-height:min(72vh,calc(100dvh - 260px));max-height:min(72vh,calc(100dvh - 260px));overflow-x:hidden;overflow-y:auto;scroll-behavior:auto;-webkit-overflow-scrolling:touch;background:var(--color-border);position:relative}.pwa-jobs-agenda-month-edge-loading{position:sticky;left:0;right:0;z-index:7;padding:6px 12px;text-align:center;font-size:11px;font-weight:600;color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-surface) 92%,var(--color-primary));border-bottom:1px solid var(--color-border);box-shadow:0 2px 8px var(--color-shadow-soft)}.pwa-jobs-agenda-month-edge-loading--bottom{top:auto;bottom:0;border-bottom:none;border-top:1px solid var(--color-border);box-shadow:0 -2px 8px var(--color-shadow-soft)}.pwa-jobs-agenda-month-scroll>.pwa-jobs-agenda-month-edge-loading:first-child{top:56px}.pwa-jobs-agenda-month-scroll .month-view-dow-header{background:var(--color-background-primary, var(--color-surface))}.pwa-jobs-agenda-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:2px 10px;width:100%;border:none;background:transparent;text-align:left;padding:6px 4px;border-radius:8px;cursor:pointer;color:var(--color-text)}.pwa-jobs-agenda-row:hover,.pwa-jobs-agenda-row:focus-visible{background:var(--color-surface-hover)}.pwa-jobs-agenda-row-dot{grid-column:1;grid-row:1 / 3;align-self:start;margin-top:4px;width:8px;height:8px;border-radius:999px}.pwa-jobs-agenda-row-time{grid-column:2;grid-row:1;font-size:11px;color:var(--color-text-muted);white-space:nowrap;line-height:1.3}.pwa-jobs-agenda-row-main{grid-column:2;grid-row:2;min-width:0;display:flex;align-items:baseline;gap:8px;font-size:14px;font-weight:700;color:var(--color-text);line-height:1.3}.pwa-jobs-agenda-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-jobs-agenda-row-job{flex-shrink:0;font-size:14px;font-weight:700;color:var(--color-text);white-space:nowrap}.pwa-jobs-agenda-row-trailing{grid-column:3;grid-row:1 / 3;justify-self:end;align-self:center;display:inline-grid;grid-template-columns:18px 52px;align-items:center;column-gap:6px}.pwa-jobs-agenda-row-trailing .agenda-drawing-icon{justify-self:center}.pwa-jobs-agenda-row-badge{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;border:1px solid var(--badge-border);color:var(--badge-color);white-space:nowrap}@media(max-width:400px){.pwa-jobs-agenda-nav .pwa-jobs-agenda-today-btn{padding:6px 10px;font-size:12px}}@media(min-width:520px){.pwa-jobs-agenda-filters-scroll{flex-wrap:wrap;overflow:visible;scroll-snap-type:none}.pwa-jobs-agenda-chips{flex-wrap:wrap}}@media(min-width:600px){.pwa-jobs-agenda-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);border:none;background:transparent;overflow:visible}.pwa-jobs-agenda-day-row{border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface);overflow:hidden}.pwa-jobs-agenda-day-row:last-child{border-bottom:1px solid var(--color-border-strong)}}@media(max-width:767px){.pwa-jobs-agenda-heatmap{grid-template-columns:repeat(2,minmax(0,1fr))}.pwa-jobs-agenda-toolbar-row{display:flex;flex-direction:column;align-items:stretch}.pwa-jobs-agenda-view-toggle{justify-self:auto}.pwa-jobs-agenda-nav{justify-self:auto;justify-content:space-between;width:100%}.pwa-jobs-agenda-actions{justify-self:auto;width:100%}.pwa-jobs-agenda-search{flex:1}.pwa-jobs-agenda-sort{margin-left:0;width:100%;justify-content:space-between}.pwa-jobs-agenda-week-slot-task-job-name{display:none}}.pwa-mtc-page{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start;width:100%}.pwa-mtc-page--narrow{grid-template-columns:1fr}.pwa-mtc-page--refreshing{opacity:.92;transition:opacity .2s ease-out}.pwa-mtc-column{display:flex;flex-direction:column;gap:12px;min-width:0}.pwa-mtc-card{background:var(--color-surface);border:.5px solid var(--color-border-strong);border-radius:var(--radius-card, 12px);padding:1rem 1.25rem;box-shadow:var(--panel-shadow);min-width:0}.pwa-mtc-section-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:10px}.pwa-mtc-divider-label{font-size:11px;font-weight:500;color:var(--color-text-muted);padding:10px 0 6px;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.05em}.pwa-mtc-divider-label:first-child{padding-top:0}.pwa-mtc-divider-label:after{content:"";flex:1;height:.5px;background:var(--color-border)}.pwa-mtc-divider-label--overdue{color:#a32d2d}.pwa-mtc-divider-label--today{color:#185fa5}.pwa-mtc-divider-label--upcoming{color:#0f6e56}.pwa-mtc-divider-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.pwa-mtc-divider-dot--overdue{background:#f09595}.pwa-mtc-divider-dot--today{background:#ef9f27}.pwa-mtc-divider-dot--upcoming{background:#b4b2a9}.pwa-mtc-divider-hint{margin-left:auto;font-size:10px;letter-spacing:0;text-transform:none;color:var(--color-text-muted);white-space:nowrap}.pwa-mtc-task-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:.5px solid var(--color-border);cursor:pointer}.pwa-mtc-task-row:last-child{border-bottom:none;padding-bottom:0}.pwa-mtc-task-check{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--color-border-strong);flex-shrink:0;margin-top:1px;cursor:pointer;display:flex;align-items:center;justify-content:center;background:transparent;padding:0}.pwa-mtc-task-check:hover{border-color:var(--color-primary)}.pwa-mtc-task-check--done{background:var(--color-success-bg);border-color:var(--color-success-border)}.pwa-mtc-task-check--done:after{content:"";display:block;width:7px;height:5px;border-left:1.5px solid var(--color-success-text);border-bottom:1.5px solid var(--color-success-text);transform:rotate(-45deg) translateY(-1px)}.pwa-mtc-task-check:disabled{opacity:.55;cursor:not-allowed}.pwa-mtc-task-body{flex:1;min-width:0}.pwa-mtc-task-title{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;color:var(--color-text)}.pwa-mtc-task-title--done{text-decoration:line-through;color:var(--color-text-muted);font-weight:400}.pwa-mtc-task-meta{font-size:11px;color:var(--color-text-secondary);margin-top:2px;line-height:1.35;display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.pwa-mtc-type-badge{font-size:9px;font-weight:600;padding:0 4px;border-radius:3px;border:.5px solid;flex-shrink:0;line-height:1.5}.pwa-mtc-clock-btn--row{align-self:center;margin-top:1px}.pwa-mtc-task-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;margin-top:1px}.pwa-mtc-task-date{font-size:11px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.pwa-mtc-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:500;padding:2px 7px;border-radius:8px;flex-shrink:0;margin-top:1px}.pwa-mtc-badge--overdue{background:#e24b4a2e;color:#f09595}.pwa-mtc-badge--today{background:#ef9f272e;color:#ef9f27}.pwa-mtc-badge--upcoming{background:#8887802e;color:#b4b2a9}.pwa-mtc-badge--progress{background:#378add2e;color:#85b7eb}.pwa-mtc-empty-section{font-size:12px;color:var(--color-text-muted);padding:4px 0 8px}.pwa-mtc-mini-cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:6px}.pwa-mtc-mini-cal-center{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;flex:1}.pwa-mtc-today-btn{font-size:10px;font-weight:600;padding:2px 8px;border:.5px solid var(--color-border-strong);border-radius:8px;background:none;cursor:pointer;color:var(--color-primary);line-height:1.3}.pwa-mtc-today-btn:hover{background:var(--color-primary-bg)}.pwa-mtc-mini-cal-title{font-size:13px;font-weight:500;color:var(--color-text)}.pwa-mtc-cal-nav{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:2px 6px;border-radius:4px;font-size:16px;line-height:1}.pwa-mtc-cal-nav:hover{background:var(--color-background-secondary, var(--color-surface-muted))}.pwa-mtc-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}.pwa-mtc-cal-dow{font-size:10px;color:var(--color-text-muted);padding:2px 0;font-weight:500}.pwa-mtc-cal-day{font-size:12px;padding:4px 2px;border-radius:4px;cursor:pointer;color:var(--color-text-secondary);border:none;background:transparent;display:flex;flex-direction:column;align-items:center;min-height:28px}.pwa-mtc-cal-day:hover{background:var(--color-background-secondary, var(--color-surface-muted))}.pwa-mtc-cal-day--muted{color:var(--color-text-muted);opacity:.6}.pwa-mtc-cal-day--today:not(.pwa-mtc-cal-day--selected){font-weight:500;color:var(--color-text)}.pwa-mtc-cal-day--selected{background:var(--color-info-bg);color:var(--color-info-text);font-weight:500}.pwa-mtc-cal-day-dot{display:block;width:4px;height:4px;border-radius:50%;background:#185fa5;margin-top:1px}.pwa-mtc-timesheet-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}.pwa-mtc-timesheet-summary-meta{font-size:12px;color:var(--color-text-secondary)}.pwa-mtc-timesheet-summary-total{font-size:12px;font-weight:500;color:var(--color-text)}.pwa-mtc-timesheet-entry{padding:8px 0;border-bottom:.5px solid var(--color-border)}.pwa-mtc-timesheet-entry:last-child{border-bottom:none;padding-bottom:0}.pwa-mtc-ts-title{font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text)}.pwa-mtc-ts-meta{font-size:11px;color:var(--color-text-secondary);margin-top:2px}.pwa-mtc-ts-pill{display:inline-flex;align-items:center;font-size:10px;padding:1px 6px;border-radius:8px;background:#185fa51a;color:#185fa5;margin-top:3px;font-weight:600}.pwa-mtc-edit-timesheet-btn{width:100%;margin-top:10px;font-size:12px;padding:6px;border:.5px solid var(--color-border-strong);border-radius:8px;background:none;cursor:pointer;color:var(--color-text-secondary)}.pwa-mtc-edit-timesheet-btn:hover{background:var(--color-background-secondary, var(--color-surface-muted))}.pwa-mtc-recent-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:.5px solid var(--color-border);cursor:pointer}.pwa-mtc-recent-row:last-child{border-bottom:none;padding-bottom:0}.pwa-mtc-recent-body{flex:1;min-width:0}.pwa-mtc-recent-title{font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text)}.pwa-mtc-recent-meta{font-size:11px;color:var(--color-text-secondary);margin-top:1px}.pwa-mtc-clock-btn{font-size:10px;padding:2px 8px;border:.5px solid var(--color-border-strong);border-radius:8px;background:none;cursor:pointer;color:var(--color-text-secondary);white-space:nowrap;flex-shrink:0}.pwa-mtc-clock-btn:hover:not(:disabled){background:var(--color-background-secondary, var(--color-surface-muted))}.pwa-mtc-clock-btn:disabled{opacity:.55;cursor:not-allowed}.pwa-mtc-updating{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.pwa-file-upload-progress{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:10px;border:1px solid var(--color-border-muted);background:var(--color-surface-muted)}.pwa-file-upload-progress-label{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px;font-size:12px;font-weight:600;color:var(--color-text)}.pwa-file-upload-progress-file{font-weight:500;color:var(--color-text-subtle);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-file-upload-progress-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--color-border-muted) 70%,transparent);overflow:hidden}.pwa-file-upload-progress-fill{height:100%;border-radius:inherit;background:var(--color-primary);transition:width .15s ease}.pwa-sd-root{display:flex;flex-direction:column;min-height:0;flex:1}.pwa-sd-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 0 8px}.pwa-sd-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:4px 0 12px;border-bottom:1px solid var(--color-border-muted);margin-bottom:4px}.pwa-sd-status-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 7px;border-radius:20px;font-size:11.5px;font-weight:600;line-height:1.3;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);color:var(--color-text-secondary);flex-shrink:0}.pwa-sd-status-pill-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.pwa-sd-status-pill--warning{background:var(--color-pending-badge-bg);color:var(--color-pending-badge-text);border-color:color-mix(in srgb,var(--color-amber-accent) 35%,var(--color-border-muted))}.pwa-sd-status-pill--success{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.pwa-sd-status-pill--danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-outline-border)}.pwa-sd-status-pill--primary{background:var(--color-primary-bg);color:var(--color-primary);border-color:var(--color-primary-outline-border)}.pwa-sd-filter-tabs{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end;min-width:0}.pwa-sd-filter-chip{padding:3px 10px;border-radius:20px;font-size:11.5px;font-weight:600;border:1px solid var(--color-filter-chip-border);background:var(--color-filter-chip-bg);color:var(--color-text-muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.pwa-sd-filter-chip:hover:not(.pwa-sd-filter-chip--active){background:var(--color-surface-hover);color:var(--color-text)}.pwa-sd-filter-chip--active{background:var(--color-filter-chip-active-bg);border-color:var(--color-filter-chip-active-border);color:var(--color-filter-chip-active-text)}.pwa-sd-scope-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:0 0 12px;border-bottom:1px solid var(--color-border-muted);margin-bottom:8px}.pwa-sd-scroll{flex:1;min-height:0;overflow-y:auto;padding:4px 0 12px}.pwa-sd-section{padding:0;margin-bottom:2px}.pwa-sd-section-header{display:flex;align-items:center;justify-content:space-between;padding:14px 0 8px;gap:8px}.pwa-sd-section-title{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.pwa-sd-section-count{font-size:11.5px;color:var(--color-text-subtle);font-variant-numeric:tabular-nums;flex-shrink:0}.pwa-sd-section-divider{height:1px;background:var(--color-border-muted);margin:2px 0 6px}.pwa-sd-files{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.pwa-sd-file-card{background:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:10px;overflow:hidden;transition:border-color .15s ease,background .15s ease}.pwa-sd-file-card:hover{border-color:var(--color-border-strong)}.pwa-sd-file-card--busy{opacity:.72;pointer-events:none}.pwa-sd-file-card--drag{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 22%,transparent)}.pwa-sd-file-row{display:flex;align-items:center;gap:10px;padding:10px 12px}.pwa-sd-file-check{flex-shrink:0}.pwa-sd-revision-tick{display:flex;align-items:center;cursor:pointer}.pwa-sd-revision-tick input{position:absolute;opacity:0;width:0;height:0}.pwa-sd-revision-tick-box{width:18px;height:18px;border-radius:5px;background:var(--color-primary-bg);border:1.5px solid var(--color-primary);display:flex;align-items:center;justify-content:center}.pwa-sd-revision-tick input:checked+.pwa-sd-revision-tick-box{background:var(--color-primary)}.pwa-sd-revision-tick input:checked+.pwa-sd-revision-tick-box:after{content:"";display:block;width:5px;height:9px;border:solid var(--color-on-primary);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.pwa-sd-file-thumb{width:36px;height:36px;border-radius:6px;background:var(--color-surface-muted);border:1px solid var(--color-border-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.pwa-sd-file-thumb-img{width:100%;height:100%;object-fit:cover}.pwa-sd-file-thumb-glyph{font-size:10px;font-weight:700;color:var(--color-text-subtle)}.pwa-sd-file-info{flex:1;min-width:0}.pwa-sd-file-name{font-size:13px;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-sd-file-unit{font-size:11px;color:var(--color-text-muted);margin-top:1px}.pwa-sd-file-meta{display:flex;align-items:center;gap:6px;margin-top:3px;flex-wrap:wrap}.pwa-sd-file-meta-item{font-size:11px;color:var(--color-text-muted)}.pwa-sd-meta-sep{color:var(--color-text-subtle)}.pwa-sd-rev-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:10.5px;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;background:var(--color-primary-bg);color:var(--color-primary);border:1px solid var(--color-primary-outline-border)}.pwa-sd-sent-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:4px;font-size:10.5px;font-weight:600;background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.pwa-sd-pm-rejected-chip{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:10.5px;font-weight:600;background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-outline-border)}.pwa-sd-root button.pwa-sd-pm-rejected-chip--action{cursor:pointer;font-size:10.5px;font-weight:600;line-height:1.2;min-height:0;padding:1px 6px}.pwa-sd-root button.pwa-sd-pm-rejected-chip--action:hover:not(:disabled){filter:brightness(.96)}.pwa-sd-root button.pwa-sd-pm-rejected-chip--action:disabled{cursor:default;opacity:.65}.pwa-jobs-shop-draw-modal-note--readonly{min-height:4.5rem;white-space:pre-wrap;word-break:break-word;color:var(--color-text-secondary);background:var(--color-surface-muted, var(--color-bg-subtle))}.pwa-jobs-shop-draw-modal-meta{margin:0 0 12px;font-size:12px;color:var(--color-text-secondary)}.pwa-sd-review-note-label{font-weight:600;color:var(--color-text-secondary)}.pwa-sd-client-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:10.5px;font-weight:600;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);color:var(--color-text-secondary);cursor:pointer}.pwa-sd-client-badge--client_rejected{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-outline-border)}.pwa-sd-client-badge--client_approved,.pwa-sd-client-badge--client_approved_with_comments{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-border)}.pwa-sd-open-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:6px;border:1px solid var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary);font-size:12px;font-weight:600;cursor:pointer;flex-shrink:0;transition:border-color .15s ease,color .15s ease,background .15s ease}.pwa-sd-open-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-bg);filter:brightness(.96)}.pwa-sd-open-btn:disabled{opacity:.5;cursor:not-allowed}.pwa-sd-file-actions{display:flex;align-items:center;gap:4px;padding:6px 12px;border-top:1px solid var(--color-border-muted)}.pwa-sd-action-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;border:none;background:transparent;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.pwa-sd-action-btn:disabled{opacity:.45;cursor:not-allowed}.pwa-sd-action-save{color:var(--color-text-muted)}.pwa-sd-action-save:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.pwa-sd-action-replace{color:var(--color-primary)}.pwa-sd-action-replace:hover:not(:disabled){background:var(--color-primary-bg)}.pwa-sd-action-reject{color:var(--color-danger)}.pwa-sd-action-reject:hover:not(:disabled){background:var(--color-danger-bg)}.pwa-sd-action-delete{color:var(--color-danger);margin-left:auto}.pwa-sd-action-delete:hover:not(:disabled){background:var(--color-danger-bg)}.pwa-sd-review-note{margin:0;padding:2px 12px 6px;font-size:11px;line-height:1.35;color:var(--color-text-muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;word-break:break-word}.pwa-sd-drop-root .pwa-jobs-form-attach-dropzone.pwa-sd-drop-zone{border:1.5px dashed var(--color-border-muted);border-radius:10px;padding:18px 16px;margin-bottom:6px;background:transparent;flex-direction:column;gap:4px;min-height:0}.pwa-sd-drop-root .pwa-jobs-form-attach-dropzone.pwa-sd-drop-zone:hover:not(:disabled),.pwa-sd-drop-root .pwa-jobs-form-attach-dropzone.pwa-sd-drop-zone.pwa-jobs-form-attach-dropzone--active{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border-muted));background:var(--color-primary-bg)}.pwa-sd-drop-root .pwa-jobs-form-attach-dropzone.pwa-sd-drop-zone .pwa-action-icon-svg{color:var(--color-text-subtle);width:22px;height:22px}.pwa-sd-drop-root .pwa-jobs-form-attach-dropzone-title{font-size:13px;font-weight:600;color:var(--color-text-muted)}.pwa-sd-drop-root .pwa-jobs-form-attach-dropzone-sub{font-size:11.5px;color:var(--color-text-subtle)}.pwa-sd-hint-block{font-size:12px;color:var(--color-text-muted);line-height:1.45;padding:0 0 10px}.pwa-sd-hint-block strong{color:var(--color-text);font-weight:600}.pwa-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}.pwa-sd-arch{display:flex;flex-direction:column;gap:12px}.pwa-sd-arch-search-row{display:flex}.pwa-sd-arch-search-input{flex:1;height:34px;padding:0 10px;border:1px solid var(--color-border-muted);border-radius:6px;background:var(--color-surface);color:var(--color-text);font-size:13px;outline:none}.pwa-sd-arch-search-input:focus{border-color:var(--color-accent, #5b8bf7);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent, #5b8bf7) 20%,transparent)}.pwa-sd-arch-search-result{display:flex;flex-direction:column;gap:2px}.pwa-sd-arch-search-result-path{font-size:11px;color:var(--color-text-muted);padding:0 4px;font-style:italic}.pwa-sd-arch-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.pwa-sd-arch-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:2px;min-width:0;flex:1}.pwa-sd-arch-crumb-wrap{display:inline-flex;align-items:center;gap:2px;max-width:100%}.pwa-sd-arch-crumb-sep{color:var(--color-text-subtle);font-size:12px;padding:0 2px}.pwa-sd-arch-crumb{border:none;background:transparent;color:var(--color-primary);font-size:12px;font-weight:600;padding:2px 4px;border-radius:4px;cursor:pointer;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-sd-arch-crumb:disabled{cursor:default;color:var(--color-text)}.pwa-sd-arch-crumb:not(:disabled):hover{background:var(--color-surface-muted)}.pwa-sd-arch-view-toggle{display:flex;gap:4px;flex-shrink:0}.pwa-sd-arch-list{display:flex;flex-direction:column;gap:6px}.pwa-sd-arch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.pwa-sd-arch-folder-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-surface);cursor:pointer;text-align:left}.pwa-sd-arch-folder-row:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border-muted));background:var(--color-primary-bg)}.pwa-sd-arch-folder-row-icon{color:var(--color-amber-accent, #c9a227);flex-shrink:0}.pwa-sd-arch-folder-row-body{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1;text-align:left}.pwa-sd-arch-folder-caret{color:var(--color-text-subtle);font-size:18px;line-height:1}.pwa-sd-arch-folder-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-surface);cursor:pointer;min-height:110px}.pwa-sd-arch-folder-card:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border-muted));background:var(--color-primary-bg)}.pwa-sd-arch-folder-icon{color:var(--color-amber-accent, #c9a227)}.pwa-sd-arch-folder-name{font-size:13px;font-weight:600;color:var(--color-text);text-align:left;word-break:break-word;line-height:1.25}.pwa-sd-arch-folder-card .pwa-sd-arch-folder-name,.pwa-sd-arch-folder-card .pwa-sd-arch-folder-meta{text-align:center}.pwa-sd-arch-folder-meta{font-size:11px;color:var(--color-text-subtle);text-align:left}.pwa-sd-arch-files-list{margin-top:2px}.pwa-sd-arch-files-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.pwa-sd-arch-empty{margin:0}.pwa-sd-arch-uploads{display:flex;flex-direction:column;gap:8px;margin-top:4px}.pwa-sd-upload-progress{margin-bottom:10px}.pwa-sd-arch-upload-notice{margin:0;font-size:12px;line-height:1.45;color:var(--color-text-subtle)}.pwa-sd-arch-folder-upload-btn{align-self:flex-start;border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}.pwa-sd-arch-folder-upload-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border-muted));background:var(--color-primary-bg);color:var(--color-primary)}.pwa-sd-arch-folder-upload-btn:disabled{opacity:.6;cursor:not-allowed}.pwa-sd-arch-upload-hint{margin:0;font-size:11.5px}.pwa-sd-arch-readonly-hint{margin:4px 0 0;font-size:12px;line-height:1.45}.pwa-sd-refreshing-hint{margin:0 0 8px;font-size:12px;color:var(--color-text-subtle)}.pwa-sd-arch-bulk{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:8px 0 4px;border-bottom:1px solid var(--color-border-muted);margin-bottom:8px}.pwa-sd-arch-bulk-select{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.pwa-sd-arch-bulk-count{font-size:12px;color:var(--color-text-subtle);margin-left:4px}.pwa-sd-arch-bulk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pwa-sd-arch-bulk-select-input{min-width:140px;padding:6px 10px;border-radius:8px;border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text);font-size:13px}.pwa-sd-arch-bulk-apply{padding:6px 14px;border-radius:8px;border:1px solid var(--color-primary-outline-border);background:var(--color-primary);color:var(--color-on-primary, #fff);font-size:13px;font-weight:600;cursor:pointer}.pwa-sd-arch-bulk-apply:disabled{opacity:.5;cursor:not-allowed}.pwa-sd-arch-file-row{display:flex;align-items:stretch;gap:8px}.pwa-sd-arch-file-row--selected .pwa-sd-file-card{border-color:color-mix(in srgb,var(--color-primary) 50%,var(--color-border-muted));background:color-mix(in srgb,var(--color-primary-bg) 60%,var(--color-surface))}.pwa-sd-arch-file-check{display:flex;align-items:center;padding:4px 0 4px 2px;flex-shrink:0}.pwa-sd-arch-file-check input{width:16px;height:16px;margin:0;cursor:pointer}.pwa-sd-arch-file-row-body{flex:1;min-width:0}.pwa-sd-arch-move-panel{margin:8px 0 12px;padding:12px;border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-surface-muted)}.pwa-sd-arch-move-title{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--color-text)}.pwa-sd-arch-move-folders{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.pwa-sd-arch-move-folder-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text);font-size:12px;font-weight:600;cursor:pointer}.pwa-sd-arch-move-folder-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--color-border-muted));background:var(--color-primary-bg)}.pwa-sd-arch-move-confirm{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pj-shell{display:flex;flex-direction:column;gap:12px;min-height:0}.pj-shell--wo{gap:0}.pj-header{display:flex;flex-direction:column;gap:6px}.pj-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pj-title{margin:0;font-size:22px;font-weight:500;line-height:1.25;color:var(--color-text)}.pj-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.pj-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500;line-height:1.4;border:.5px solid transparent}.pj-badge--status{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning);border-color:color-mix(in srgb,var(--color-warning) 35%,transparent)}.pj-badge--outline{background:transparent;color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 45%,transparent)}.pj-badge--muted{background:color-mix(in srgb,var(--color-text-muted) 12%,transparent);color:var(--color-text-muted);border-color:color-mix(in srgb,var(--color-text-muted) 25%,transparent)}.pj-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--color-text-muted)}.pj-meta-sep{opacity:.5}.pj-menu-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;padding:0;border:.5px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;font-size:18px;line-height:1}.pj-menu-btn .pwa-action-icon-svg{width:18px;height:18px}.pj-menu-btn:hover{background:var(--color-surface-hover)}.pj-primary-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:.5px solid var(--color-border-muted);padding-bottom:0}.pj-primary-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-.5px;white-space:nowrap}.pj-primary-tab:hover{color:var(--color-text)}.pj-primary-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.pj-primary-tab-icon{width:16px;height:16px;display:inline-flex}.pj-primary-tab-icon svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.pj-content{min-height:0}.pwa-jobs-overview--timeline-fill{height:calc(100dvh - 220px)}.pj-shell--timeline{flex:1;min-height:0}.pj-shell--timeline .pj-header,.pj-shell--timeline .pj-primary-tabs{flex-shrink:0}.pj-shell--timeline .pj-content,.pj-timeline-panel{display:flex;flex-direction:column;flex:1;min-height:0}.pj-timeline-panel .grouped-gantt{flex:1;min-height:0}.pj-timeline-panel .grouped-gantt-scroll{flex:1;min-height:0;max-height:none}.pj-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}@media(max-width:900px){.pj-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pj-stat-grid .pj-stat-tile:nth-child(5){grid-column:span 2}}.pj-stat-tile{background:var(--color-surface);border:.5px solid var(--color-border-tertiary, var(--color-border-muted));border-radius:var(--radius-card, 10px);padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}.pj-stat-tile-icon{color:var(--color-text-muted);opacity:.75;margin-bottom:2px}.pj-stat-tile-label{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted)}.pj-stat-tile-value{font-size:22px;font-weight:500;color:var(--color-text);line-height:1.2}.pj-stat-tile-sub{font-size:12px;color:var(--color-text-muted)}.pj-stat-tile-sub--danger{color:var(--color-danger)}.pj-stat-tile-sub--warning{color:var(--color-warning)}.pj-card{background:var(--color-surface);border:.5px solid var(--color-border-tertiary, var(--color-border-muted));border-radius:var(--radius-card, 10px);padding:14px;min-width:0}.pj-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.pj-card-title{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--color-text)}.pj-card-title-icon{color:var(--color-text-muted);display:inline-flex}.pj-card-hint{font-size:11px;color:var(--color-text-muted)}.pj-two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:12px}@media(max-width:800px){.pj-two-col{grid-template-columns:1fr}}.pj-right-stack{display:flex;flex-direction:column;gap:12px}.pj-wo-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px 4px;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;border-radius:6px;font:inherit;color:inherit}.pj-wo-row:hover{background:var(--color-surface-hover)}.pj-wo-row-main{min-width:0}.pj-wo-row-title{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pj-wo-row-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.pj-pill{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;font-size:10px;font-weight:600;line-height:1.5}.pj-pill--production{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.pj-pill--drawings{background:color-mix(in srgb,#8b5cf6 15%,transparent);color:#8b5cf6}.pj-pill--complete{background:color-mix(in srgb,var(--color-text-muted) 12%,transparent);color:var(--color-text-muted)}.pj-pill--approved{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.pj-pill--pending{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.pj-pill--rejected{background:color-mix(in srgb,var(--color-danger) 15%,transparent);color:var(--color-danger)}.pj-wo-hours{font-size:12px;color:var(--color-text-muted);white-space:nowrap}.pj-progress-row{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.pj-progress-row:last-child{margin-bottom:0}.pj-progress-label{display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-muted)}.pj-progress-track{height:6px;border-radius:999px;background:color-mix(in srgb,var(--color-text-muted) 12%,transparent);overflow:hidden}.pj-progress-fill{height:100%;border-radius:999px;background:var(--color-primary)}.pj-progress-fill--success{background:var(--color-success)}.pj-progress-fill--warning{background:var(--color-warning)}.pj-labour-row{margin-bottom:10px}.pj-labour-row:last-child{margin-bottom:0}.pj-labour-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.pj-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}.pj-filter-bar-hint{font-size:12px;color:var(--color-text-muted)}.pj-filters{display:flex;gap:8px;flex-wrap:wrap}.pj-select{font-size:12px;padding:4px 8px;border-radius:6px;border:.5px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text)}.pj-task-group{border-bottom:.5px solid var(--color-border-tertiary, var(--color-border-muted))}.pj-task-group:last-child{border-bottom:none}.pj-task-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 6px}.pj-task-group-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;min-width:0}.pj-task-group-meta{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.pj-task-row{display:grid;grid-template-columns:18px 1fr 80px 48px 72px;gap:8px;align-items:center;padding:5px 8px;border-radius:4px;font-size:12px}.pj-task-row:hover{background:var(--color-surface-hover)}.pj-task-check{width:14px;height:14px;border-radius:3px;border:1.5px solid var(--color-border-muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.pj-task-check--done{background:var(--color-success);border-color:var(--color-success);color:#fff;font-size:9px}.pj-task-name--done{text-decoration:line-through;color:var(--color-text-muted)}.pj-task-assignee,.pj-task-hours{color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pj-task-due{text-align:right;white-space:nowrap}.pj-task-due--overdue{color:var(--color-danger)}.pj-task-due--pending{color:var(--color-warning)}.pj-person-row{display:flex;align-items:center;gap:8px;padding:6px 0}.pj-avatar{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.pj-person-name{width:90px;font-size:12px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pj-person-bar-wrap{flex:1;min-width:0}.pj-person-bar{height:5px;border-radius:999px;background:var(--color-primary)}.pj-person-hours{width:40px;text-align:right;font-size:12px;color:var(--color-text-muted);flex-shrink:0}.pj-wo-chips{display:flex;flex-wrap:wrap;gap:4px;max-width:120px}.pj-wo-chip{font-size:10px;padding:1px 5px;border-radius:4px;background:color-mix(in srgb,var(--color-text-muted) 10%,transparent);color:var(--color-text-muted)}.pj-week-chart{display:flex;align-items:flex-end;gap:8px;height:80px;padding-top:8px}.pj-week-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%;justify-content:flex-end}.pj-week-bar{width:100%;max-width:28px;border-radius:4px 4px 0 0;background:var(--color-primary);min-height:2px}.pj-week-label{font-size:10px;color:var(--color-text-muted)}.pj-email-section{padding:8px 0}.pj-email-section-label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:6px}.pj-email-row{display:grid;grid-template-columns:8px 28px 1fr auto;gap:10px;align-items:start;padding:9px 4px;border:none;background:transparent;width:100%;text-align:left;cursor:pointer;border-radius:6px;font:inherit;color:inherit}.pj-email-row:hover{background:var(--color-surface-hover)}.pj-email-dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary);margin-top:10px}.pj-email-icon{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.pj-email-icon--rejected{background:color-mix(in srgb,var(--color-danger) 15%,transparent);color:var(--color-danger)}.pj-email-icon--pending{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.pj-email-icon--approved{background:color-mix(in srgb,var(--color-success) 15%,transparent);color:var(--color-success)}.pj-email-icon--sent{background:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-primary)}.pj-email-main{min-width:0}.pj-email-subject{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pj-email-meta{font-size:11px;color:var(--color-text-muted);margin-top:2px}.pj-email-snippet{font-size:11px;color:var(--color-text-muted);font-style:italic;margin-top:2px}.pj-email-time{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.pj-info-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:stretch;gap:12px}.pj-card--location{display:flex;flex-direction:column;min-height:100%}.pj-card--location .pj-card-header{flex-shrink:0}.pj-map-panel{display:flex;flex-direction:column;flex:1;min-height:0;gap:10px}@media(max-width:800px){.pj-info-grid{grid-template-columns:1fr}}.pj-info-field{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:6px 0;font-size:13px}.pj-info-label{color:var(--color-text-muted)}.pj-map-embed{display:block;flex:1;width:100%;min-height:200px;height:100%;border:0;border-radius:8px;background:color-mix(in srgb,var(--color-text-muted) 6%,transparent)}.pj-map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex:1;min-height:200px;color:var(--color-text-muted);font-size:13px;border-radius:8px;background:color-mix(in srgb,var(--color-text-muted) 6%,transparent)}.pj-map-links{display:flex;gap:12px;flex-shrink:0;font-size:12px}.pj-map-links a{color:var(--color-primary);text-decoration:none}.pj-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 16px;color:var(--color-text-muted);font-size:13px;text-align:center}.pj-notes{display:flex;flex-direction:column;gap:12px}.pj-notes-hint,.pj-notes-empty{color:var(--color-text-muted);font-size:13px;text-align:center;padding:16px 8px}.pj-notes-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.pj-notes-item{padding:10px 12px;border-radius:8px;border:.5px solid var(--color-border-muted);background:var(--color-background-secondary)}.pj-notes-item-body{font-size:13px;color:var(--color-text);white-space:pre-wrap;word-break:break-word}.pj-notes-item-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:11px;color:var(--color-text-muted)}.pj-notes-delete-btn{border:none;background:none;color:var(--color-danger);font-size:11px;font-weight:600;cursor:pointer;padding:0}.pj-notes-delete-btn:hover:not(:disabled){text-decoration:underline}.pj-notes-delete-btn:disabled{opacity:.6;cursor:not-allowed}.pj-notes-compose{display:flex;flex-direction:column;gap:8px}.pj-notes-input{width:100%;min-height:88px;resize:vertical;border:.5px solid var(--color-border-muted);border-radius:8px;padding:10px 12px;font:inherit;font-size:13px;color:var(--color-text);background:var(--color-surface)}.pj-notes-compose-actions{display:flex;justify-content:flex-end}.pj-notes-add-btn{border:.5px solid var(--color-border-muted);border-radius:8px;background:var(--color-primary-tint-bg);color:var(--color-primary);font-size:12px;font-weight:600;padding:6px 12px;cursor:pointer}.pj-notes-add-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.pj-notes-add-btn:disabled{opacity:.5;cursor:not-allowed}.pj-loading,.pj-error{font-size:13px;color:var(--color-text-muted);padding:8px 0}.pj-error{color:var(--color-danger)}.pj-timeline.pj-auto-agenda-embedded{display:flex;flex-direction:column;gap:12px;min-width:0}.pj-timeline.pj-auto-agenda-embedded .pwa-auto-agenda-batch-timeline{max-height:min(70vh,720px);overflow:auto}.pj-timeline-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px;position:sticky;bottom:0;background:linear-gradient(to top,var(--color-surface) 70%,transparent);padding-bottom:4px;z-index:2}.pj-timeline-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.pj-timeline-desc{flex:1 1 280px;margin:0}.pj-timeline-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pj-timeline-auto-panel{border:1px solid var(--color-border);border-radius:12px;padding:12px;background:var(--color-surface-muted)}.pj-timeline-current-label{font-size:12px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.pwa-auto-agenda-preview-row--readonly{cursor:default;grid-template-columns:12px 1fr auto auto}.sd-procore-field{display:grid;gap:6px}.sd-procore-field-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--color-text-muted)}.sd-email-recipient-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;margin:0;padding:6px;list-style:none;border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-surface);box-shadow:0 10px 28px #0f172a1f;max-height:240px;overflow:auto}.sd-email-recipient-suggestion:hover,.sd-email-recipient-suggestion.is-active{background:color-mix(in srgb,var(--color-surface-hover) 60%,transparent)}.sd-email-recipient-suggestion-badge{display:inline-block;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--color-surface-muted) 80%,transparent);color:var(--color-text);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.sd-email-recipient-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:4px 6px 4px 10px;border-radius:999px;background:color-mix(in srgb,var(--color-surface-muted) 80%,transparent);border:1px solid var(--color-border-muted);font-size:13px;line-height:1.2;color:var(--color-text);word-break:break-all}.sd-email-recipient-chip-remove:hover:not(:disabled){background:color-mix(in srgb,var(--color-surface-hover) 80%,transparent);color:var(--color-text)}.grouped-gantt{display:flex;flex-direction:column;gap:0;min-height:0;border:.5px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface);overflow:hidden}.grouped-gantt-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 10px;border-bottom:.5px solid var(--color-border-muted);background:var(--color-background-secondary);flex-shrink:0}.grouped-gantt-toolbar-left,.grouped-gantt-toolbar-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.grouped-gantt-toolbar-right{margin-left:auto}.grouped-gantt-toolbar-divider{width:1px;height:18px;background:var(--color-border-muted)}.grouped-gantt-zoom-btn,.grouped-gantt-tool-btn{border:.5px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text-muted);border-radius:6px;font-size:11px;font-weight:500;padding:4px 8px;cursor:pointer;line-height:1.3}.grouped-gantt-zoom-btn:hover,.grouped-gantt-tool-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.grouped-gantt-zoom-btn--active{background:var(--color-primary-tint-bg);color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}.grouped-gantt-legend-item{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--color-text-muted);font-weight:500}.grouped-gantt-legend-swatch{width:10px;height:10px;border-radius:2px;flex-shrink:0}.grouped-gantt-legend-today{width:2px;height:12px;background:var(--color-primary);border-radius:1px}.grouped-gantt-scroll{overflow-x:auto;overflow-y:auto;max-height:min(70vh,720px)}.grouped-gantt-inner{min-width:100%}.grouped-gantt-grid-header,.grouped-gantt-grid{display:grid;grid-template-columns:var(--grouped-gantt-name-col, 280px) minmax(0,1fr)}.grouped-gantt-grid-header{position:sticky;top:0;z-index:5;background:var(--color-background-secondary);border-bottom:.5px solid var(--color-border-muted)}.grouped-gantt-name-header{padding:6px 10px;font-size:10px;font-weight:500;color:var(--color-text-muted);border-right:.5px solid var(--color-border-muted);position:sticky;left:0;z-index:6;background:var(--color-background-secondary)}.grouped-gantt-timeline-header-wrap{position:relative;min-height:20px;background:var(--color-background-secondary)}.grouped-gantt-header-row{position:relative;height:20px}.grouped-gantt-header-row--week{height:16px}.grouped-gantt-header-cell{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 4px;font-size:10px;font-weight:500;color:var(--color-text-muted);border-right:.5px solid var(--color-border-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.grouped-gantt-header-cell--today{background:#2563eb0f}.grouped-gantt-wo-row,.grouped-gantt-task-row{display:contents}.grouped-gantt-name-cell--wo{min-height:34px;gap:4px;padding:0}.grouped-gantt-name-cell{padding:0 8px;border-right:.5px solid var(--color-border-muted);border-bottom:.5px solid var(--color-border-muted);position:sticky;left:0;z-index:2;background:var(--color-surface);display:flex;align-items:center;min-width:0}.grouped-gantt-wo-toggle{flex:1;min-width:0;min-height:34px;border:none;background:transparent;cursor:pointer;text-align:left;font:inherit;padding:0 0 0 8px;display:flex;align-items:center;color:inherit}.grouped-gantt-wo-number-wrap{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.grouped-gantt-wo-link-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;padding:0;opacity:0;transition:opacity .12s ease,color .12s ease,background .12s ease}.grouped-gantt-wo-link-btn .ti{font-size:12px;line-height:1}.grouped-gantt-wo-row:hover .grouped-gantt-wo-link-btn,.grouped-gantt-wo-link-btn:focus-visible{opacity:1}.grouped-gantt-wo-link-btn:hover{background:var(--color-primary-tint-bg);color:var(--color-primary)}.grouped-gantt-wo-row:hover .grouped-gantt-name-cell--wo{background:var(--color-background-secondary)}.grouped-gantt-wo-row:hover .grouped-gantt-wo-toggle{background:transparent}.grouped-gantt-wo-name-wrap{min-width:0;display:flex;flex-direction:column;gap:2px}.grouped-gantt-wo-top{display:flex;align-items:center;gap:4px;min-width:0}.grouped-gantt-chevron{flex-shrink:0;width:12px;height:12px;color:var(--color-text-muted);transition:transform .15s ease}.grouped-gantt-chevron--open{transform:rotate(90deg)}.grouped-gantt-wo-number{font-size:10px;color:var(--color-text-muted);flex-shrink:0}.grouped-gantt-wo-title{font-size:11px;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grouped-gantt-wo-pills{display:flex;flex-wrap:wrap;gap:3px}.grouped-gantt-pill{display:inline-flex;align-items:center;gap:2px;padding:0 4px;border-radius:999px;font-size:8px;font-weight:500;line-height:1.25}.grouped-gantt-pill-icon{width:8px;height:8px;flex-shrink:0}.grouped-gantt-task-name{font-size:11px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grouped-gantt-task-name--complete{text-decoration:line-through;opacity:.65}.grouped-gantt-timeline-cell{position:relative;border-bottom:.5px solid var(--color-border-muted);background:var(--color-surface)}.grouped-gantt-name-cell--task{height:26px;padding-left:28px;background:var(--color-surface)}.grouped-gantt-timeline-cell--task{background:var(--color-surface)}.grouped-gantt-timeline-cell--wo{height:34px}.grouped-gantt-timeline-cell--task{height:26px}.grouped-gantt-timeline-track{position:relative;height:100%}.grouped-gantt-today-line{position:absolute;top:0;bottom:0;width:1.5px;background:var(--color-primary);pointer-events:none;z-index:1}.grouped-gantt-bar{position:absolute;border-radius:3px;z-index:2;overflow:hidden;display:flex;align-items:center;padding:0 4px}.grouped-gantt-bar--wo{top:8px;height:18px}.grouped-gantt-bar--task{top:6px;height:14px;border-radius:2px}.grouped-gantt-bar-label{font-size:9px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grouped-gantt-empty{padding:24px 12px;text-align:center;font-size:13px;color:var(--color-text-muted)}.ops-dash{--ops-bg: var(--color-page);--ops-bg-alt: var(--color-page-alt);--ops-surface: var(--color-surface);--ops-surface-muted: var(--color-surface-muted);--ops-border: var(--color-border-muted);--ops-border-strong: var(--color-border-strong);--ops-text: var(--color-text);--ops-text-muted: var(--color-text-muted);--ops-text-subtle: var(--color-text-subtle);--ops-primary: var(--color-primary);--ops-success: var(--color-success);--ops-warning: var(--color-warning);--ops-danger: var(--color-danger);display:flex;flex-direction:column;height:100%;background:var(--ops-bg);color:var(--ops-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}.ops-dash-header{display:none;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--ops-surface);border-bottom:none;flex-shrink:0;gap:12px;flex-wrap:wrap}.ops-dash-title{font-size:17px;font-weight:700;letter-spacing:.02em;color:var(--ops-text);white-space:nowrap}.ops-dash-title span{color:var(--ops-text-muted);font-weight:400}.ops-dash-header-meta{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--ops-text-muted)}.ops-dash-live{display:flex;align-items:center;gap:5px;color:var(--ops-success);font-weight:600;font-size:12px}.ops-dash-live-dot{width:7px;height:7px;border-radius:50%;background:var(--ops-success);animation:ops-pulse 2s infinite}@keyframes ops-pulse{0%,to{opacity:1}50%{opacity:.4}}.ops-dash-live.is-refreshing{color:#2563eb}.ops-dash-live.is-refreshing .ops-dash-live-dot{background:#2563eb;animation:ops-refresh-pulse .9s ease-in-out infinite}@keyframes ops-refresh-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.ops-dash-refresh-meta{font-size:12px;color:var(--ops-text-muted)}.ops-dash-clock{font-size:13px;color:var(--ops-text-secondary, var(--ops-text-muted));font-weight:500;white-space:nowrap}.ops-dash-reports-link{padding:5px 10px;border-radius:8px;border:1px solid var(--ops-border, var(--color-border-muted));background:var(--ops-surface, var(--color-surface));color:var(--ops-text-primary, var(--color-text-primary));font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.ops-dash-reports-link:hover{background:var(--ops-surface-muted, var(--color-surface-muted))}.ops-dash-stats{display:grid;align-items:stretch;gap:0;padding:8px 12px;background:var(--color-surface);border-bottom:1px solid var(--ops-border);flex-shrink:0}.ops-dash-stats .ops-stat-card{min-width:0;background:transparent;border:none;border-radius:0;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.ops-stat-card--group-end{position:relative}.ops-stat-card--group-end:after{content:"";position:absolute;top:6px;right:0;bottom:6px;border-right:1px solid rgba(255,255,255,.08);pointer-events:none}.ops-dash-mobile-tabs.pwa-jobs-tabs{display:none}.ops-stat-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ops-text-muted);line-height:1.2}.ops-stat-value{font-size:24px;font-weight:700;line-height:1.1;color:var(--ops-text)}.ops-stat-value.red{color:var(--ops-danger)}.ops-stat-value.orange{color:var(--ops-warning)}.ops-stat-value.blue{color:var(--ops-primary)}.ops-stat-value.green{color:var(--ops-success)}.ops-stat-value.purple{color:var(--ops-purple, #a78bfa)}.ops-stat-value.teal{color:var(--ops-primary)}.ops-stat-sub{font-size:11px;color:var(--ops-text-muted);margin-top:1px}.ops-stat-card--clickable{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background .15s ease;padding:8px 10px;border:none;background:transparent;font-size:inherit;font-weight:inherit}.ops-stat-card--clickable:hover{background:color-mix(in srgb,var(--ops-primary) 5%,transparent)}.ops-stat-card--clickable.ops-stat-card--active{background:color-mix(in srgb,var(--ops-primary) 8%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ops-primary) 25%,transparent)}.ops-sd-overlay{position:fixed;inset:0;z-index:2050;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.ops-sd-overlay-panel{width:min(440px,100%);max-height:min(88vh,720px);display:flex;flex-direction:column;overflow:hidden;border-radius:12px;border:1px solid var(--ops-border);box-shadow:0 12px 40px #0006;background:var(--ops-surface)}.ops-sd-widget{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1;height:100%;max-height:min(88vh,720px);background:var(--ops-surface)}.ops-sd-widget-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px 10px;border-bottom:1px solid var(--ops-border);flex-shrink:0}.ops-sd-widget-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.ops-sd-widget-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--ops-border);border-radius:8px;background:transparent;color:var(--ops-text-muted);cursor:pointer}.ops-sd-widget-close:hover{color:var(--ops-text);border-color:color-mix(in srgb,var(--ops-primary) 35%,var(--ops-border))}.ops-sd-widget-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ops-text-muted)}.ops-sd-widget-action-badge{padding:3px 8px;border-radius:999px;border:1px solid #ef9f27;background:#faeeda;color:#633806;font-size:10px;font-weight:700;white-space:nowrap}.ops-sd-widget-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:.5px solid rgba(255,255,255,.05);flex-shrink:0}.ops-sd-widget-sections{display:flex;flex-direction:column}.ops-sd-widget-section+.ops-sd-widget-section{border-top:1px solid var(--ops-border)}.ops-sd-widget-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;border-bottom:.5px solid rgba(255,255,255,.05)}.ops-sd-widget-section-head--drafter{background:color-mix(in srgb,var(--ops-danger) 8%,var(--ops-surface));border-left:3px solid color-mix(in srgb,var(--ops-danger) 55%,var(--ops-border))}.ops-sd-widget-section-head--ready{background:color-mix(in srgb,var(--ops-warning) 8%,var(--ops-surface));border-left:3px solid color-mix(in srgb,var(--ops-warning) 55%,var(--ops-border))}.ops-sd-widget-section-head--waiting{background:color-mix(in srgb,var(--ops-primary) 8%,var(--ops-surface));border-left:3px solid color-mix(in srgb,var(--ops-primary) 55%,var(--ops-border))}.ops-sd-widget-section-title{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.ops-sd-widget-section--drafter .ops-sd-widget-section-title{color:color-mix(in srgb,var(--ops-danger) 78%,var(--ops-text))}.ops-sd-widget-section--ready .ops-sd-widget-section-title{color:color-mix(in srgb,var(--ops-warning) 78%,var(--ops-text))}.ops-sd-widget-section--waiting .ops-sd-widget-section-title{color:color-mix(in srgb,var(--ops-primary) 78%,var(--ops-text))}.ops-sd-widget-section-pill{padding:2px 8px;border-radius:999px;font-size:9px;font-weight:600;white-space:nowrap}.ops-sd-widget-section--drafter .ops-sd-widget-section-pill{background:color-mix(in srgb,var(--ops-danger) 10%,var(--ops-surface));color:color-mix(in srgb,var(--ops-danger) 70%,var(--ops-text));border:1px solid color-mix(in srgb,var(--ops-danger) 22%,var(--ops-border))}.ops-sd-widget-section--ready .ops-sd-widget-section-pill{background:color-mix(in srgb,var(--ops-warning) 10%,var(--ops-surface));color:color-mix(in srgb,var(--ops-warning) 72%,var(--ops-text));border:1px solid color-mix(in srgb,var(--ops-warning) 24%,var(--ops-border))}.ops-sd-widget-section--waiting .ops-sd-widget-section-pill{background:color-mix(in srgb,var(--ops-primary) 10%,var(--ops-surface));color:color-mix(in srgb,var(--ops-primary) 72%,var(--ops-text));border:1px solid color-mix(in srgb,var(--ops-primary) 22%,var(--ops-border))}.ops-sd-widget-section-more{padding:8px 12px 8px 14px;font-size:11px;font-weight:600;color:var(--ops-text-muted);border-top:1px dashed color-mix(in srgb,var(--ops-border) 85%,transparent)}.ops-sd-widget-chip--revise{background:#fef2f2;color:#991b1b;border-color:#fecaca}.ops-sd-widget-row-side{flex-direction:row;align-items:center;gap:6px}.ops-sd-widget-chevron{font-size:16px;line-height:1;color:var(--ops-text-muted);font-weight:400}.ops-sd-widget-row:not(:disabled):hover .ops-sd-widget-chevron{color:var(--ops-primary)}.ops-sd-widget-stat{padding:12px 10px;text-align:center;border-right:.5px solid rgba(255,255,255,.05)}.ops-sd-widget-stat:last-child{border-right:none}.ops-sd-widget-stat-value{font-size:28px;font-weight:700;line-height:1;color:var(--ops-text)}.ops-sd-widget-stat-value--ready{color:#d97706}.ops-sd-widget-stat-value--awaiting{color:var(--ops-primary)}.ops-sd-widget-stat-value--revise{color:var(--ops-danger)}.ops-sd-widget-stat-label{margin-top:4px;font-size:10px;line-height:1.25;color:var(--ops-text-muted)}.ops-sd-widget-list-wrap{position:relative;flex:1;min-height:0;overflow-y:auto;transition:opacity .28s ease}.ops-sd-widget.is-refreshing .ops-sd-widget-stats,.ops-sd-widget--column.is-refreshing .ops-sd-widget-stats,.ops-sd-widget-list-wrap.is-refreshing{opacity:.58;pointer-events:none}.ops-sd-widget-list-wrap.is-refreshing:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--ops-surface) 8%,transparent),color-mix(in srgb,var(--ops-surface) 22%,transparent))}.ops-sd-widget-list{list-style:none;margin:0;padding:0}.ops-sd-widget-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;width:100%;padding:12px 14px;border:none;border-bottom:.5px solid rgba(255,255,255,.05);background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.ops-sd-widget-row:disabled{cursor:default}.ops-sd-widget-row:not(:disabled):hover{background:color-mix(in srgb,var(--ops-primary) 5%,transparent)}.ops-sd-widget-row-main{min-width:0;flex:1}.ops-sd-widget-row-sub{margin-top:2px;font-size:11px;line-height:1.35;color:var(--ops-text-muted)}.ops-sd-widget-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.ops-sd-widget-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;border:1px solid;font-size:10px;font-weight:700;line-height:1.2;white-space:nowrap}.ops-sd-widget-chip--ready{background:#faeeda;color:#633806;border-color:#ef9f27}.ops-sd-widget-chip--overdue{background:#fef2f2;color:#991b1b;border-color:#fecaca}.ops-sd-widget-chip--submitted{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.ops-sd-widget-chip--feedback{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.ops-sd-widget-wait{font-size:10px;font-weight:600;color:var(--ops-text-muted)}.ops-sd-widget-wait--overdue{color:var(--ops-danger)}.ops-sd-widget-empty{padding:16px 14px;font-size:12px;color:var(--ops-text-muted)}.ops-sd-widget-empty--error{color:var(--ops-danger)}.ops-sd-widget-foot{flex-shrink:0;padding:10px 14px 12px;border-top:1px solid var(--ops-border);text-align:center}.ops-sd-widget-foot-link{border:none;background:none;color:var(--ops-primary);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.ops-sd-widget-foot-link:hover{text-decoration:underline}.ops-dash-body{flex:1;overflow:hidden;min-height:0}.ops-dash-body--desktop{display:flex;align-items:stretch}.ops-dash-col-resizer{width:7px;margin:0 -3px;flex-shrink:0;cursor:ew-resize;touch-action:none;position:relative;z-index:2}.ops-dash-col-resizer:after{content:"";position:absolute;top:14px;bottom:14px;left:50%;transform:translate(-50%);width:1px;background:var(--ops-border);transition:background .15s ease,width .15s ease}.ops-dash-col-resizer:hover:after,.ops-dash-col-resizer:active:after{width:2px;background:color-mix(in srgb,var(--ops-primary) 50%,var(--ops-border))}@media(min-width:1400px){.ops-dash-col{padding:12px}.ops-dash-stats{padding:10px 16px;gap:10px}}@media(min-width:1800px){.ops-dash-col{padding:14px 16px}.ops-dash-stats .ops-stat-card{padding:12px 16px}}.ops-dash-col--shop-drawings{align-self:start;min-width:0;max-height:100%;height:auto;overflow:visible}.ops-dash-col--shop-drawings .ops-dash-col-header{border-radius:0}.ops-sd-widget--column{display:flex;flex-direction:column;flex:0 1 auto;min-height:0;max-height:none;height:auto;background:transparent}.ops-dash-empty--widgets{padding:24px 16px;text-align:center}.ops-dash-col{display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);padding:10px;border-right:1px solid var(--ops-border);min-width:0}.ops-dash-body--desktop .ops-dash-col{border-right:none}.ops-dash-body--desktop .ops-dash-col--shop-drawings{align-self:stretch;max-height:100%;height:auto}.ops-dash-body--mobile{display:none}.ops-dash-col:last-child{border-right:none}.ops-dash-col-header{padding:10px 14px;font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-faint);background:transparent;border-bottom:.5px solid rgba(255,255,255,.05);border-radius:0;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.ops-dash-col-header-start{display:flex;align-items:center;gap:10px;min-width:0}.ops-dash-col-header-link{margin:0;padding:3px 10px;border:1px solid var(--color-border-muted);border-radius:6px;background:color-mix(in srgb,var(--color-surface) 88%,transparent);color:var(--color-link);font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;cursor:pointer;font-family:inherit;white-space:nowrap}.ops-dash-col-header-link:hover{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.ops-dash-col-header-count{font-size:11px;color:var(--ops-text-subtle);font-weight:500}.ops-dash-col-header-count--revise{color:var(--ops-danger);font-weight:600}.ops-dash-col-scroll{flex:1;overflow-y:auto;padding:0}.ops-dash-col-scroll::-webkit-scrollbar{width:4px}.ops-dash-col-scroll::-webkit-scrollbar-track{background:transparent}.ops-dash-col-scroll::-webkit-scrollbar-thumb{background:var(--ops-border-strong);border-radius:2px}.ops-dash-jobs-show-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:4px;padding:10px 12px;font-size:11px;font-weight:600;color:var(--ops-text-muted);background:transparent;border:none;border-top:1px dashed color-mix(in srgb,var(--ops-border) 85%,transparent);cursor:pointer;transition:color .15s ease,background .15s ease}.ops-dash-jobs-show-more:hover{color:var(--ops-primary);background:color-mix(in srgb,var(--ops-primary) 8%,transparent)}.ops-dash-jobs-show-more-chevron{font-size:10px;line-height:1}.ops-dash-col-scroll.ops-dash-col-scroll--shop-drawings{display:flex;flex-direction:column;flex:0 1 auto;min-height:0;padding:0;overflow:hidden;overflow-y:hidden}.ops-dash-col--shop-drawings .ops-sd-widget-list-wrap{max-height:min(52vh,560px)}.ops-dash-col--shop-drawings>.ops-sd-widget-foot{flex-shrink:0;margin:0;border-top:.5px solid rgba(255,255,255,.05);background:transparent;border-radius:0}.ops-alert-card{padding:10px 14px;background:transparent;border:none;border-radius:0;margin:0;cursor:default;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.ops-alert-card+.ops-alert-card,.ops-section-divider+.ops-alert-card{border-top:.5px solid rgba(255,255,255,.05)}.ops-alert-card.is-clickable{cursor:pointer}.ops-alert-card.is-clickable:hover{background:color-mix(in srgb,var(--ops-primary) 5%,transparent)}.ops-alert-card.is-clickable:focus-visible{outline:2px solid var(--ops-primary);outline-offset:-2px}.ops-alert-card--overdue{border-left:3px solid var(--ops-danger);padding-left:11px}.ops-alert-left-number{font-size:17px;color:var(--ops-text);font-weight:700;line-height:1.15;min-width:68px;padding-right:2px;white-space:nowrap}.ops-alert-main{min-width:0}.ops-dash-job-title,.ops-sd-widget-row-title,button.ops-dash-job-title{font-family:inherit;font-size:14px;font-weight:700;line-height:1.3;color:var(--ops-text);font-synthesis:weight;letter-spacing:normal}.ops-alert-job-compact{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-alert-meta-compact{margin-top:3px;font-size:11px;color:var(--ops-text-muted);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-alert-right-due{justify-self:end}.ops-alert-right-meta{display:grid;justify-items:end;gap:4px;min-width:0}.ops-alert-staff-avatars{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap}.ops-alert-staff-avatars>span{flex-shrink:0}.ops-alert-due-badge{font-size:11px;font-weight:700;white-space:nowrap}.ops-alert-due-badge.overdue{color:var(--ops-danger)}.ops-alert-due-badge.warning{color:var(--ops-warning)}.ops-alert-due-badge.within7{color:var(--ops-text-muted)}.ops-alert-due-badge.future{color:var(--color-text-faint)}.ops-job-card{padding:10px 12px;background:transparent;border:none;border-radius:0;margin:0}.ops-job-card+.ops-job-card{border-top:.5px solid rgba(255,255,255,.05)}.ops-job-card-head-grid{--ops-job-caret-col-width: 28px;display:grid;grid-template-columns:var(--ops-job-caret-col-width) minmax(0,1fr) auto;column-gap:8px;row-gap:2px;align-items:start}.ops-job-card-caret-slot{grid-column:1;grid-row:1;width:var(--ops-job-caret-col-width);min-width:var(--ops-job-caret-col-width);display:flex;align-items:flex-start;justify-content:center;align-self:start}.ops-job-card-caret-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:26px;margin:0;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:700;line-height:1;cursor:pointer}.ops-job-card-layout{display:grid;grid-template-columns:var(--ops-job-caret-col-width, 28px) minmax(0,1fr);column-gap:8px;align-items:start}.ops-job-card-layout .ops-job-card-caret-spacer{width:var(--ops-job-caret-col-width, 28px);min-width:var(--ops-job-caret-col-width, 28px);grid-column:1;grid-row:1}.ops-job-card-layout .ops-job-card-body{grid-column:2;min-width:0}.ops-job-card-caret-btn:hover{background:color-mix(in srgb,var(--ops-primary) 12%,transparent);color:var(--ops-text)}.ops-job-card-chevron{display:block}.ops-job-children.ops-job-card-layout--has-caret{padding-top:2px}.ops-job-card-top{display:contents}.ops-job-card-head-grid>.ops-job-name,.ops-job-card-head-grid>.ops-job-name--link{grid-column:2;grid-row:1;min-width:0;margin:0;text-align:left}.ops-job-card-head-grid>.ops-job-name--link{width:100%;max-width:100%}.ops-job-card-head-grid>.ops-job-meta{grid-column:2;grid-row:2;margin-bottom:0}.ops-job-card-head-grid>.ops-job-progress-bar{grid-column:2 / 4;grid-row:3}.ops-job-number{font-size:11px;color:var(--ops-text-muted);font-weight:600;white-space:nowrap;flex-shrink:0}.ops-job-alert-badge{font-size:10px;background:var(--color-danger-bg);color:var(--color-danger);border-radius:4px;padding:2px 8px;font-weight:500;white-space:nowrap;flex-shrink:0}.ops-job-card-top-right{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0;flex-shrink:0}.ops-stage-indicator{display:grid;justify-items:end;gap:2px;min-width:0}.ops-stage-dots{display:flex;align-items:center;gap:4px}.ops-stage-dot{width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--color-text-faint) 70%,transparent)}.ops-stage-dot.is-filled{background:var(--ops-primary)}.ops-stage-label{font-size:10px;color:var(--color-text-faint);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.ops-job-meta-primary{font-size:11px;color:var(--color-text-faint);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-job-name{margin-bottom:0}.ops-job-name--link{border:none;background:transparent;padding:0;cursor:pointer;text-align:left}.ops-job-name--link:hover{color:var(--ops-primary)}.ops-job-name--inline{display:block;margin-bottom:0;flex:1 1 auto;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-job-meta{display:flex;gap:12px;font-size:11px;color:var(--ops-text-muted);margin-bottom:2px;min-width:0}.ops-job-meta--split{align-items:center;justify-content:space-between;gap:10px;margin-bottom:0}.ops-job-meta-chips{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0;justify-content:flex-end;max-width:min(100%,280px)}.ops-job-meta>span:first-child{min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-job-fraction-meta{color:var(--color-text-faint)}.ops-job-progress-bar{height:5px;background:var(--ops-surface-muted);border-radius:3px;overflow:hidden;margin-bottom:4px;display:none}.ops-job-progress-fill{height:100%;border-radius:3px;background:var(--ops-primary);transition:width .4s ease}.ops-job-progress-fill.complete{background:var(--ops-success)}.ops-job-progress-pct{font-size:10px;color:var(--ops-text-subtle);text-align:right}.ops-job-expand-btn{margin-top:8px;border:1px solid var(--ops-border-strong);background:var(--ops-surface);color:var(--ops-text-muted);border-radius:6px;font-size:11px;font-weight:600;padding:5px 8px;cursor:pointer}.ops-job-children{margin-top:8px;border-top:.5px solid rgba(255,255,255,.05);background:transparent;padding:6px 2px 0;display:grid;gap:0}.ops-job-child-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 2px;min-width:0}.ops-job-child-row+.ops-job-child-row{border-top:.5px solid rgba(255,255,255,.05)}.ops-job-child-main{min-width:0;flex:1 1 auto}.ops-job-child-name{font-size:13px;font-weight:700;color:var(--ops-text);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-job-child-name--link{appearance:none;-webkit-appearance:none;border:none;background:none;padding:0;margin:0;cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit}.ops-job-child-task{margin-top:2px;font-size:10px;color:var(--ops-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-job-child-stage{flex-shrink:0;min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:color-mix(in srgb,var(--ops-primary) 22%,transparent)}.ops-job-context-menu{position:fixed;z-index:2000;min-width:210px;background:var(--ops-surface);border:1px solid var(--ops-border);border-radius:8px;box-shadow:0 8px 22px #00000059;padding:6px}.ops-job-context-menu-item{width:100%;text-align:left;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--ops-text);font-size:12px;font-weight:600;cursor:pointer}.ops-job-context-menu-item:hover{background:var(--ops-surface-muted)}.ops-job-context-menu-item:disabled{color:var(--ops-text-subtle);cursor:not-allowed}.ops-task-popover{position:fixed;z-index:2050;width:min(330px,calc(100vw - 20px));max-height:min(340px,calc(100vh - 20px));border:1px solid var(--ops-border);border-radius:10px;background:color-mix(in srgb,var(--ops-surface) 96%,var(--color-page));box-shadow:0 14px 36px #00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:8px;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:8px;overflow:hidden;touch-action:pan-y}.ops-task-popover.is-working{opacity:.7}.ops-task-popover.is-working .ops-task-popover-list{pointer-events:none}.ops-task-popover-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;color:var(--ops-text)}.ops-task-popover-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-task-popover-title-right{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.ops-task-popover-count{font-size:10px;font-weight:600;color:var(--ops-text-subtle)}.ops-task-popover-status-row{display:grid;gap:4px}.ops-task-popover-status-label{font-size:10px;font-weight:700;color:var(--ops-text-subtle);text-transform:uppercase;letter-spacing:.05em}.ops-task-popover-status-select{width:100%;min-height:32px;border:1px solid var(--ops-border);border-radius:8px;background:var(--ops-bg-alt);color:var(--ops-text);font-size:12px;font-weight:600;padding:0 10px}.ops-task-popover-status-select:disabled{color:var(--ops-text-subtle);cursor:not-allowed}.ops-task-popover-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-width:24px;min-height:24px;border:1px solid var(--ops-border);border-radius:6px;background:transparent;color:var(--ops-text-muted);cursor:pointer;padding:0}.ops-task-popover-close:hover{border-color:var(--ops-border-strong);color:var(--ops-text)}.ops-task-popover-empty{font-size:12px;color:var(--ops-text-muted);padding:4px 2px}.ops-task-popover-list{min-height:0;overflow-y:auto;overflow-x:hidden;display:grid;gap:4px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:2px}.ops-task-popover-row{border:1px solid var(--ops-border);border-radius:8px;background:var(--ops-bg-alt);color:var(--ops-text);display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:6px 8px;cursor:pointer}.ops-task-popover-row:hover{border-color:color-mix(in srgb,var(--ops-primary) 35%,var(--ops-border));background:color-mix(in srgb,var(--ops-primary) 8%,var(--ops-bg-alt))}.ops-task-popover-row:disabled{opacity:.85;cursor:default}.ops-task-popover-row.is-complete{background:color-mix(in srgb,var(--ops-success) 8%,var(--ops-bg-alt))}.ops-task-popover-check{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--ops-border-strong);flex-shrink:0;background:transparent}.ops-task-popover-check.is-complete{border-color:color-mix(in srgb,var(--ops-success) 55%,var(--ops-border-strong));background:color-mix(in srgb,var(--ops-success) 35%,transparent);box-shadow:inset 0 0 0 3px var(--ops-surface)}.ops-task-popover-main{min-width:0;display:grid}.ops-task-popover-name{font-size:11px;font-weight:600;color:var(--ops-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-task-popover-meta{margin-top:1px;font-size:10px;color:var(--ops-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-debug-overlay{position:fixed;inset:0;background:#00000073;z-index:2100;display:flex;align-items:center;justify-content:center;padding:16px}.ops-debug-modal{width:min(900px,96vw);max-height:88vh;overflow:auto;background:var(--ops-surface);border:1px solid var(--ops-border);border-radius:10px;box-shadow:0 12px 40px #0006;padding:12px}.ops-debug-title{font-size:14px;font-weight:700;color:var(--ops-text);margin-bottom:10px}.ops-debug-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ops-debug-step{font-size:12px;color:var(--ops-text-muted)}.ops-debug-btn{border:1px solid var(--ops-border);background:var(--ops-surface-muted);color:var(--ops-text);border-radius:6px;font-size:12px;font-weight:600;padding:6px 10px;cursor:pointer}.ops-debug-btn:disabled{opacity:.5;cursor:not-allowed}.ops-debug-json{margin:0;padding:10px;border:1px solid var(--ops-border);border-radius:8px;background:var(--ops-bg-alt);color:var(--ops-text);font-size:11px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.ops-debug-actions{margin-top:10px;display:flex;justify-content:flex-end}.ops-debug-empty{color:var(--ops-text-muted);font-size:12px}.ops-debug-task-list-wrap{margin-top:10px;border:1px solid var(--ops-border);border-radius:8px;background:var(--ops-bg-alt);padding:8px}.ops-debug-task-list-title{font-size:12px;font-weight:700;color:var(--ops-text);margin-bottom:6px}.ops-debug-task-list{max-height:260px;overflow:auto}.ops-debug-task-row{padding:6px 2px;border-bottom:1px solid var(--ops-border)}.ops-debug-task-row:last-child{border-bottom:none}.ops-debug-task-name{font-size:12px;font-weight:600;color:var(--ops-text)}.ops-debug-task-meta{margin-top:2px;font-size:11px;color:var(--ops-text-muted)}.ops-role-section{background:transparent;border:none;border-radius:0;margin:0;overflow:visible}.ops-role-section+.ops-role-section{border-top:.5px solid rgba(255,255,255,.05)}.ops-role-summary{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 6px;border-bottom:.5px solid var(--ops-border)}.ops-role-summary-chip{font-size:10px;color:var(--color-text-faint);border:.5px solid var(--ops-border);border-radius:999px;padding:2px 7px;background:var(--ops-surface)}.ops-role-summary-chip.is-active{color:var(--ops-success);border-color:color-mix(in srgb,var(--ops-success) 35%,var(--ops-border))}.ops-role-header{padding:8px 12px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ops-text-subtle);display:flex;align-items:center;justify-content:space-between;border-bottom:.5px solid rgba(255,255,255,.05)}.ops-role-on-count{font-size:10px;color:var(--ops-text-subtle);font-weight:500}.ops-staff-row{display:flex;align-items:center;gap:9px;padding:8px 12px;background:transparent;border:none;border-radius:0;margin-bottom:0}.ops-role-staff-list{padding:2px 0}.ops-role-staff-list .ops-staff-row+.ops-staff-row{border-top:.5px solid rgba(255,255,255,.05)}.ops-role-empty{padding:10px 12px;font-size:11px;color:var(--ops-text-subtle)}.ops-staff-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--color-success);background:#22c55e26!important;flex-shrink:0;letter-spacing:.02em}.ops-staff-info{flex:1;min-width:0}.ops-staff-name{font-size:12px;color:var(--ops-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-staff-name-btn{display:inline-block;width:100%;padding:0;border:none;background:none;text-align:left;cursor:pointer}.ops-staff-name-btn:hover,.ops-staff-name-btn:focus-visible{color:var(--ops-primary);text-decoration:underline}.ops-staff-task{font-size:10px;color:var(--ops-text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-staff-time{font-size:11px;font-weight:600;color:var(--ops-text-muted);white-space:nowrap;flex-shrink:0}.ops-dash--mobile-swipe{padding-bottom:28px}.ops-dash--mobile-swipe .ops-dash-body--mobile-swipe{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.ops-dash-mobile-swipe-wrap{position:relative;flex:1;min-height:0;overflow:hidden}.ops-dash-mobile-swipe-track{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ops-dash-mobile-swipe-track::-webkit-scrollbar{display:none}.ops-dash-mobile-swipe-page{flex:0 0 100%;width:100%;min-width:100%;scroll-snap-align:start;scroll-snap-stop:always;min-height:0;display:flex;flex-direction:column}.ops-dash-mobile-swipe-page>.ops-dash-col{flex:1;min-height:0}.ops-dash-mobile-dots{display:flex;gap:6px;justify-content:center;align-items:center;padding:8px 10px 10px;flex-shrink:0}.ops-dash-mobile-dots--dock{position:fixed;left:0;right:0;bottom:var(--pwa-mobile-tabbar-offset, calc(env(safe-area-inset-bottom, 0px) + 63px) );z-index:1190;margin:0;padding:10px 12px 8px;border:none;background:none}.ops-dash-mobile-dot{width:6px;height:6px;border-radius:999px;background:color-mix(in srgb,var(--ops-text) 38%,transparent);transition:width .16s ease,border-radius .16s ease,background-color .16s ease}.ops-dash-mobile-dot.is-active{width:18px;height:6px;border-radius:3px;background:var(--ops-primary)}.ops-dash-mobile-swipe-hint{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none;contain:layout style paint}.ops-dash-mobile-swipe-hint-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--ops-bg) 78%,var(--ops-primary) 22%);border:1px solid color-mix(in srgb,var(--ops-primary) 35%,var(--ops-border));color:var(--ops-primary)}.ops-dash-mobile-swipe-hint-arrow{display:block;font-size:18px;font-weight:700;line-height:1;will-change:transform,opacity;animation:ops-dash-swipe-hint-nudge 2s cubic-bezier(.45,.05,.55,.95) infinite}.ops-dash-mobile-swipe-hint-text{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}@keyframes ops-dash-swipe-hint-nudge{0%,to{opacity:.55;transform:translateZ(0)}50%{opacity:1;transform:translate3d(7px,0,0)}}@media(max-width:900px){.ops-dash-stats{display:flex;gap:0;overflow-x:auto;overflow-y:hidden;padding:8px 10px;border-bottom:.5px solid var(--ops-border);scroll-snap-type:x proximity}.ops-dash-stats .ops-stat-card{flex:0 0 138px;min-width:138px;width:138px;max-width:none;padding:8px 12px;gap:1px;scroll-snap-align:start}.ops-stat-card--group-end:after{top:4px;bottom:4px}.ops-dash-stats .ops-stat-card--clickable{width:138px;padding:8px 12px}.ops-stat-label{font-size:9px;letter-spacing:.05em}.ops-stat-value{font-size:22px}.ops-stat-sub{font-size:10px}.ops-dash-mobile-tabs.pwa-jobs-tabs{display:flex;flex-shrink:0}.ops-dash-mobile-tabs button.pwa-jobs-tab,.ops-dash-mobile-tabs button.pwa-jobs-tab--active{background:transparent;box-shadow:none}.ops-dash-mobile-tabs button.pwa-jobs-tab:active{opacity:1;transform:none}.ops-dash-body--desktop{display:none}.ops-dash-body--mobile{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.ops-dash-col--mobile{flex:1;min-height:0;width:100%;border-right:none;padding:8px}.ops-dash-col--mobile.ops-dash-col--shop-drawings{align-self:stretch;height:100%;max-height:none}.ops-dash-col--mobile.ops-dash-col--shop-drawings .ops-dash-col-scroll--shop-drawings{flex:1;padding:0}.ops-dash-col--mobile.ops-dash-col--shop-drawings .ops-sd-widget--column{flex:1;height:100%}.ops-dash-col--mobile.ops-dash-col--shop-drawings .ops-sd-widget-list-wrap{max-height:none}.ops-sd-overlay{padding:10px;align-items:flex-end}.ops-sd-overlay-panel,.ops-sd-widget{width:100%;max-height:min(92vh,720px)}.ops-dash-col--mobile .ops-dash-col-header{border-radius:10px;border-bottom:none;margin-bottom:6px;padding:8px 12px}.ops-dash-col--mobile .ops-dash-col-scroll{padding:0 0 6px}.ops-alert-left-number{font-size:14px;line-height:1.2}.ops-dash-job-title,.ops-sd-widget-row-title,.ops-job-child-name{font-size:13px;line-height:1.25;font-weight:700}.ops-job-child-task,.ops-alert-meta-compact{font-size:10px}.ops-alert-card,.ops-job-card,.ops-staff-row{min-height:48px}}.ops-dash-empty{padding:24px 14px;text-align:center;font-size:12px;color:var(--ops-text-subtle)}.ops-dash-loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:13px;color:var(--ops-text-subtle)}.ops-dash-error{display:flex;align-items:center;justify-content:center;height:100%;font-size:13px;color:var(--ops-danger);padding:20px;text-align:center}.ops-section-divider{padding:6px 14px 4px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ops-text-muted);border-bottom:.5px solid rgba(255,255,255,.05);border-top:.5px solid rgba(255,255,255,.05);margin:0;background:transparent}.sd-procore-modal.sd-procore-modal--detail{width:min(1080px,calc(100vw - 40px));min-width:min(640px,100%);max-height:min(94vh,1200px)}.sd-procore-modal.sd-procore-modal--detail .sd-procore-form{gap:20px}.sd-procore-modal.sd-procore-modal--detail .sd-procore-submittal-view{padding:0;border:none;background:transparent;gap:0}.sd-procore-modal.sd-procore-modal--detail .sd-pc-detail{min-width:0;max-width:100%}.sd-pc-detail{position:relative;display:flex;flex-direction:column;gap:22px;margin-top:0;font-size:14px;line-height:1.5;color:var(--color-text)}.sd-pc-detail-processing-overlay{position:fixed;inset:0;z-index:1400;display:flex;align-items:center;justify-content:center;padding:20px;background:color-mix(in srgb,var(--color-surface, #fff) 88%,transparent);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.sd-pc-detail-processing-card{min-width:min(280px,90%);max-width:420px;padding:18px 20px;border-radius:12px;border:1px solid var(--color-border-muted);background:var(--color-surface);box-shadow:0 12px 30px var(--color-shadow-modal, rgba(15, 23, 42, .18));display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.sd-pc-detail-processing-spinner{width:26px;height:26px;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-primary) 30%,transparent);border-top-color:var(--color-primary);animation:sd-pc-spin .9s linear infinite}.sd-pc-detail-processing-title{font-size:15px;font-weight:700;color:var(--color-text)}.sd-pc-detail-processing-subtitle{font-size:13px;color:var(--color-text-secondary)}@keyframes sd-pc-spin{to{transform:rotate(360deg)}}.sd-pc-detail-card{background:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:12px;padding:24px}.sd-pc-detail-header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;flex-wrap:wrap}.sd-pc-detail-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.sd-pc-detail-title{margin:0;font-size:19px;font-weight:500;line-height:1.35;letter-spacing:-.01em}.sd-pc-detail-meta{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:14px;line-height:1.5;color:var(--color-text-secondary)}.sd-pc-detail-meta-item{display:inline-flex;align-items:center;gap:4px}.sd-pc-detail-actions{display:flex;gap:10px;flex-shrink:0}.sd-pc-detail-btn{padding:10px 16px;font-size:14px;font-weight:600;border-radius:8px;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);color:var(--color-text);cursor:pointer;font-family:inherit}.sd-pc-detail-btn:hover:not(:disabled){background:var(--color-surface-hover)}.sd-pc-detail-btn:disabled{opacity:.5;cursor:not-allowed}.sd-pc-detail-btn--primary{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));border-color:var(--color-primary-outline-border);color:var(--color-primary);text-decoration:none}.sd-pc-detail-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:16px}.sd-pc-detail-stat{background:var(--color-background-secondary);border-radius:10px;padding:16px;min-height:72px;display:flex;flex-direction:column;justify-content:center}.sd-pc-detail-stat-label{font-size:12px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px;line-height:1.3}.sd-pc-detail-stat-value{font-size:16px;font-weight:500;line-height:1.4}.sd-pc-detail-section-title{margin:0 0 20px;font-size:14px;font-weight:500;line-height:1.35;display:flex;align-items:center;gap:8px;color:var(--color-text)}.sd-pc-detail-badge{font-size:12px;padding:5px 11px;border-radius:8px;font-weight:600;line-height:1.3}.sd-pc-detail-badge--open{background:var(--color-warning-bg);color:var(--color-warning)}.sd-pc-detail-badge--success{background:var(--color-success-bg);color:var(--color-success-text)}.sd-pc-detail-badge--danger{background:var(--color-danger-bg);color:var(--color-error-text)}.sd-pc-detail-badge--muted{background:var(--color-surface-muted);color:var(--color-text-secondary)}.sd-pc-detail .sd-procore-bic-notice{margin:0;padding:18px 20px;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-banner-info-title) 40%,var(--color-border-muted));background:color-mix(in srgb,var(--color-banner-info-title) 12%,var(--color-surface));color:var(--color-text);font-size:14px;line-height:1.6}.sd-pc-detail-timeline{position:relative;padding-left:48px}.sd-pc-detail-timeline-line{position:absolute;left:15px;top:6px;bottom:6px;width:2px;background:var(--color-border-muted)}.sd-pc-detail-step{position:relative;margin-bottom:24px}.sd-pc-detail-step:last-child{margin-bottom:0}.sd-pc-detail-stage{position:relative;margin-bottom:28px}.sd-pc-detail-stage:last-child{margin-bottom:0}.sd-pc-detail-stage-header{position:relative;display:flex;align-items:flex-start;gap:0;margin-bottom:10px}.sd-pc-detail-stage-header--current .sd-pc-detail-stage-title{color:var(--color-text);font-weight:600}.sd-pc-detail-stage-header .sd-pc-detail-step-icon{position:absolute;left:-48px}.sd-pc-detail-stage-header-body{min-width:0}.sd-pc-detail-stage-title{font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-secondary);line-height:1.35}.sd-pc-detail-stage-title--muted{color:var(--color-text-muted);font-weight:500}.sd-pc-detail-stage-title-sep{margin:0 .35em;opacity:.55;text-transform:none}.sd-pc-detail-stage-companies{display:flex;flex-direction:column;gap:12px;padding-left:4px;border-left:2px solid color-mix(in srgb,var(--color-border-muted) 65%,transparent);margin-left:6px}.sd-pc-detail-stage-company .sd-pc-detail-step{margin-bottom:0}.sd-pc-detail-stage-company .sd-pc-detail-step-icon{width:26px;height:26px;left:-42px}.sd-pc-detail-stage-company .sd-pc-detail-step-svg{width:13px;height:13px}.sd-pc-detail-step-members{list-style:none;margin:8px 0 0;padding:0 0 0 38px;display:flex;flex-direction:column;gap:6px}.sd-pc-detail-step-member{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--color-text-secondary)}.sd-pc-detail-step-member-name{font-weight:500;color:var(--color-text)}.sd-pc-detail-step-pill--compact{font-size:10px;padding:2px 7px}.sd-pc-detail-step--current .sd-pc-detail-step-body{padding-left:2px}.sd-pc-detail-step--you-pending .sd-pc-detail-step-body{padding:12px 14px;margin-left:-6px;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-banner-info-title) 35%,var(--color-border-muted));background:color-mix(in srgb,var(--color-banner-info-title) 10%,var(--color-surface))}.sd-pc-detail-step-icon{position:absolute;left:-48px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-border-muted);background:var(--color-surface-muted);color:var(--color-text-secondary)}.sd-pc-detail-step-svg{width:16px;height:16px;display:block}.sd-pc-detail-step-icon--completed{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success-text)}.sd-pc-detail-step-icon--pending{background:var(--color-warning-bg);border-color:color-mix(in srgb,var(--color-warning) 40%,transparent);color:var(--color-warning)}.sd-pc-detail-step-icon--rejected{background:var(--color-danger-bg);border-color:color-mix(in srgb,var(--color-danger) 35%,transparent);color:var(--color-error-text)}.sd-pc-detail-step-icon--waiting{background:var(--color-surface-muted);border-color:var(--color-border-muted);color:var(--color-text-muted)}.sd-pc-detail-step-body{min-width:0}.sd-pc-detail-step-title{font-size:14px;font-weight:500;margin-bottom:2px;line-height:1.4}.sd-pc-detail-step-title--muted{color:var(--color-text-secondary);font-weight:400}.sd-pc-detail-step-role{font-size:13px;line-height:1.4;color:var(--color-text-secondary);margin-bottom:8px}.sd-pc-detail-step-meta{margin-bottom:10px}.sd-pc-detail-step-pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:4px 10px;border-radius:6px;font-weight:600;line-height:1.35}.sd-pc-detail-step-pill--success{background:var(--color-success-bg);color:var(--color-success-text)}.sd-pc-detail-step-pill--warning{background:var(--color-warning-bg);color:var(--color-warning)}.sd-pc-detail-step-pill--danger{background:var(--color-danger-bg);color:var(--color-error-text)}.sd-pc-detail-step-pill--muted{background:var(--color-surface-muted);color:var(--color-text-secondary)}.sd-pc-detail-step-dates{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:4px;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.sd-pc-detail-step-dates li{display:flex;flex-wrap:wrap;gap:6px 10px}.sd-pc-detail-step-date-label{font-weight:600;color:var(--color-text-muted);min-width:4.5rem}.sd-pc-detail-step-dates-fallback{font-size:13px;line-height:1.5;color:var(--color-text-secondary);margin-bottom:10px}.sd-pc-detail-step-comment{font-size:14px;line-height:1.55;color:var(--color-text-secondary);margin-bottom:10px;font-style:italic}.sd-pc-detail-step-atts{margin-top:4px}.sd-pc-detail-step-atts-head{font-size:12px;font-weight:600;color:var(--color-text-muted);margin-bottom:6px}.sd-pc-detail-step-atts-list{display:flex;flex-wrap:wrap;gap:8px}.sd-pc-detail-step-att{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);cursor:pointer;color:var(--color-link);font-family:inherit;max-width:100%;text-align:left}.sd-pc-detail-step-att:hover:not(:disabled){background:var(--color-surface-hover)}.sd-pc-detail-step-att:disabled{opacity:.5;cursor:not-allowed;color:var(--color-text-muted)}.sd-pc-detail-step-att-icon{flex-shrink:0;font-size:14px;line-height:1}.sd-pc-detail-step-att-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-weight:600}.sd-pc-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;min-width:0}.sd-pc-detail-columns>.sd-pc-detail-card{min-width:0;max-width:100%}@media(min-width:900px){.sd-procore-modal.sd-procore-modal--detail .sd-pc-detail-columns{grid-template-columns:minmax(300px,1fr) minmax(360px,1.15fr);gap:24px}.sd-procore-modal.sd-procore-modal--detail .sd-pc-detail-step-att-name{max-width:min(520px,100%)}}@media(max-width:720px){.sd-procore-modal.sd-procore-modal--detail{min-width:0;width:100%}.sd-pc-detail-card{padding:20px 16px}.sd-pc-detail-columns{grid-template-columns:1fr}}.sd-pc-detail-dl{display:grid;gap:16px;font-size:14px;line-height:1.5}.sd-pc-detail-dl-row{display:grid;grid-template-columns:minmax(130px,38%) 1fr;gap:12px}.sd-pc-detail-dl-row dt{margin:0;color:var(--color-text-secondary);font-weight:400;font-size:14px}.sd-pc-detail-dl-row dd{margin:0;font-weight:500;font-size:14px}.sd-pc-detail-att-list{display:grid;gap:12px;min-width:0}.sd-pc-detail-att-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;column-gap:12px;row-gap:8px;padding:14px;border-radius:10px;background:var(--color-background-secondary);min-width:0;max-width:100%;box-sizing:border-box}.sd-pc-detail-att-icon{font-size:22px;flex-shrink:0;color:var(--color-danger);font-weight:700}.sd-pc-detail-att-body{min-width:0;overflow:hidden}.sd-pc-detail-att-name{font-size:14px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.sd-pc-detail-att-meta{font-size:13px;color:var(--color-text-secondary);margin-top:2px}.sd-pc-detail-att-download{padding:8px 12px;font-size:14px;flex-shrink:0;white-space:nowrap;justify-self:end}@supports (container-type: inline-size){.sd-pc-detail-columns>.sd-pc-detail-card:has(.sd-pc-detail-att-list){container-type:inline-size;container-name:sd-pc-att-card}@container sd-pc-att-card (max-width: 380px){.sd-pc-detail-att-row{grid-template-columns:28px minmax(0,1fr);align-items:start}.sd-pc-detail-att-download{grid-column:2;justify-self:start;margin-top:2px}}}.sd-pc-detail-rev-list{display:grid;gap:16px}.sd-pc-detail-rev-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:10px;background:var(--color-background-secondary);flex-wrap:wrap}.sd-pc-detail-rev-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sd-pc-detail-rev-label{font-size:14px;font-weight:400;line-height:1.4}.sd-pc-detail-rev-label--current{font-weight:600}.sd-pc-detail-rev-badge{font-size:12px;padding:5px 10px;border-radius:8px;font-weight:600}.sd-pc-detail-rev-badge--current{background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary)}.sd-pc-detail-rev-badge--past{background:var(--color-surface-muted);color:var(--color-text-secondary);border:1px solid var(--color-border-muted)}.sd-pc-detail-rev-right{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-text-secondary)}.sd-pc-detail-rev-view-btn{padding:6px 12px;font-size:13px}.sd-pc-detail .sd-procore-modal-muted{font-size:14px;line-height:1.5}.sd-pc-detail .sd-procore-submittal-view-actions{margin-top:4px}.sd-procore-workflow-builder{display:flex;flex-direction:column;gap:14px;margin-top:8px}.sd-procore-workflow-builder-intro{margin:0;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.sd-procore-workflow-template-row{display:flex;flex-direction:column;gap:8px}.sd-procore-workflow-template-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sd-procore-workflow-template-controls .sd-procore-input{flex:1 1 200px;min-width:160px}.sd-procore-workflow-step{border:1px solid var(--color-border-muted);border-radius:10px;padding:12px;background:var(--color-surface-muted);display:flex;flex-direction:column;gap:10px}.sd-procore-workflow-step-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sd-procore-workflow-step-title{font-weight:600;font-size:14px}.sd-procore-workflow-approver{display:grid;grid-template-columns:1fr minmax(100px,120px) 72px 140px auto auto;gap:8px;align-items:center}@media(max-width:900px){.sd-procore-workflow-approver{grid-template-columns:1fr 1fr}}.sd-procore-workflow-required{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.sd-procore-btn--compact{padding:4px 10px;font-size:12px}.sd-procore-action-required-by{position:relative}.sd-procore-action-required-by-row{display:flex;align-items:center;gap:8px}.sd-procore-action-required-by-input{flex:1;min-width:0}.sd-procore-action-required-by-list{position:absolute;z-index:20;left:0;right:0;margin:4px 0 0;padding:4px 0;list-style:none;max-height:220px;overflow-y:auto;border:1px solid var(--border, #d0d5dd);border-radius:8px;background:var(--surface, #fff);box-shadow:0 8px 24px #1018281f}.sd-procore-action-required-by-option{display:block;width:100%;padding:8px 12px;border:none;background:transparent;text-align:left;font-size:13px;color:var(--text, #101828);cursor:pointer}.sd-procore-action-required-by-option:hover,.sd-procore-action-required-by-option.is-selected{background:var(--surface-muted, #f2f4f7)}.sd-procore-action-required-by-empty{padding:8px 12px;font-size:13px;color:var(--text-muted, #667085)}.email-inbox{display:flex;flex-direction:row;height:100%;min-height:0;background:var(--color-page-alt);color:var(--color-text);font-family:inherit}.email-inbox--resizing{-webkit-user-select:none;user-select:none;cursor:col-resize}.email-inbox--empty{align-items:center;justify-content:center;padding:24px;text-align:center;color:var(--color-text-muted);font-size:14px}.email-inbox-sidebar{width:180px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--color-border-muted);background:var(--color-surface);min-height:0}.email-inbox-sidebar-head{display:flex;align-items:center;gap:8px;padding:14px 12px;border-bottom:1px solid var(--color-border-muted)}.email-inbox-sidebar-icon{width:22px;height:22px;border-radius:5px;background:var(--color-primary);flex-shrink:0}.email-inbox-sidebar-title{margin:0;font-size:14px;font-weight:700;letter-spacing:-.01em}.email-inbox-sidebar-section{padding:10px 8px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.email-inbox-folder-btn{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0 0 2px;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--color-text-secondary);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;text-align:left}.email-inbox-folder-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.email-inbox-folder-btn.is-active{background:var(--color-primary-bg);color:var(--color-primary);font-weight:600}.email-inbox-folder-badge{min-width:18px;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:700;text-align:center;background:var(--color-danger-bg, #c62828);color:var(--color-on-primary, #fff);flex-shrink:0}.email-inbox-folder-btn.is-active .email-inbox-folder-badge{background:var(--color-on-primary, #fff);color:var(--color-primary)}.email-inbox-status-filters{display:flex;flex-direction:column;gap:6px;padding:8px 10px 12px;margin-top:auto}.email-inbox-status-chip{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:6px 8px;border:none;border-radius:999px;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer}.email-inbox-status-chip--approved{background:color-mix(in srgb,var(--color-success) 18%,var(--color-surface));color:var(--color-success-text, var(--color-success))}.email-inbox-status-chip--comments{background:var(--color-pending-badge-bg);color:var(--color-pending-badge-text)}.email-inbox-status-chip--rejected{background:var(--color-danger-bg);color:var(--color-error-text)}.email-inbox-status-chip--pending{background:var(--color-surface-muted);color:var(--color-text-secondary)}.email-inbox-status-chip.is-active{outline:2px solid var(--color-primary-outline-border);outline-offset:1px}.email-inbox-list-pane{width:280px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--color-border-muted);background:var(--color-surface);min-height:0}.email-inbox--review-open .email-inbox-list-pane,.email-inbox--review-open .email-inbox-splitter{display:none}.email-inbox-splitter{width:8px;flex-shrink:0;cursor:col-resize;background:transparent;border-left:1px solid transparent;border-right:1px solid transparent}.email-inbox-splitter:hover,.email-inbox--resizing .email-inbox-splitter{background:color-mix(in srgb,var(--color-primary) 12%,transparent);border-left-color:color-mix(in srgb,var(--color-primary) 28%,transparent);border-right-color:color-mix(in srgb,var(--color-primary) 28%,transparent)}.email-inbox-list-head{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-bottom:1px solid var(--color-border-muted)}.email-inbox-list-head-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.email-inbox-list-head-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.email-inbox-list-view-toggle{display:inline-flex;padding:2px;border-radius:8px;background:var(--color-surface-muted);border:1px solid var(--color-border-muted)}.email-inbox-list-view-btn{padding:4px 10px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap}.email-inbox-list-view-btn:hover{color:var(--color-text)}.email-inbox-list-view-btn.is-active{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 2px color-mix(in srgb,#000 12%,transparent)}.email-inbox-list-head h3{margin:0;font-size:14px;font-weight:700;min-width:0}.email-inbox-list-search{display:flex;align-items:center;gap:6px}.email-inbox-list-search-input{flex:1;min-width:0;width:100%}.email-inbox-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface-muted);color:var(--color-text-secondary);cursor:pointer;font-family:inherit}.email-inbox-icon-btn:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.email-inbox-icon-btn:disabled{opacity:.5;cursor:not-allowed}.email-inbox-list-scroll{flex:1;min-height:0;overflow-y:auto}.email-inbox-thread{border-bottom:1px solid var(--color-border-muted)}.email-inbox-list-row{display:flex;align-items:stretch;width:100%;border-bottom:1px solid var(--color-border-muted)}.email-inbox-thread .email-inbox-list-row:last-child{border-bottom:none}.email-inbox-list-row--thread-child .email-inbox-list-item{padding-left:8px}.email-inbox-list-row--thread-child .email-inbox-list-subject-row,.email-inbox-list-row--thread-child .email-inbox-list-preview,.email-inbox-list-row--thread-child .email-inbox-list-item-foot{padding-left:26px}.email-inbox-list-row-gutter{width:28px;flex-shrink:0}.email-inbox-thread-toggle{width:28px;flex-shrink:0;border:none;border-right:1px solid var(--color-border-muted);background:transparent;color:var(--color-text-muted);font-size:12px;cursor:pointer;font-family:inherit}.email-inbox-thread-toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}.email-inbox-thread-count{flex-shrink:0;min-width:20px;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:700;text-align:center;background:var(--color-surface-muted);color:var(--color-text-secondary)}.email-inbox-list-item{display:block;flex:1;min-width:0;padding:12px 14px;border:none;background:transparent;text-align:left;cursor:pointer;font-family:inherit;color:inherit}.email-inbox-list-item:hover{background:var(--color-surface-hover)}.email-inbox-list-row.is-selected .email-inbox-list-item{background:var(--color-primary-bg)}.email-inbox-list-row.is-selected .email-inbox-thread-toggle{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.email-inbox-list-item-top{display:flex;align-items:flex-start;gap:6px;margin-bottom:4px}.email-inbox-unread-dot{width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--color-primary);flex-shrink:0}.email-inbox-unread-dot--hidden{visibility:hidden}.email-inbox-list-sender{flex:1;min-width:0;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-inbox-list-time{flex-shrink:0;font-size:11px;color:var(--color-text-muted)}.email-inbox-list-subject{margin:0 0 4px;padding-left:13px;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-inbox-list-preview{margin:0 0 6px;padding-left:13px;font-size:11px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.email-inbox-list-item-foot{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-left:13px}.email-inbox-list-att{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700;color:var(--color-text-secondary);background:var(--color-surface-muted);border:1px solid var(--color-border-muted)}.email-inbox-list-att-icon{font-size:11px;line-height:1}.email-inbox-list-att-text{min-width:.75em;text-align:center;font-variant-numeric:tabular-nums}.email-inbox-badge{display:inline-flex;padding:2px 8px;border-radius:999px;font-size:10px;font-weight:700}.email-inbox-badge--approved{background:color-mix(in srgb,var(--color-success) 18%,var(--color-surface));color:var(--color-success-text, var(--color-success))}.email-inbox-badge--comments{background:var(--color-pending-badge-bg);color:var(--color-pending-badge-text)}.email-inbox-badge--rejected{background:var(--color-danger-bg);color:var(--color-error-text)}.email-inbox-badge--pending{background:var(--color-surface-muted);color:var(--color-text-secondary)}.email-inbox-list-footer{flex-shrink:0;padding:8px;border-top:1px solid var(--color-border-muted)}.email-inbox-load-more{width:100%;padding:8px;border:1px dashed var(--color-border-strong);border-radius:8px;background:transparent;color:var(--color-link);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer}.email-inbox-preview{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--color-surface);min-height:0}.email-inbox-preview-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:14px}.email-inbox-preview-head{flex-shrink:0;padding:16px 20px;border-bottom:1px solid var(--color-border-muted)}.email-inbox-preview-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.email-inbox-preview-subject{margin:0;flex:1;min-width:0;font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.email-inbox-preview-sender{display:flex;align-items:center;gap:10px}.email-inbox-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-primary-bg);color:var(--color-primary);font-size:12px;font-weight:700;flex-shrink:0}.email-inbox-feedback-link-hint{margin:10px 0 0;padding:8px 10px;border-radius:8px;font-size:12px;font-weight:600;color:var(--color-primary);background:var(--color-primary-bg);border:1px solid var(--color-primary-outline-border)}.email-inbox-preview-meta{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:10px;font-size:12px;color:var(--color-text-muted)}.email-inbox-preview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--color-border-muted)}.email-inbox-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface-muted);color:var(--color-text);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer}.email-inbox-action-btn:hover:not(:disabled){background:var(--color-surface-hover)}.email-inbox-action-btn--primary{border-color:var(--color-primary-outline-border);background:var(--color-primary-bg);color:var(--color-primary)}.email-inbox-action-btn--assign{margin-left:auto;padding:10px 18px;border:none;border-radius:10px;background:var(--color-primary);color:var(--color-on-primary, #fff);font-weight:700;box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary) 35%,transparent)}.email-inbox-action-btn--assign:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 88%,#000);color:var(--color-on-primary, #fff)}.email-inbox-action-btn--assign:disabled{opacity:.65;cursor:not-allowed}.email-inbox-attachment-chips{display:flex;flex-direction:column;gap:8px;padding:12px 20px;border-bottom:1px solid var(--color-border-muted);background:color-mix(in srgb,var(--color-surface-muted) 60%,var(--color-surface))}.email-inbox-attachment-chip{display:flex;align-items:flex-start;gap:10px;width:100%;max-width:none;padding:10px 14px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:13px;font-weight:600;line-height:1.35;text-align:left;cursor:pointer}.email-inbox-attachment-chip:hover:not(:disabled){border-color:var(--color-primary-outline-border);background:var(--color-primary-bg);color:var(--color-primary)}.email-inbox-attachment-chip:disabled{opacity:.6;cursor:wait}.email-inbox-attachment-chip-tag{flex-shrink:0;margin-top:2px;padding:3px 7px;border-radius:4px;font-size:11px;font-weight:800;letter-spacing:.04em;background:var(--color-danger-bg);color:var(--color-error-text)}.email-inbox-attachment-chip-name{flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.email-inbox-preview-body-wrap{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0}.email-inbox-body-iframe{display:block;width:100%;flex:1;min-height:200px;border:none;background:var(--color-surface-muted)}.email-inbox-preview-body{font-size:14px;line-height:1.55;color:var(--color-text);word-break:break-word;padding:16px 20px;overflow:auto;flex:1;min-height:0}.email-inbox-preview-body img{max-width:100%;height:auto}.email-inbox-attachments{flex-shrink:0;padding:12px 20px 16px;border-top:1px solid var(--color-border-muted)}.email-inbox-attachments h4{margin:0 0 8px;font-size:12px;font-weight:700;color:var(--color-text-secondary)}.email-inbox-attachment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:12px;border-bottom:1px solid var(--color-border-muted)}.email-inbox-attachment-name{flex:1;min-width:0;word-break:break-word}.email-inbox-attachment-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.email-inbox-attachment-size{color:var(--color-text-muted);white-space:nowrap}.email-inbox-attachment-open{padding:4px 10px;border-radius:6px;border:1px solid var(--color-border-strong);background:var(--color-surface-muted);color:var(--color-primary);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.email-inbox-attachment-open:hover:not(:disabled){background:var(--color-primary-bg);border-color:var(--color-primary-outline-border)}.email-inbox-attachment-open:disabled{opacity:.55;cursor:not-allowed}.email-inbox-attachment-row:last-child{border-bottom:none}.email-inbox-attachments--draggable .email-inbox-attachment-row--draggable{cursor:grab;border-radius:6px;padding:8px 10px;margin:0 -10px;border-bottom:none}.email-inbox-attachments--draggable .email-inbox-attachment-row--draggable:active{cursor:grabbing}.email-inbox-attachment-row--matched{opacity:.65}.email-inbox-list-state{padding:20px 14px;font-size:13px;color:var(--color-text-muted);text-align:center}.email-inbox-reply-overlay{position:absolute;inset:0;z-index:2;background:var(--color-overlay-backdrop);display:flex;align-items:center;justify-content:center;padding:16px}.email-inbox-reply-panel{width:min(100%,480px);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:12px;padding:16px;box-shadow:0 12px 32px var(--color-shadow-modal)}.email-inbox-reply-panel h4{margin:0 0 8px;font-size:15px}.email-inbox-reply-panel p{margin:0 0 12px;font-size:13px;color:var(--color-text-muted)}.email-inbox-reply-actions{display:flex;justify-content:flex-end;gap:8px}.email-inbox-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:row}.email-inbox-folder-strip{display:none;flex-direction:column;align-items:center;width:40px;flex-shrink:0;gap:4px;padding:10px 0;border-right:1px solid var(--color-border-muted);background:var(--color-surface)}.email-inbox-folder-strip-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer;font-family:inherit}.email-inbox-folder-strip-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.email-inbox-folder-strip-btn.is-active{background:var(--color-primary-bg);color:var(--color-primary)}.email-inbox-folder-strip-btn .email-inbox-folder-badge{position:absolute;top:2px;right:2px;min-width:14px;padding:0 4px;font-size:9px;line-height:14px}.email-inbox-folder-icon-svg{width:20px;height:20px;display:block}.email-inbox-mobile-tabs{display:none;flex-shrink:0;align-items:stretch;justify-content:space-around;gap:2px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border-muted);background:var(--color-surface)}.email-inbox-mobile-tab{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:6px 4px;border:none;border-radius:10px;background:transparent;color:var(--color-text-muted);font-family:inherit;cursor:pointer}.email-inbox-mobile-tab:hover{background:var(--color-surface-hover);color:var(--color-text)}.email-inbox-mobile-tab.is-active{color:var(--color-primary);background:var(--color-primary-bg)}.email-inbox-mobile-tab-label{font-size:10px;font-weight:600;line-height:1.2}.email-inbox-mobile-tab .email-inbox-folder-badge{position:absolute;top:4px;right:calc(50% - 22px);min-width:14px;padding:0 4px;font-size:9px;line-height:14px}.email-inbox-list-subject-row{display:flex;align-items:flex-start;gap:6px;margin:0 0 4px;padding-left:13px}.email-inbox-list-subject-row .email-inbox-list-subject{flex:1;min-width:0;margin:0;padding-left:0}.email-inbox-thread-count--subject{display:none;flex-shrink:0;min-width:20px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:700;text-align:center;line-height:1.25;background:var(--color-primary);color:var(--color-on-primary, #fff)}.email-inbox-preview-back{display:none;flex-shrink:0;align-items:center;width:100%;margin:0;padding:10px 14px;border:none;border-bottom:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-primary);font-size:14px;font-weight:600;font-family:inherit;text-align:left;cursor:pointer}.email-inbox-preview-back:hover{background:var(--color-surface-hover)}@media(min-width:640px)and (max-width:1024px){.email-inbox-sidebar{display:none}.email-inbox-folder-strip{display:flex}.email-inbox-list-pane{width:260px!important;flex:0 0 260px}.email-inbox-splitter,.email-inbox-thread-count--top{display:none}.email-inbox-thread-count--subject{display:inline-flex}}@media(max-width:639px){.email-inbox{flex-direction:column}.email-inbox-sidebar,.email-inbox-folder-strip{display:none}.email-inbox-mobile-tabs{display:flex}.email-inbox-main{flex:1;min-height:0;overflow:hidden;transition:transform .15s ease}.sd-inbox-modal-panel--show-preview .email-inbox-main{transform:translate(-100%)}.email-inbox-list-pane{flex:0 0 100%;width:100%!important;min-width:100%;max-width:100%;border-right:none}.email-inbox-preview{flex:0 0 100%;min-width:100%;max-width:100%}.email-inbox-splitter{display:none}.email-inbox-preview-back{display:flex}.email-inbox-list-head{padding:10px 12px}.email-inbox-list-search,.email-inbox-list-search-input{width:100%}.email-inbox-list-subject{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.email-inbox-thread-count--top{display:none}.email-inbox-thread-count--subject{display:inline-flex}.email-inbox-preview-actions{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.email-inbox-action-btn{flex-shrink:0}.email-inbox-action-btn--assign{margin-left:0}.email-inbox-list-row--thread-child .email-inbox-list-subject-row,.email-inbox-list-row--thread-child .email-inbox-list-preview,.email-inbox-list-row--thread-child .email-inbox-list-item-foot{padding-left:26px}}@media(min-width:1025px){.email-inbox-folder-strip,.email-inbox-mobile-tabs,.email-inbox-thread-count--subject{display:none}}.sd-drawing-notes-overlay{position:fixed;inset:0;z-index:14000;background:var(--color-overlay-backdrop);display:flex;align-items:center;justify-content:center;padding:16px}.sd-drawing-notes-panel{width:min(100%,440px);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:12px;box-shadow:0 16px 40px var(--color-shadow-modal);padding:16px;display:flex;flex-direction:column;gap:12px}.sd-drawing-notes-head h3{margin:0;font-size:16px}.sd-drawing-notes-head p{margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.sd-drawing-notes-input{width:100%;min-height:120px;resize:vertical;border:1px solid var(--color-border-strong);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.45;background:var(--color-input-bg);color:var(--color-text)}.sd-drawing-notes-foot{display:flex;justify-content:flex-end;gap:8px}.sd-drawing-notes-btn{padding:8px 14px;border-radius:8px;border:1px solid var(--color-border-strong);background:var(--color-surface-muted);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;color:var(--color-text)}.sd-drawing-notes-btn--primary{border-color:var(--color-primary-outline-border);background:var(--color-primary-bg);color:var(--color-primary)}.sd-drawing-notes-btn:disabled{opacity:.55;cursor:not-allowed}.sd-inbox-review-panel{width:380px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--color-border-muted);background:var(--color-surface-muted)}.sd-inbox-review-panel--preloaded{position:absolute;top:0;right:0;bottom:0;visibility:hidden;pointer-events:none}.sd-inbox-review-panel-head{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--color-border-muted);background:var(--color-surface)}.sd-inbox-review-panel-title{margin:0;font-size:14px;font-weight:700}.sd-inbox-review-panel-sub{margin:2px 0 0;font-size:12px;color:var(--color-text-muted)}.sd-inbox-review-panel-hint{flex-shrink:0;margin:0;padding:8px 14px;font-size:11px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-muted)}.sd-inbox-review-panel-scroll{flex:1;min-height:0;overflow-y:auto;padding:10px}.sd-inbox-review-panel-empty{margin:0;padding:12px;font-size:13px;color:var(--color-text-muted);text-align:center}.sd-inbox-review-drawing-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.sd-inbox-review-drawing-card{padding:10px 12px;border-radius:10px;border:1px dashed var(--color-border-strong);background:var(--color-surface)}.sd-inbox-review-drawing-card--drop{border-color:var(--color-primary);background:var(--color-primary-bg)}.sd-inbox-review-drawing-card--matched{border-style:solid;border-color:color-mix(in srgb,var(--color-success) 40%,var(--color-border))}.sd-inbox-review-drawing-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sd-inbox-review-drawing-name{margin:0;font-size:13px;font-weight:700;line-height:1.3}.sd-inbox-review-drawing-meta{margin:2px 0 0;font-size:11px;color:var(--color-text-muted)}.sd-inbox-review-notes-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface-muted);color:var(--color-text-secondary);cursor:pointer;flex-shrink:0}.sd-inbox-review-notes-btn--has-note{border-color:var(--color-primary-outline-border);color:var(--color-primary);background:var(--color-primary-bg)}.sd-inbox-review-notes-btn-icon{display:block;width:18px;height:18px;background-color:currentColor;-webkit-mask:url(/icons/class-notes.svg) center / contain no-repeat;mask:url(/icons/class-notes.svg) center / contain no-repeat}.sd-inbox-review-drawing-drop{margin:8px 0 0;font-size:12px;color:var(--color-text-muted)}.sd-inbox-review-drawing-file{margin:8px 0 0;font-size:12px;color:var(--color-success-text, var(--color-success));word-break:break-word}.sd-inbox-review-status-select{width:100%;margin-top:8px}.sd-inbox-review-drawing-note-preview{margin:6px 0 0;font-size:11px;color:var(--color-text-secondary);white-space:pre-wrap}.sd-inbox-review-panel-foot{flex-shrink:0;padding:10px 14px;border-top:1px solid var(--color-border-muted);background:var(--color-surface)}.sd-inbox-review-confirm-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:10px 14px;border:1px solid var(--color-success, #22c55e);border-radius:8px;background:var(--color-success, #22c55e);color:#fff;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer}.sd-inbox-review-confirm-btn:hover:not(:disabled){filter:brightness(.92)}.sd-inbox-review-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.sd-inbox-review-job-pick{display:flex;flex-direction:column;gap:10px;padding:4px 4px 12px}.sd-inbox-review-job-pick-lead{margin:0;font-size:12px;line-height:1.45;color:var(--color-text-secondary)}.sd-inbox-review-job-pick-label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:600;color:var(--color-text-muted)}.sd-inbox-review-job-pick-input{width:100%;box-sizing:border-box}.sd-inbox-review-job-pick-status{margin:0;font-size:12px;color:var(--color-text-muted)}.sd-inbox-review-job-pick-status--error{color:var(--color-error-text)}.sd-inbox-review-job-pick-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:min(50vh,360px);overflow-y:auto}.sd-inbox-review-job-pick-option{display:block;width:100%;padding:10px 12px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:500;font-family:inherit;text-align:left;cursor:pointer}.sd-inbox-review-job-pick-option:hover:not(:disabled){border-color:var(--color-primary-outline-border);background:var(--color-primary-bg)}.sd-inbox-review-job-pick-option:disabled{opacity:.6;cursor:not-allowed}.sd-inbox-modal-overlay{position:fixed;inset:0;z-index:12500;background:var(--color-overlay-backdrop);display:flex;align-items:stretch;justify-content:stretch;padding:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}.sd-inbox-modal-panel--wide,.sd-inbox-modal-panel{width:100%;max-width:none;height:100%;max-height:none;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:14px;box-shadow:0 16px 40px var(--color-shadow-modal);overflow:hidden}.sd-inbox-modal-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--color-border-muted);background:var(--color-surface)}.sd-inbox-modal-mailbox{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.sd-inbox-modal-body{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.sd-inbox-modal-body--review-open{flex-direction:row;overflow:hidden}.sd-inbox-modal-inbox-wrap{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.sd-inbox-modal-body--review-open .sd-inbox-modal-inbox-wrap{flex:1;min-width:0}.sd-inbox-modal-state{margin:auto;padding:24px;max-width:420px;text-align:center;font-size:14px;color:var(--color-text-muted)}@media(min-width:640px)and (max-width:1024px){.sd-inbox-modal-overlay{padding:max(6px,env(safe-area-inset-top)) 0 max(6px,env(safe-area-inset-bottom))}.sd-inbox-modal-panel{border-radius:12px}}@media(max-width:639px){.sd-inbox-modal-overlay{padding:0;align-items:stretch}.sd-inbox-modal-panel{border-radius:0;border-left:none;border-right:none}}.sd-page{display:flex;flex-direction:column;min-height:0;flex:1;background:var(--color-page-alt);color:var(--color-text)}.pwa-container--dashboard-wide>.sd-page{flex:1;min-height:0}.sd-page--mobile-sheet{height:100%;min-height:0}.sd-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px 12px;border-bottom:1px solid var(--color-border-muted);background:var(--color-surface)}.sd-page-header-text{min-width:0;flex:1}.sd-page-header-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px;flex-shrink:0}.sd-page-inbox-btn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--color-primary-outline-border);border-radius:8px;background:var(--color-primary-bg);color:var(--color-primary);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap}.sd-page-inbox-btn--has-unread{padding-right:12px;border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border-strong))}.sd-page-inbox-btn:hover{background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface))}.sd-page-inbox-btn-badge{min-width:20px;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.2;text-align:center;font-variant-numeric:tabular-nums;background:#c62828;color:#fff;box-shadow:0 0 0 2px var(--color-surface)}.sd-page-inbox-btn-label--short{display:none}.sd-page-back{display:inline-flex;align-items:center;gap:6px;margin:0;padding:4px 0;border:none;background:none;color:var(--color-link);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;flex-shrink:0;white-space:nowrap}.sd-page-back--head{align-self:center}.sd-page-back:hover{text-decoration:underline}.sd-page-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}.sd-page-subtitle{margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.sd-page-search-bar{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid var(--color-border-muted);background:var(--color-surface)}.sd-page-search-label{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.sd-page-search-label-text{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);flex-shrink:0}.sd-page-search-input{flex:1;min-width:0;padding:9px 12px;border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-page-alt);color:var(--color-text);font-size:14px;font-family:inherit}.sd-page-search-input:focus{outline:none;border-color:var(--color-primary, #1a1a2e);box-shadow:0 0 0 2px #1a1a2e1f}.sd-page-search-input::placeholder{color:var(--color-text-muted)}.sd-page-search-clear{padding:0;border:none;background:none;color:var(--color-link);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}.sd-page-search-clear:hover{text-decoration:underline}.sd-page-filter-clear{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface);color:var(--color-link);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}.sd-page-filter-clear:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border-muted))}.sd-page-summary{display:flex;flex-wrap:nowrap;gap:8px;padding:10px 16px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;border-bottom:1px solid var(--color-border-muted);background:var(--color-page-alt)}.sd-page-summary::-webkit-scrollbar{display:none}.sd-page-summary-card{flex:0 0 112px;width:112px;min-width:112px;height:64px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;scroll-snap-align:start;background:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:8px;padding:8px 10px}.sd-page-summary-value{font-size:20px;font-weight:700;line-height:1.1}.sd-page-summary-value--ready{color:#ef9f27}.sd-page-summary-value--revise{color:#dc2626}.sd-page-summary-value--waiting{color:#2563eb}.sd-page-summary-value--approved{color:#16a34a}.sd-page-summary-value--overdue{color:#dc2626}.sd-page-summary-label{margin-top:3px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:901px){.sd-page-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;scroll-snap-type:none;gap:10px;padding:14px 20px}.sd-page-summary:has(.sd-page-summary-card:nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}.sd-page-summary-card{flex:unset;width:auto;min-width:0;height:auto;scroll-snap-align:unset;border-radius:10px;padding:12px 14px}.sd-page-summary-value{font-size:26px}.sd-page-summary-label{margin-top:4px;font-size:10px;letter-spacing:.06em;line-height:1.25;white-space:normal;overflow:visible;text-overflow:unset}}.sd-page-tabs{display:flex;gap:4px;padding:10px 20px;border-bottom:1px solid var(--color-border-muted);background:var(--color-surface);overflow-x:auto}.sd-page-tab{padding:8px 14px;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit}.sd-page-tab.is-active{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.sd-page-scroll{flex:1;min-height:0;overflow-y:auto;padding:16px 20px 112px}.sd-page--bulk-open .sd-page-scroll{padding-bottom:calc(148px + env(safe-area-inset-bottom,0px))}.pwa-container--with-bottom-nav .sd-page-scroll{padding-bottom:calc(170px + env(safe-area-inset-bottom,0px))}.pwa-container--with-bottom-nav .sd-page--bulk-open .sd-page-scroll{padding-bottom:calc(226px + env(safe-area-inset-bottom,0px))}.sd-page-bulk-bar{--sd-bulk-accent: #ef9f27;position:fixed;left:0;right:0;bottom:0;z-index:40;border-top:3px solid var(--sd-bulk-accent);background:color-mix(in srgb,var(--color-surface) 88%,#fff 12%);box-shadow:0 -10px 36px #00000024;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:translateY(100%);opacity:0;pointer-events:none;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .22s ease}.sd-page-bulk-bar--open{transform:translateY(0);opacity:1;pointer-events:auto}.sd-page-bulk-bar-inner{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:space-between;gap:10px 12px;padding:14px 20px max(14px,env(safe-area-inset-bottom))}.sd-page-bulk-bar-info{min-width:0;flex:1 1 200px}.sd-page-bulk-bar-title{font-size:14px;font-weight:700;line-height:1.3;color:var(--color-text)}.sd-page-bulk-bar-sub{margin-top:2px;font-size:12px;font-weight:500;line-height:1.35;color:var(--color-text-muted)}.sd-page-bulk-bar-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:1 1 260px;min-width:0}.sd-page-bulk-link{margin-right:4px;padding:8px 6px;border:none;background:none;color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.sd-page-bulk-link:hover:not(:disabled){color:var(--color-text);text-decoration:underline}.sd-page-bulk-link:disabled{opacity:.55;cursor:not-allowed}.sd-page-bulk-btn{padding:8px 14px;border:none;border-radius:8px;background:var(--color-primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}.sd-page-bulk-btn:disabled{opacity:.55;cursor:not-allowed}.sd-page-bulk-btn--secondary{background:color-mix(in srgb,var(--color-surface) 92%,transparent);color:var(--color-text);border:1px solid var(--color-border-muted)}.sd-page-bulk-btn--secondary:hover:not(:disabled){background:color-mix(in srgb,var(--sd-bulk-accent) 10%,var(--color-surface));border-color:color-mix(in srgb,var(--sd-bulk-accent) 40%,var(--color-border-muted))}.sd-page-bulk-btn--primary{background:var(--sd-bulk-accent);color:#1a1206;border:1px solid color-mix(in srgb,var(--sd-bulk-accent) 70%,#000 30%);font-weight:700;box-shadow:0 2px 10px color-mix(in srgb,var(--sd-bulk-accent) 45%,transparent)}.sd-page-bulk-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--sd-bulk-accent) 88%,#fff 12%)}@media(max-width:900px){.sd-page-bulk-bar{z-index:1220}.pwa-container--with-bottom-nav .sd-page-bulk-bar{bottom:calc(env(safe-area-inset-bottom,0px) + 58px)}.sd-page-bulk-bar-inner{flex-direction:column;align-items:stretch;gap:8px;padding:10px 16px max(10px,env(safe-area-inset-bottom,0px))}.sd-page-bulk-bar-info{flex:0 0 auto;width:100%}.sd-page-bulk-bar-actions{flex:0 0 auto;width:100%;justify-content:flex-start}.sd-page-bulk-btn{flex:1 1 auto;min-width:0}.sd-page-bulk-bar-sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}@media(min-width:901px){.sd-page-bulk-bar-inner{flex-wrap:nowrap;align-items:center}.sd-page-bulk-bar-info{flex:1 1 auto}.sd-page-bulk-bar-actions{flex:0 0 auto;width:auto}.sd-page-bulk-bar--open .sd-page-bulk-bar-inner{padding-right:88px}}.sd-page-toast{position:fixed;bottom:calc(96px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:1280;max-width:min(420px,calc(100vw - 32px));padding:10px 16px;border-radius:8px;font-size:13px;font-weight:600;box-shadow:0 8px 24px #0003}.sd-page-toast--success{background:#166534;color:#fff}.sd-page-toast--error{background:#991b1b;color:#fff}.sd-page-toast--info{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-muted)}.sd-page-section{margin-bottom:28px}.sd-page-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:12px 14px;border-radius:10px 10px 0 0;border:1px solid var(--color-border-muted);border-bottom:none}.sd-page-section-head--needs-action{background:linear-gradient(90deg,color-mix(in srgb,#ef9f27 22%,var(--color-surface)) 0%,var(--color-surface) 72%);border-left:4px solid #ef9f27}.sd-page-section-head--waiting{background:linear-gradient(90deg,color-mix(in srgb,#2563eb 18%,var(--color-surface)) 0%,var(--color-surface) 72%);border-left:4px solid #2563eb}.sd-page-section-head--approved{background:linear-gradient(90deg,color-mix(in srgb,#16a34a 18%,var(--color-surface)) 0%,var(--color-surface) 72%);border-left:4px solid #16a34a}.sd-page-section-head--drafter{background:linear-gradient(90deg,color-mix(in srgb,#dc2626 18%,var(--color-surface)) 0%,var(--color-surface) 72%);border-left:3px solid #dc2626}.sd-page-section-title{margin:0;font-size:15px;font-weight:700}.sd-page-section-title--needs-action{color:#b45309}.sd-page-section-title--waiting{color:#1d4ed8}.sd-page-section-title--approved{color:#166534}.sd-page-section-title--drafter{color:#991b1b}.sd-page-section--needs-action .sd-page-table,.sd-page-section--waiting .sd-page-table,.sd-page-section--drafter .sd-page-table,.sd-page-section--approved .sd-page-table{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.sd-page-section-pill{display:inline-flex;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;vertical-align:middle}.sd-page-section-pill--action{background:#faeeda;color:#633806}.sd-page-section-pill--waiting{background:#eff6ff;color:#1d4ed8}.sd-page-section-pill--approved{background:#f0fdf4;color:#166534}.sd-page-section-pill--drafter{background:#fef2f2;color:#991b1b}.sd-page-section-banner{margin:0;padding:10px 14px;font-size:12px;line-height:1.45;border:1px solid var(--color-border-muted);border-top:none}.sd-page-section-banner--drafter{background:color-mix(in srgb,#dc2626 10%,var(--color-surface));color:#991b1b;border-color:color-mix(in srgb,#dc2626 25%,var(--color-border-muted))}.sd-page-subsection-label{display:flex;align-items:center;gap:6px;margin:12px 0 6px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sd-page-subsection-label--overdue{color:#dc2626}.sd-page-subsection-label--ready{color:#ef9f27}.sd-page-table{--sd-table-cols: 36px minmax(0, 2fr) minmax(140px, 1.15fr) minmax(100px, .95fr) minmax(130px, 1.15fr) minmax(300px, 320px);border:1px solid var(--color-border-muted);border-radius:10px;overflow:visible;background:var(--color-surface)}.sd-page-table-head,.sd-page-table-row,.sd-page-job-group-head{display:grid;gap:10px;align-items:center;padding:10px 14px}.sd-page-table-head,.sd-page-table-row{align-items:center}@media(min-width:901px){.sd-page-table-head,.sd-page-table-row,.sd-page-job-group-head{grid-template-columns:var(--sd-table-cols)}.sd-page-table-head>:nth-child(1),.sd-page-table-row>.sd-page-row-check{grid-column:1}.sd-page-table-head>:nth-child(2),.sd-page-table-row>.sd-page-row-job{grid-column:2}.sd-page-table-head>:nth-child(3),.sd-page-table-row>.sd-page-col-rev{grid-column:3}.sd-page-table-head>:nth-child(4),.sd-page-table-row>.sd-page-status-cell{grid-column:4}.sd-page-table-head>:nth-child(5),.sd-page-table-row>.sd-page-col-stage{grid-column:5}.sd-page-table-head>:nth-child(6),.sd-page-table-row>.sd-page-row-actions{grid-column:6}.sd-page-table-row>.sd-page-row-meta--mobile{display:none}.sd-page-job-group-head>.sd-page-job-group-check{grid-column:1}.sd-page-job-group-head>.sd-page-job-group-head-row{grid-column:2 / 6}}.sd-page-table-head{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);background:color-mix(in srgb,var(--color-surface-muted) 70%,transparent);border-bottom:1px solid var(--color-border-muted)}.sd-page-table-row{border-bottom:1px solid var(--color-border-muted);background:transparent;color:inherit;width:100%}.sd-page-table-row:last-child{border-bottom:none}.sd-page-table-row:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface))}.sd-page-table-row.is-selected{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.sd-page-table-row--overdue{border-left:3px solid #dc2626;padding-left:11px;background:color-mix(in srgb,#dc2626 4%,var(--color-surface))}.sd-page-table-row--overdue:hover{background:color-mix(in srgb,#dc2626 7%,var(--color-surface))}.sd-page-table-row--overdue.is-selected{background:color-mix(in srgb,#dc2626 10%,var(--color-surface))}.sd-page-table-row:has(.sd-page-chip-menu.is-open){position:relative;z-index:60}.sd-page-head-check,.sd-page-row-check{display:flex;align-items:center;justify-content:center;align-self:center;height:16px}.sd-page-head-check input,.sd-page-row-check input{width:16px;height:16px;margin:0;cursor:pointer;vertical-align:middle}.sd-page-row-job{display:block;min-width:0;padding:0;border:none;background:none;color:inherit;text-align:left;cursor:pointer;font:inherit}.sd-page-row-job:disabled{cursor:default;opacity:.85}.sd-page-row-job:hover:not(:disabled){color:var(--color-link)}.sd-page-status-cell{min-width:0;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px}.sd-page-col-rev{min-width:0;display:flex;flex-wrap:nowrap;align-items:center;gap:0;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-page-col-rev .sd-page-row-meta-sep{display:inline;margin:0 4px;color:var(--color-text-faint)}.sd-page-col-stage{min-width:0;font-size:12px;line-height:1.3;color:var(--color-text-muted)}.sd-page-stage-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sd-page-date--empty{visibility:hidden}.sd-page-head-actions{display:block}.sd-page-row-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;justify-content:flex-end;box-sizing:border-box}.sd-page-row-actions>*{flex-shrink:0}@media(min-width:901px){.sd-page-row-actions{width:100%;min-width:0;max-width:none;margin-left:auto;overflow:visible}}.sd-submittal-actions{display:inline-flex;align-items:center;flex-shrink:0}.sd-page-row-actions .sd-submittal-actions-narrow{display:none!important}.sd-submittal-actions-wide{display:inline-flex;align-items:center;flex-shrink:0}@media(max-width:900px){.sd-page-row-actions .sd-submittal-actions-wide{display:none!important}.sd-page-row-actions .sd-submittal-actions-narrow{display:inline-flex!important;align-items:center;gap:8px}}.sd-page-row-action{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:25px;padding:0 10px;border:1px solid var(--color-border-muted);border-radius:6px;background:var(--color-surface);color:var(--color-link);font-size:11px;font-weight:600;line-height:1;cursor:pointer;font-family:inherit;white-space:nowrap}.sd-page-row-action:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.sd-page-row-action:disabled{opacity:.45;cursor:not-allowed}.sd-page-table-row-block{border-bottom:1px solid var(--color-border-muted)}.sd-page-table-row-block:last-child{border-bottom:none}.sd-page-table-row-block .sd-page-table-row{border-bottom:none}.sd-page-table-row-block--history-open{background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface))}.sd-page-history-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--color-border-muted);border-radius:6px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;flex-shrink:0}.sd-page-history-btn:hover:not(:disabled),.sd-page-history-btn.is-active{color:var(--color-link);border-color:color-mix(in srgb,var(--color-link) 35%,var(--color-border-muted));background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.sd-page-history-btn:disabled{opacity:.45;cursor:not-allowed}.sd-page-history-btn .pwa-action-icon-svg{width:15px;height:15px}.sd-page-history-panel{padding:8px 14px 12px 50px;border-top:1px dashed var(--color-border-muted);background:color-mix(in srgb,var(--color-surface-muted) 35%,var(--color-surface))}.sd-page-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sd-page-history-item{font-size:12px;line-height:1.4;color:var(--color-text)}.sd-page-history-item-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:2px}.sd-page-history-date{font-weight:700;color:var(--color-text)}.sd-page-history-rev{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-link)}.sd-page-history-method{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.sd-page-history-detail{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--color-text-muted)}.sd-page-history-detail strong{font-weight:600;color:var(--color-text-faint);margin-right:4px}.sd-page-history-empty{font-size:12px;color:var(--color-text-muted);font-style:italic}.sd-page-history-empty--error{color:#dc2626;font-style:normal}.sd-page-job-title{font-size:13px;font-weight:700;line-height:1.3}.sd-page-job-sub{margin-top:2px;font-size:11px;color:var(--color-text-muted)}.sd-page-rev{font-size:12px;font-weight:600;color:var(--color-text-muted)}.sd-page-date{font-size:12px;color:var(--color-text-muted)}.sd-page-date--overdue{color:#dc2626;font-weight:600}.sd-page-row-wo,.sd-page-chip-text--short{display:none}.sd-page-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--color-border-muted);border-radius:6px;background:var(--color-surface);color:var(--color-link);font-family:inherit;cursor:pointer}.sd-page-icon-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.sd-page-icon-btn:disabled{opacity:.45;cursor:not-allowed}.sd-page-row-action.sd-page-icon-btn{font-size:11px;font-weight:600;white-space:nowrap}.sd-page-row-action.sd-page-icon-btn .pwa-action-icon-svg,.sd-page-row-action.sd-page-icon-btn .pwa-attach-open-svg{display:none}.sd-page-icon-btn--history{width:28px;height:28px;padding:0;color:var(--color-text-muted)}.sd-page-icon-btn--history .sd-page-row-action-label{display:none}.sd-page-icon-btn--history:hover:not(:disabled),.sd-page-icon-btn--history.is-active{color:var(--color-link);border-color:color-mix(in srgb,var(--color-link) 35%,var(--color-border-muted));background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.sd-page-icon-btn--history .pwa-action-icon-svg{width:15px;height:15px}.sd-page-icon-btn--procore{color:var(--color-banner-info-title);font-size:10px;font-weight:700;letter-spacing:-.02em}.sd-page-icon-btn--email{color:#2563eb}.sd-page-row-meta{display:none}.sd-page-chip{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:4px 10px;border-radius:6px;border:1px solid;font-size:11px;font-weight:700;line-height:1.25;white-space:nowrap}.sd-page-chip--menu{cursor:pointer;font-family:inherit;gap:4px}.sd-page-chip--menu.is-open{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 35%,transparent)}.sd-page-chip-caret{font-size:9px;opacity:.75}.sd-page-chip-menu{position:relative;max-width:100%}.sd-page-chip-menu.is-open{z-index:70}.sd-page-chip-dropdown{position:absolute;z-index:200;top:calc(100% + 4px);left:0;min-width:168px;padding:4px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface);box-shadow:0 8px 24px #0000002e}.sd-page-chip-dropdown button{display:block;width:100%;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--color-text);font-size:12px;font-weight:600;text-align:left;cursor:pointer;font-family:inherit}.sd-page-chip-dropdown button:hover{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.sd-page-chip-dropdown button.is-active{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface))}.sd-page-job-group .sd-page-table-row:last-of-type .sd-page-chip-dropdown{top:auto;bottom:calc(100% + 4px)}.sd-page-chip--ready{background:#faeeda;color:#633806;border-color:#ef9f27}.sd-page-chip--revise{background:#fef2f2;color:#991b1b;border-color:#fecaca}.sd-page-chip--pm-rejected{background:#fff7ed;color:#9a3412;border-color:#fdba74}.sd-page-chip--static{cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none}.sd-page-chip--overdue{background:#fef2f2;color:#991b1b;border-color:#fecaca}.sd-page-chip--submitted{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.sd-page-chip--approved{background:#f0fdf4;color:#166534;border-color:#bbf7d0}.sd-page-chip--production{background:#ecfeff;color:#0e7490;border-color:#a5f3fc}.sd-page-chip--construction{background:#fef2f2;color:#991b1b;border-color:#fecaca}.sd-page-stage-inline{display:inline;font-size:11px;font-weight:600;color:var(--color-text-muted);line-height:1.2}.sd-page-job-group{position:relative;border-bottom:1px solid var(--color-border-muted);border-left:3px solid transparent}.sd-page-job-group:has(.sd-page-chip-menu.is-open){z-index:50}.sd-page-job-group:last-child{border-bottom:none}.sd-page-section--needs-action .sd-page-job-group{border-left-color:#ef9f27}.sd-page-section--waiting .sd-page-job-group{border-left-color:#2563eb}.sd-page-section--approved .sd-page-job-group{border-left-color:#16a34a}.sd-page-section--drafter .sd-page-job-group{border-left-color:#dc2626}.sd-page-section--drafter .sd-page-job-group-head{background:color-mix(in srgb,#dc2626 12%,var(--color-surface))}.sd-page-section--drafter .sd-page-job-group-head:hover{background:color-mix(in srgb,#dc2626 18%,var(--color-surface))}.sd-page-section--drafter .sd-page-job-group-chevron,.sd-page-section--drafter .sd-page-job-group-num{color:#dc2626}.sd-page-section--drafter .sd-page-job-group-count{border-color:color-mix(in srgb,#dc2626 40%,transparent);background:color-mix(in srgb,#dc2626 10%,transparent);color:#991b1b}.sd-page-job-group-head{width:100%;border:none;border-bottom:1px solid var(--color-border-muted);background:color-mix(in srgb,var(--color-surface-muted) 55%,var(--color-surface));color:inherit;font-family:inherit}.sd-page-section--needs-action .sd-page-job-group-head{background:color-mix(in srgb,#ef9f27 14%,var(--color-surface))}.sd-page-section--needs-action .sd-page-job-group-head:hover{background:color-mix(in srgb,#ef9f27 20%,var(--color-surface))}.sd-page-section--waiting .sd-page-job-group-head{background:color-mix(in srgb,#2563eb 12%,var(--color-surface))}.sd-page-section--waiting .sd-page-job-group-head:hover{background:color-mix(in srgb,#2563eb 18%,var(--color-surface))}.sd-page-section--approved .sd-page-job-group-head{background:color-mix(in srgb,#16a34a 12%,var(--color-surface))}.sd-page-section--approved .sd-page-job-group-head:hover{background:color-mix(in srgb,#16a34a 18%,var(--color-surface))}.sd-page-job-group-head:hover{filter:brightness(1.03)}.sd-page-job-group-check{display:flex;align-items:center;justify-content:center;align-self:center;height:16px}.sd-page-job-group-check input{width:16px;height:16px;margin:0;cursor:pointer;vertical-align:middle}.sd-page-job-group-head-row{display:flex;align-items:center;gap:8px;min-width:0}.sd-page-job-group-caret-btn,.sd-page-job-group-head-main{border:none;background:none;color:inherit;font-family:inherit;text-align:left}.sd-page-job-group-caret-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:28px;min-height:28px;margin:-4px 0;padding:0 4px;border-radius:6px;cursor:pointer}.sd-page-job-group-caret-btn:hover{background:color-mix(in srgb,var(--color-surface-muted) 80%,transparent)}.sd-page-job-group-head-main{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;padding:0;cursor:pointer}.sd-page-job-group-head-main--static{cursor:default}.sd-page-job-group-head-main:hover .sd-page-job-group-name{color:var(--color-link)}.sd-page-job-group-head-main--static:hover .sd-page-job-group-name{color:var(--color-text)}.sd-page-job-group-chevron{flex-shrink:0;width:16px;font-size:15px;font-weight:700;color:var(--color-text-muted);line-height:1;text-align:center}.sd-page-section--needs-action .sd-page-job-group-chevron{color:#ef9f27}.sd-page-section--waiting .sd-page-job-group-chevron{color:#2563eb}.sd-page-section--approved .sd-page-job-group-chevron{color:#16a34a}.sd-page-job-group-title-wrap{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;min-width:0;flex:1}.sd-page-job-group-num{flex-shrink:0;font-size:13px;font-weight:700;color:#ef9f27}.sd-page-section--waiting .sd-page-job-group-num{color:#2563eb}.sd-page-section--approved .sd-page-job-group-num{color:#16a34a}.sd-page-job-group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;color:var(--color-text)}.sd-page-job-group-count{display:inline-flex;flex-shrink:0;padding:2px 8px;border-radius:999px;border:1px solid color-mix(in srgb,#ef9f27 45%,transparent);background:color-mix(in srgb,#ef9f27 10%,transparent);color:#b45309;font-size:11px;font-weight:600}.sd-page-section--waiting .sd-page-job-group-count{border-color:color-mix(in srgb,#2563eb 40%,transparent);background:color-mix(in srgb,#2563eb 10%,transparent);color:#1d4ed8}.sd-page-section--approved .sd-page-job-group-count{border-color:color-mix(in srgb,#16a34a 40%,transparent);background:color-mix(in srgb,#16a34a 10%,transparent);color:#166534}.sd-page-job-group-meta{display:none}.sd-page-more{display:block;width:100%;margin-top:0;padding:10px 14px;border:none;border-top:1px dashed color-mix(in srgb,var(--color-border-muted) 80%,transparent);border-radius:0;background:color-mix(in srgb,var(--color-surface-muted) 35%,transparent);color:var(--color-link);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;text-align:left}.sd-page-more--in-group{padding-left:17px}.sd-page-empty{padding:24px;text-align:center;font-size:13px;color:var(--color-text-muted)}.sd-page-loading,.sd-page-error{padding:32px 20px;text-align:center;font-size:14px}.sd-page-error{color:var(--color-danger)}@media(max-width:900px){.pwa-container--dashboard-wide>.sd-page{flex:none;min-height:0}.sd-page{flex:none;min-height:0}.sd-page-header{flex-direction:column;align-items:stretch;gap:10px}.sd-page-header-actions{width:100%;justify-content:flex-start}.sd-page-inbox-btn{width:100%;justify-content:center;box-sizing:border-box}.sd-page-inbox-btn-label--long{display:none}.sd-page-inbox-btn-label--short{display:inline}.sd-page-scroll{flex:none;overflow:visible;min-height:0}.sd-page-table-head{display:none}.sd-page-job-group-head{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;padding:10px 14px}.sd-page-job-group-head-row{flex:1 1 auto;min-width:0}.sd-page-job-group-head-main{display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:center;min-width:0}.sd-page-job-group-check{flex:0 0 auto}.sd-page-job-group-title-wrap{display:flex;flex:1 1 auto;flex-wrap:nowrap;align-items:center;min-width:0}.sd-page-section--drafter .sd-page-job-group{border-left-width:3px}.sd-page-table-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-template-rows:auto auto auto;gap:3px 8px;align-items:center;padding:6px 8px;margin:0 6px 6px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface);width:auto;max-width:100%;box-sizing:border-box}.sd-page-table-row--overdue{padding-left:6px}.sd-page-table-row:last-child{border-bottom:1px solid var(--color-border-muted)}.sd-page-job-group .sd-page-table-row:last-of-type{margin-bottom:6px}.sd-page-table-row>.sd-page-row-check{grid-row:1;grid-column:1;align-self:center;padding-top:0}.sd-page-table-row>.sd-page-row-job{grid-row:1;grid-column:2;min-width:0;overflow:hidden}.sd-page-table-row>.sd-page-col-rev,.sd-page-table-row>.sd-page-col-stage{display:none}.sd-page-table-row>.sd-page-status-cell{grid-row:1;grid-column:3;align-items:center;justify-self:end;min-width:0}.sd-page-table-row>.sd-page-row-meta--mobile{display:flex;flex-wrap:nowrap;align-items:center;gap:0;grid-row:2;grid-column:1 / -1;min-width:0;padding-left:30px;font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-page-table-row>.sd-page-row-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px;grid-row:3;grid-column:1 / -1;min-width:0;width:auto;max-width:none;margin-left:0}.sd-page-job-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;font-weight:700;line-height:1.2}.sd-page-job-sub{display:none}.sd-page-status-cell .sd-page-chip,.sd-page-status-cell .sd-page-chip--menu{max-width:80px;padding:2px 6px;font-size:10px;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.sd-page-chip-text--long{display:none}.sd-page-chip-text--short{display:inline}.sd-page-chip-caret{display:none}.sd-page-stage-inline{display:inline}.sd-page-row-meta{display:none}.sd-page-row-wo,.sd-page-row-meta--mobile .sd-page-row-meta-sep{display:inline}.sd-page-row-wo{flex-shrink:0;color:var(--color-text-muted)}.sd-page-row-meta-sep{flex-shrink:0;margin:0 5px;color:var(--color-text-faint)}.sd-page-rev,.sd-page-date{flex-shrink:0;font-size:11px}.sd-page-rev{color:var(--color-text-muted);font-weight:600}.sd-page-date{min-width:0;overflow:hidden;text-overflow:ellipsis}.sd-page-row-action.sd-page-icon-btn{width:32px;height:32px;min-width:32px;max-width:32px;min-height:32px;padding:0;font-size:0;line-height:0;overflow:hidden;border:.5px solid var(--color-border-secondary)}.sd-page-icon-btn{width:32px;height:32px;min-width:32px;min-height:32px;padding:0;font-size:0;line-height:0;overflow:hidden;border:.5px solid var(--color-border-secondary)}.sd-page-icon-btn .sd-page-row-action-label{display:none!important;position:absolute;width:0;height:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sd-page-row-action.sd-page-icon-btn .pwa-action-icon-svg,.sd-page-row-action.sd-page-icon-btn .pwa-attach-open-svg,.sd-page-icon-btn--email .pwa-action-icon-svg{display:block!important;width:16px;height:16px}.sd-page-icon-btn--history{width:32px;height:32px}.sd-page-icon-btn--history .pwa-action-icon-svg{width:16px;height:16px}.sd-page-row-action.sd-page-icon-btn.sd-page-icon-btn--procore,.sd-page-icon-btn--procore{font-size:9px;font-weight:700;line-height:1;letter-spacing:-.04em;overflow:visible;color:var(--color-banner-info-title)}.sd-page-icon-btn--procore .sd-page-icon-btn-procore-label{display:block;font-size:9px;font-weight:700;line-height:1}}@media(max-width:560px){.sd-page-header,.sd-page-summary,.sd-page-tabs,.sd-page-scroll{padding-left:12px;padding-right:12px}}.sd-page-row-action--procore{color:var(--color-banner-info-title);font-weight:600}.sd-submittal-split{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.sd-page-row-action--email{color:#2563eb;font-weight:600;min-width:72px;justify-content:center}.sd-submittal-split-main{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.sd-submittal-split-toggle{padding:0 7px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid color-mix(in srgb,var(--color-banner-info-title) 25%,var(--color-border-muted));line-height:0}.sd-submittal-split-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:7.5rem;padding:4px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface);box-shadow:0 8px 24px #0f172a24}.sd-submittal-split-menu-item{display:block;width:100%;padding:8px 12px;border:none;border-radius:6px;background:transparent;text-align:left;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer}.sd-submittal-split-menu-item:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.sd-submittal-split-menu-item--email{color:#2563eb}.sd-email-textarea{resize:vertical;min-height:88px;line-height:1.45;font-family:inherit}.sd-mobile-sheet-backdrop{position:fixed;inset:0;z-index:1240;background:#00000061;overflow:hidden;overscroll-behavior:none;animation:sd-email-backdrop-in .2s ease-out}.sd-mobile-sheet-panel{position:fixed;inset:0;z-index:1241;display:flex;flex-direction:column;min-height:0;background:var(--color-page-alt);box-shadow:-12px 0 40px #0000002e;animation:sd-email-sheet-in .24s cubic-bezier(.22,1,.36,1)}.sd-page--mobile-sheet .sd-page-bulk-bar{z-index:45}@media(max-width:900px){.sd-page--bulk-open .sd-page-scroll{padding-bottom:calc(132px + env(safe-area-inset-bottom,0px))}.pwa-container--with-bottom-nav .sd-page--bulk-open .sd-page-scroll{padding-bottom:calc(168px + env(safe-area-inset-bottom,0px))}.sd-page--mobile-sheet.sd-page--bulk-open .sd-page-scroll{padding-bottom:calc(124px + env(safe-area-inset-bottom,0px))}}.sd-email-sheet-backdrop{position:fixed;inset:0;z-index:1260;background:#00000061;overflow:hidden;overscroll-behavior:none;animation:sd-email-backdrop-in .2s ease-out}@keyframes sd-email-backdrop-in{0%{opacity:0}to{opacity:1}}.sd-email-sheet{position:fixed;top:0;right:0;bottom:0;width:960px;max-width:100vw;z-index:1261;display:flex;flex-direction:column;background:var(--color-surface);border-left:1px solid var(--color-border-muted);box-shadow:-12px 0 40px #0000002e;animation:sd-email-sheet-in .24s cubic-bezier(.22,1,.36,1)}@media(max-width:720px){.sd-email-sheet{width:100%;max-width:100vw;border-left:none}}@keyframes sd-email-sheet-in{0%{transform:translate(100%)}to{transform:translate(0)}}.sd-email-sheet-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-border-muted);background:var(--color-surface);position:sticky;top:0;z-index:2}.sd-email-sheet-title{margin:0;font-size:16px;font-weight:700;line-height:1.3;color:var(--color-text)}.sd-email-sheet-close{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:8px;background:var(--color-surface-muted, #f3f4f6);color:var(--color-text-secondary);font-size:22px;line-height:1;cursor:pointer}.sd-email-sheet-close:hover:not(:disabled){background:var(--color-border-muted);color:var(--color-text)}.sd-email-sheet-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px 20px 20px;display:flex;flex-direction:column;gap:14px}.sd-email-sheet-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--color-border-muted);background:var(--color-surface);position:sticky;bottom:0;z-index:2}.sd-email-sheet-footer-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.sd-procore-btn--send{background:var(--color-amber-accent);color:#1a1a1a}.sd-procore-btn--send:hover:not(:disabled){background:color-mix(in srgb,var(--color-amber-accent) 88%,#000)}.sd-email-preview-toggle{padding:6px 10px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.sd-email-preview-toggle:hover:not(:disabled){color:var(--color-text)}.sd-email-preview-toggle--active{color:var(--color-text);font-weight:600}.sd-email-info-bar{display:flex;flex-wrap:wrap;gap:8px 16px;padding:10px 12px;border-radius:8px;background:var(--color-surface-muted, #f8f9fa);border:1px solid var(--color-border-muted);font-size:13px;color:var(--color-text-secondary)}.sd-email-info-bar strong{color:var(--color-text);font-weight:600}.sd-email-drawings-wrap{margin:0 -20px;padding:0 20px;overflow-x:auto;-webkit-overflow-scrolling:touch}.sd-email-drawings-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:13px;table-layout:auto}.sd-email-drawings-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-surface-muted, #f0f1f3);border-bottom:1px solid var(--color-border-muted);white-space:nowrap}.sd-email-drawings-table td{padding:10px 12px;vertical-align:top;border-bottom:1px solid var(--color-border-muted);color:var(--color-text);line-height:1.35}.sd-email-drawings-table tr:last-child td{border-bottom:none}.sd-email-col-job{white-space:nowrap}.sd-email-col-drawing{min-width:160px;max-width:none}.sd-email-col-rev,.sd-email-col-status{white-space:nowrap}.sd-email-drawing-name{display:block;white-space:normal;word-break:break-word}.sd-email-drawings-table .sd-email-drawing-file{display:block;margin-top:4px;font-size:12px;color:var(--color-text-muted);white-space:normal;word-break:break-word}.sd-email-recipient-field{margin:0}.sd-email-recipient-wrap{position:relative}.sd-email-recipient-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;margin:0;padding:6px;list-style:none;border:1px solid var(--color-border, #d8dee8);border-radius:10px;background:var(--color-surface, #fff);box-shadow:0 10px 28px #0f172a1f;max-height:240px;overflow:auto}.sd-email-recipient-suggestion,.sd-email-recipient-suggestion--muted{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:none;border-radius:8px;background:transparent;text-align:left;cursor:pointer;color:inherit}.sd-email-recipient-suggestion--muted{cursor:default;color:var(--color-text-muted);font-size:13px}.sd-email-recipient-suggestion:hover,.sd-email-recipient-suggestion.is-active{background:#1a1a2e0f}.sd-email-recipient-suggestion-main{display:flex;flex-direction:column;gap:2px;min-width:0}.sd-email-recipient-suggestion-main strong{font-size:14px;font-weight:600}.sd-email-recipient-suggestion-email{font-size:12px;color:var(--color-text-muted);word-break:break-all}.sd-email-recipient-suggestion-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;font-size:11px;color:var(--color-text-muted)}.sd-email-recipient-suggestion-badge{display:inline-block;padding:2px 6px;border-radius:999px;background:#1a1a2e14;color:#1a1a2e;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.sd-email-field-optional{font-weight:400;color:var(--color-text-muted)}.sd-email-response-due-field{margin:0}.sd-email-response-due-label{display:block}.sd-email-response-due-row{display:flex;align-items:center;gap:10px}.sd-email-response-due-row .sd-procore-input{flex:1;min-width:0}.sd-email-response-due-add,.sd-email-response-due-clear{padding:0;border:none;background:none;font-size:13px;color:var(--color-primary);cursor:pointer;text-align:left}.sd-email-response-due-add:hover:not(:disabled),.sd-email-response-due-clear:hover:not(:disabled){text-decoration:underline}.sd-email-response-due-add:disabled,.sd-email-response-due-clear:disabled{opacity:.5;cursor:not-allowed}.sd-email-response-due-clear{flex-shrink:0;white-space:nowrap}.sd-email-recipient-box{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:6px 8px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface);cursor:text}.sd-email-recipient-box:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent)}.sd-email-recipient-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:4px 6px 4px 10px;border-radius:999px;background:var(--color-surface-muted, #eef0f3);border:1px solid var(--color-border-muted);font-size:13px;line-height:1.2;color:var(--color-text);word-break:break-all}.sd-email-recipient-chip-remove{flex-shrink:0;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-muted);font-size:16px;line-height:1;cursor:pointer}.sd-email-recipient-chip-remove:hover:not(:disabled){background:#00000014;color:var(--color-text)}.sd-email-recipient-input{flex:1 1 120px;min-width:100px;border:none;outline:none;background:transparent;font-size:14px;color:var(--color-text);padding:4px 2px}.sd-email-preview-pane{display:flex;flex-direction:column;gap:16px}.sd-email-preview-meta{padding:12px 14px;border-radius:8px;background:var(--color-surface-muted, #f8f9fa);border:1px solid var(--color-border-muted);font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.sd-email-preview-meta p{margin:0 0 6px}.sd-email-preview-meta p:last-child{margin-bottom:0}.sd-email-preview-meta strong{color:var(--color-text)}.sd-email-preview-signature-hint{margin:8px 0 0;font-size:12px;color:var(--color-text-muted);line-height:1.4}.sd-email-preview-html{padding:12px;border:1px solid var(--color-border-muted);border-radius:8px;background:#fff;overflow-x:auto}.sd-email-preview-plain{margin:0;padding:14px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface-muted, #f8f9fa);font-family:inherit;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--color-text)}.sd-procore-modal.sd-procore-modal--edit{width:min(100%,520px);max-height:min(92dvh,900px);overflow:auto}.sd-procore-edit-form{display:flex;flex-direction:column;gap:12px}.sd-procore-modal-backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000073;overflow:hidden;overscroll-behavior:none}.sd-procore-modal{width:min(700px,calc(100vw - 32px));min-width:min(600px,100%);max-height:min(92vh,960px);overflow:auto;padding:24px;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:0 12px 40px #0003}@media(max-width:720px){.sd-procore-modal{min-width:0;width:100%;padding:20px 16px}}.sd-procore-modal-title{margin:0 0 6px;font-size:20px;font-weight:700;line-height:1.3}.sd-procore-modal-sub{margin:0 0 20px;font-size:14px;line-height:1.45;color:var(--color-text-muted)}.sd-procore-modal-muted{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--color-text-muted)}.sd-procore-form{display:flex;flex-direction:column;gap:18px}.sd-procore-mode-tabs{display:flex;flex-wrap:wrap;gap:6px}.sd-procore-mode-tab{flex:1;min-width:0;padding:6px 10px;border-radius:8px;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:12px;font-weight:600;cursor:pointer}.sd-procore-mode-tab--active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary)}.sd-procore-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary);cursor:pointer}.sd-procore-textarea{min-height:88px;resize:vertical}.sd-procore-respond-panel{display:flex;flex-direction:column;gap:10px;margin-top:4px;padding-top:12px;border-top:1px solid var(--color-border, rgba(148, 163, 184, .35))}.sd-procore-pending-attachment{margin-top:8px;padding:12px 14px;border-radius:8px;border:1px solid var(--color-border, rgba(148, 163, 184, .35));background:color-mix(in srgb,var(--color-primary, #2563eb) 6%,var(--color-surface, #fff))}.sd-procore-pending-attachment-label{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted, #64748b)}.sd-procore-pending-attachment-file{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.sd-procore-pending-attachment-name{font-size:14px;font-weight:600;color:var(--color-text, #0f172a);word-break:break-word}.sd-procore-pending-attachment-meta{font-size:13px;color:var(--color-text-muted, #64748b)}.sd-procore-respond-panel .sd-procore-pending-attachment{margin-top:0;margin-bottom:12px}.sd-procore-submittal-view{display:flex;flex-direction:column;gap:16px;padding:0;border-radius:0;border:none;background:transparent}.sd-procore-status-sync{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:10px;border:1px solid var(--color-border, rgba(148, 163, 184, .35));background:color-mix(in srgb,var(--color-surface, #fff) 86%,var(--color-primary, #2563eb) 14%)}.sd-procore-status-sync-head{display:flex;flex-direction:column;gap:2px}.sd-procore-status-sync-title{margin:0;font-size:13px;font-weight:700;color:var(--color-text)}.sd-procore-status-sync-sub{margin:0;font-size:12px;color:var(--color-text-muted, #64748b)}.sd-procore-status-sync-actions{display:flex;flex-wrap:wrap;gap:8px}.sd-procore-modal-backdrop--nested{z-index:12050}.sd-procore-status-sync-pick{max-width:520px}.sd-procore-status-sync-pick .pwa-jobs-shop-draw-modal-note-label{margin-top:12px}.sd-procore-status-sync-pick-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:min(50vh,320px);overflow-y:auto}.sd-procore-status-sync-pick-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border, rgba(148, 163, 184, .35));background:var(--color-surface, #fff);cursor:pointer;color:var(--color-text)}.sd-procore-status-sync-pick-item:hover:not(:disabled){border-color:var(--color-primary, #2563eb)}.sd-procore-status-sync-pick-item--selected{border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 1px var(--color-primary, #2563eb)}.sd-procore-status-sync-pick-item-name{font-size:13px;font-weight:600}.sd-procore-status-sync-pick-item-meta{font-size:12px;color:var(--color-text-muted, #64748b)}.sd-procore-bic-notice{margin:0;padding:18px 20px;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-banner-info-title) 40%,var(--color-border-muted));background:color-mix(in srgb,var(--color-banner-info-title) 12%,var(--color-surface));color:var(--color-text);font-size:14px;line-height:1.6}.sd-procore-detail-grid{display:grid;grid-template-columns:minmax(6rem,auto) 1fr;gap:6px 12px;margin:0;font-size:13px}.sd-procore-detail-grid>div{display:contents}.sd-procore-detail-grid dt{margin:0;font-weight:600;color:var(--color-text-muted)}.sd-procore-detail-grid dd{margin:0;color:var(--color-text-secondary);word-break:break-word}.sd-procore-attachment-list{margin:0;padding-left:1.1rem}.sd-procore-attachment-list li{margin:2px 0}.sd-procore-submittal-view-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sd-procore-btn--link{display:inline-flex;align-items:center;text-decoration:none;box-sizing:border-box}.sd-procore-field-label--required:after{content:" *";color:#dc2626;font-weight:700}.sd-procore-field{display:flex;flex-direction:column;gap:6px}.sd-procore-field-label{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.sd-procore-input{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:14px;line-height:1.4}.sd-procore-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:4px}.sd-procore-btn{padding:8px 14px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:none}.sd-procore-btn:disabled{opacity:.6;cursor:not-allowed}.sd-procore-btn--ghost{background:var(--color-surface-muted);color:var(--color-text-secondary);border:1px solid var(--color-border)}.sd-procore-btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.sd-procore-company-row{display:flex;gap:8px;align-items:stretch}.sd-procore-company-row .sd-procore-input{flex:1;min-width:0}.sd-procore-company-row .sd-procore-btn{flex-shrink:0;white-space:nowrap}.sd-procore-inline-error{margin:0;padding:10px 12px;border-radius:8px;font-size:14px;line-height:1.5;color:#b91c1c;background:#b91c1c14;border:1px solid rgba(185,28,28,.2)}.sd-procore-link-btn{padding:0;border:none;background:none;color:var(--color-primary);font-size:inherit;font-weight:600;cursor:pointer;text-decoration:underline}.reports-page{display:flex;flex-direction:column;gap:12px;min-height:0;flex:1;padding:12px 14px 20px}.reports-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.reports-page-title{font-size:1.15rem;font-weight:700;color:var(--color-text-primary)}.reports-page-sub{font-size:.85rem;color:var(--color-text-muted)}.reports-layout{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr);gap:14px;min-height:0;flex:1}@media(max-width:860px){.reports-layout{grid-template-columns:1fr}}.reports-sidebar{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto}.reports-category{border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-surface);overflow:hidden}.reports-category-title{padding:8px 10px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-surface-muted);border-bottom:1px solid var(--color-border-muted)}.reports-category-list{display:flex;flex-direction:column}.reports-pick-btn{text-align:left;padding:9px 10px;border:none;border-bottom:1px solid var(--color-border-muted);background:transparent;color:var(--color-text-primary);font-size:.88rem;cursor:pointer}.reports-pick-btn:last-child{border-bottom:none}.reports-pick-btn:hover{background:var(--color-surface-muted)}.reports-pick-btn.is-active{background:var(--color-primary-bg);color:var(--color-primary);font-weight:600}.reports-main{display:flex;flex-direction:column;gap:10px;min-height:0;border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-surface);padding:12px}.reports-main-head{display:flex;flex-direction:column;gap:4px}.reports-main-title{font-size:1rem;font-weight:700}.reports-filter-form{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}.reports-filter-field{display:flex;flex-direction:column;gap:4px;min-width:140px}.reports-filter-label{font-size:.75rem;color:var(--color-text-muted)}.reports-filter-input{padding:6px 8px;border-radius:6px;border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text-primary);font-size:.88rem}.reports-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.reports-btn{padding:7px 14px;border-radius:8px;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);color:var(--color-text-primary);font-size:.88rem;font-weight:600;cursor:pointer}.reports-btn:disabled{opacity:.55;cursor:not-allowed}.reports-btn--primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.reports-hint,.reports-error{font-size:.85rem}.reports-error{color:var(--color-danger)}.reports-table-wrap{overflow:auto;min-height:120px;max-height:min(58vh,520px);border:1px solid var(--color-border-muted);border-radius:8px}.reports-table{width:100%;border-collapse:collapse;font-size:.82rem}.reports-table th,.reports-table td{padding:6px 8px;border-bottom:1px solid var(--color-border-muted);text-align:left;vertical-align:top;white-space:nowrap}.reports-table th{position:sticky;top:0;background:var(--color-surface-muted);z-index:1;font-weight:600}.reports-table td{white-space:normal;max-width:280px}.reports-empty{padding:24px;text-align:center;color:var(--color-text-muted);font-size:.9rem}.lc-page{padding:16px 6px 8px;max-width:1100px}.lc-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.lc-header h1{margin:0;font-size:20px;font-weight:600;color:var(--color-text)}.lc-header p{margin:2px 0 0;font-size:13px;color:var(--color-text-secondary)}.lc-layout{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start}.lc-list{border:.5px solid var(--color-border-tertiary, var(--color-border));border-radius:10px;overflow:hidden;background:var(--color-background-primary, var(--color-surface))}.lc-list-row{width:100%;text-align:left;padding:10px 14px;cursor:pointer;border:none;border-bottom:.5px solid var(--color-border-tertiary, var(--color-border));background:transparent;border-left:3px solid transparent}.lc-list-row:last-child{border-bottom:none}.lc-list-row.is-active{background:var(--color-background-secondary, var(--color-surface-muted));border-left-color:var(--color-primary)}.lc-list-name{font-size:13px;font-weight:600;color:var(--color-text)}.lc-list-meta{font-size:11px;color:var(--color-text-tertiary, var(--color-text-muted));margin-top:2px}.lc-panel{border:.5px solid var(--color-border-tertiary, var(--color-border));border-radius:10px;background:var(--color-background-primary, var(--color-surface));overflow:hidden}.lc-panel-head{padding:12px 18px;border-bottom:.5px solid var(--color-border-tertiary, var(--color-border));background:var(--color-background-secondary, var(--color-surface-muted));display:flex;align-items:center;gap:10px}.lc-panel-head span{font-size:14px;font-weight:600;color:var(--color-text);flex:1}.lc-panel-body{padding:20px 18px;display:flex;flex-direction:column;gap:24px}.lc-label{font-size:12px;color:var(--color-text-secondary);display:block;margin-bottom:6px}.lc-help{font-size:11px;color:var(--color-text-tertiary, var(--color-text-muted));margin:6px 0 0}.lc-chip-wrap{display:flex;gap:6px;flex-wrap:wrap}.lc-chip{padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--color-border);transition:all .15s}.lc-grid{border:.5px solid var(--color-border-tertiary, var(--color-border));border-radius:8px;overflow:hidden;display:grid;grid-template-columns:120px 88px 1fr 1fr}.lc-grid-head{font-size:11px;color:var(--color-text-tertiary, var(--color-text-muted));background:var(--color-background-secondary, var(--color-surface-muted));padding:6px 12px;border-bottom:.5px solid var(--color-border-tertiary, var(--color-border))}.lc-grid-row{display:contents}.lc-grid-row>span,.lc-grid-row>div{padding:8px 12px;border-bottom:.5px solid var(--color-border-tertiary, var(--color-border));display:flex;align-items:center}.lc-grid-row--weekend>span,.lc-grid-row--weekend>div{background:var(--color-background-secondary, var(--color-surface-muted))}.lc-inline-input{gap:6px}.lc-inline-input input{width:64px;text-align:center}.lc-inline-input--time input{width:72px;text-align:left}.lc-inline-input small{font-size:12px;color:var(--color-text-tertiary, var(--color-text-muted))}.lc-summary{display:flex;gap:16px;margin-top:8px;padding:0 12px;font-size:12px;color:var(--color-text-secondary)}.lc-summary strong{color:var(--color-text)}.lc-overrides-head{display:flex;align-items:center;margin-bottom:10px}.lc-overrides-head span{font-size:12px;color:var(--color-text-secondary);flex:1}.lc-add-override{border:.5px solid var(--color-border-secondary, var(--color-border));border-radius:8px;padding:12px 14px;margin-bottom:10px;background:var(--color-background-secondary, var(--color-surface-muted));display:flex;flex-direction:column;gap:10px}.lc-add-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.lc-add-override label{font-size:11px;color:var(--color-text-tertiary, var(--color-text-muted));display:block;margin-bottom:4px}.lc-add-actions{display:flex;gap:8px;justify-content:flex-end}.lc-overrides-list{border:.5px solid var(--color-border-tertiary, var(--color-border));border-radius:8px;overflow:hidden}.lc-override-row{display:grid;grid-template-columns:110px 90px 95px 1fr auto;align-items:center;gap:8px;padding:8px 12px;font-size:12px}.lc-override-row--sep{border-bottom:.5px solid var(--color-border-tertiary, var(--color-border))}.lc-override-date{font-weight:600;color:var(--color-text)}.lc-override-reason{color:var(--color-text-tertiary, var(--color-text-muted));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-trash-btn{background:transparent;border:none;cursor:pointer;color:var(--color-text-tertiary, var(--color-text-muted));padding:2px}.lc-btn-primary{padding:8px 12px;border-radius:8px;border:none;background:var(--color-primary);color:var(--color-on-primary);font-size:12px;font-weight:600;cursor:pointer}.lc-btn-primary:disabled{background:var(--color-submit-disabled);cursor:not-allowed}.lc-btn-ghost{padding:6px 10px;border-radius:8px;border:1px solid var(--color-border);background:transparent;color:var(--color-text-secondary);font-size:12px;cursor:pointer}.lc-empty{font-size:12px;color:var(--color-text-tertiary, var(--color-text-muted));padding:8px 0}@media(max-width:900px){.lc-layout{grid-template-columns:1fr}}@media(max-width:700px){.lc-add-grid{grid-template-columns:1fr}.lc-override-row{grid-template-columns:1fr;align-items:flex-start}}.email-sig-block{display:flex;flex-direction:column;gap:10px}.email-sig-block--embedded{margin-top:4px;padding-top:14px;border-top:1px solid var(--color-border-muted)}.email-sig-lead{margin:0;font-size:13px;color:var(--color-text-muted);line-height:1.45}.email-sig-sync-hint{margin:0;font-size:12px;color:var(--color-text-muted);font-style:italic}.email-sig-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:900px){.email-sig-grid{grid-template-columns:1fr}}.email-sig-editor-pane,.email-sig-preview-pane{display:flex;flex-direction:column;gap:8px;min-width:0}.email-sig-pane-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.email-sig-pane-title{font-size:13px;font-weight:600;color:var(--color-text-secondary)}.email-sig-format-pill{font-size:11px;font-weight:600;color:var(--color-text-muted);padding:2px 8px;border-radius:999px;background:var(--color-surface-muted)}.email-sig-editor{min-height:200px;max-height:320px;overflow:auto;padding:10px 12px;border:1px solid var(--color-input-border);border-radius:8px;background:#f3f3f3;color:inherit;font:unset;line-height:normal}.email-sig-editor:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 35%,transparent);outline-offset:1px}.email-sig-preview-frame{width:100%;min-height:200px;height:280px;border:1px solid var(--color-border-muted);border-radius:8px;background:#2b2b2b}.email-sig-toggle-source{align-self:flex-start;padding:0;border:none;background:none;font-size:12px;font-weight:600;color:var(--color-primary);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.email-sig-source{width:100%;min-height:120px;padding:8px 10px;font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.4;border:1px solid var(--color-input-border);border-radius:8px;background:var(--color-input-bg);color:var(--color-text);resize:vertical;box-sizing:border-box}.email-sig-actions{display:flex;flex-wrap:wrap;gap:8px}.email-sig-btn{padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);color:var(--color-text)}.email-sig-btn:disabled{opacity:.55;cursor:not-allowed}.email-sig-btn--primary{background:var(--color-primary);color:var(--color-on-primary);border:none}.rn-overlay{position:fixed;inset:0;z-index:1500;background:var(--color-overlay-backdrop);display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.rn-panel{width:min(100%,560px);max-height:min(90dvh,720px);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:14px;box-shadow:0 16px 40px var(--color-shadow-modal);display:flex;flex-direction:column;min-height:0;overflow:hidden}.rn-head{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 14px 10px;border-bottom:1px solid var(--color-border-muted)}.rn-head-text{min-width:0}.rn-title{margin:0;font-size:18px;font-weight:800;color:var(--color-text);line-height:1.25}.rn-subtitle{margin:4px 0 0;font-size:13px;color:var(--color-text-muted)}.rn-close{flex-shrink:0;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;padding:4px;border-radius:8px}.rn-close:hover{background:var(--color-surface-muted);color:var(--color-text)}.rn-body{flex:1;min-height:0;overflow-y:auto;padding:12px 14px 16px;-webkit-overflow-scrolling:touch}.rn-section+.rn-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--color-border-muted)}.rn-section-title{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--color-text)}.rn-section-body{margin:0 0 8px;font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.rn-bullets{margin:0;padding-left:1.15rem;font-size:13px;line-height:1.45;color:var(--color-text-secondary)}.rn-bullets li+li{margin-top:6px}.rn-shot{margin-top:10px}.rn-shot img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--color-border-muted);background:var(--color-surface-muted)}.rn-shot-caption{margin:6px 0 0;font-size:11px;color:var(--color-text-muted);line-height:1.35}.rn-foot{flex-shrink:0;padding:10px 14px 14px;border-top:1px solid var(--color-border-muted);display:flex;justify-content:flex-end}.rn-dismiss{border:none;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:700;cursor:pointer;background:var(--color-primary);color:var(--color-on-primary)}.rn-dismiss:hover{filter:brightness(1.05)}.share-import-overlay{position:fixed;inset:0;z-index:12000;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:#00000073}@media(min-width:640px){.share-import-overlay{align-items:center}}.share-import-modal{width:100%;max-width:420px;max-height:min(90vh,640px);overflow:auto;border-radius:16px 16px 0 0;background:var(--color-surface, #fff);color:var(--color-text, #111);box-shadow:0 12px 40px #0003;padding:16px 16px 20px}@media(min-width:640px){.share-import-modal{border-radius:16px}}.share-import-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.share-import-header h2{margin:0;font-size:18px;font-weight:700}.share-import-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:inherit;cursor:pointer}.share-import-file-list{margin:0 0 12px;padding:0 0 0 18px;font-size:13px;line-height:1.45;word-break:break-word}.share-import-text-block{margin-bottom:12px;padding:10px 12px;border-radius:8px;background:var(--color-surface-muted, #f4f4f5);font-size:13px}.share-import-text-line{margin:0;word-break:break-word}.share-import-text-line+.share-import-text-line{margin-top:6px}.share-import-hint{margin:0 0 12px;font-size:13px;color:var(--color-text-muted, #666)}.share-import-destinations{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.share-import-dest{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:start;padding:10px 12px;border:1px solid var(--color-border, #ddd);border-radius:10px;cursor:pointer}.share-import-dest input{margin-top:3px}.share-import-dest--active{border-color:var(--color-primary, #2563eb);background:color-mix(in srgb,var(--color-primary, #2563eb) 8%,transparent)}.share-import-dest-title{font-size:14px;font-weight:700}.share-import-dest-sub{grid-column:2;font-size:12px;color:var(--color-text-muted, #666)}.share-import-job-field{position:relative;margin-bottom:12px}.share-import-job-label{display:block;margin-bottom:6px;font-size:12px;font-weight:700}.share-import-job-trigger{width:100%;text-align:left;padding:10px 12px;border:1px solid var(--color-border, #ddd);border-radius:8px;background:var(--color-surface, #fff);font-size:14px;cursor:pointer}.share-import-job-dropdown{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:2;border:1px solid var(--color-border, #ddd);border-radius:10px;background:var(--color-surface, #fff);box-shadow:0 8px 24px #0000001f;overflow:hidden}.share-import-job-search{width:100%;box-sizing:border-box;padding:10px 12px;border:none;border-bottom:1px solid var(--color-border, #ddd);font-size:14px}.share-import-job-options{max-height:min(50vh,360px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}@media(max-width:640px){.share-import-job-options{max-height:min(58vh,420px)}}.share-import-job-option{display:block;width:100%;text-align:left;padding:12px 14px;border:none;background:transparent;font-size:14px;line-height:1.35;cursor:pointer}.share-import-job-option:hover,.share-import-job-option--selected{background:var(--color-surface-muted, #f4f4f5)}.share-import-job-muted{padding:12px;font-size:13px;color:var(--color-text-muted, #666)}.share-import-actions{display:flex;gap:8px;justify-content:flex-end}.share-import-btn{padding:10px 16px;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer}.share-import-btn--ghost{border:1px solid var(--color-border, #ddd);background:transparent;color:inherit}.share-import-btn--primary{border:none;background:var(--color-primary, #2563eb);color:#fff}.share-import-btn--primary:disabled{opacity:.5;cursor:not-allowed}#root{width:100%;min-height:100vh;min-height:100dvh;margin:0;padding:0}*{-webkit-overflow-scrolling:touch}button{user-select:none;-webkit-user-select:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid var(--color-border-muted);border-radius:50%;border-top-color:var(--color-primary);animation:spin 1s ease-in-out infinite}.pwa-close-btn{flex-shrink:0;height:30px;padding:0 12px;margin:0;border-radius:8px;border:none;background-color:var(--color-muted-fill);color:var(--color-muted-fill-text);cursor:pointer;font-size:13px;font-weight:700;font-family:inherit}.pwa-close-btn:hover{filter:brightness(.97)}.pwa-close-btn:active{filter:brightness(.94)}.pwa-list-toolbar-search-input{display:block;width:100%;height:40px;padding:0 12px;font-size:14px;font-weight:400;line-height:1.2;border:1px solid var(--color-border-muted);border-radius:10px;color:var(--color-text);background-color:var(--color-input-bg);box-sizing:border-box;font-family:inherit}.pwa-list-toolbar-search-input::placeholder{color:var(--color-text-muted)}.pwa-list-toolbar-search-input:focus{outline:none;border-color:var(--color-primary)}.pwa-list-toolbar-filter-btn{min-width:100px;height:40px;padding:0 14px;background-color:var(--color-surface-muted);color:var(--color-text-secondary);border:1px solid var(--color-border-muted);border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;flex:0 0 auto}.pwa-list-toolbar-filter-btn--open{background-color:var(--color-primary-tint-bg)}.pwa-list-toolbar-filter-btn__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}@media(max-width:640px){.pwa-list-toolbar-filter-btn{min-width:0;width:40px;height:40px;padding:0;background:var(--color-surface);color:var(--color-text)}.pwa-list-toolbar-filter-btn--open{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border-muted));color:var(--color-primary);background:var(--color-surface)}.pwa-list-toolbar-filter-btn__label,.pwa-list-toolbar-filter-btn__chevron{display:none}.pwa-list-toolbar-filter-btn__icon{display:inline-flex}}input.pwa-list-toolbar-search-input.pwa-list-toolbar-search-input--dropdown-top{border-radius:10px 10px 0 0}.pwa-quick-create-field{display:block;width:100%;box-sizing:border-box;padding:10px 12px;font-size:14px;font-weight:400;line-height:1.35;border:1px solid var(--color-border-muted);border-radius:10px;color:var(--color-text);background-color:var(--color-input-bg);font-family:inherit}.pwa-quick-create-field:focus{outline:none;border-color:var(--color-primary)}.pwa-quick-create-field::placeholder{color:var(--color-text-muted);opacity:1}textarea.pwa-quick-create-field{resize:vertical;min-height:72px}select.pwa-quick-create-field{min-height:40px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:36px;background-color:var(--color-input-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}[data-theme=dark] select.pwa-quick-create-field{color-scheme:dark}[data-theme=light] select.pwa-quick-create-field{color-scheme:light}select.pwa-quick-create-field option{background-color:var(--color-surface);color:var(--color-text)}.pwa-task-filter-select{display:block;width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--color-border-muted);border-radius:10px;padding:8px 32px 8px 10px;font-size:13px;font-weight:600;line-height:1.35;color:var(--color-text);background-color:var(--color-surface);font-family:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;min-height:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}[data-theme=dark] .pwa-task-filter-select{color-scheme:dark}[data-theme=light] .pwa-task-filter-select{color-scheme:light}.pwa-task-filter-select option{background-color:var(--color-surface);color:var(--color-text)}.pwa-task-filter-select:focus{outline:none;border-color:var(--color-primary)}.pwa-quick-create-field:disabled{opacity:.65;cursor:not-allowed}input.pwa-quick-create-field.pwa-quick-create-field--in-dropdown{border-radius:10px 10px 0 0}.pwa-quick-create-field-display{width:100%;padding:10px 12px;font-size:14px;line-height:1.35;border:1px solid var(--color-border-muted);border-radius:10px;box-sizing:border-box;background-color:var(--color-input-bg);color:var(--color-text)}.pwa-quick-create-field-display--placeholder{color:var(--color-text-muted)}.pwa-jobs-list-toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;min-width:0}.pwa-jobs-list-toolbar-row{display:flex;flex-direction:column;gap:10px;min-width:0}.pwa-jobs-list-toolbar-search-wrap{display:flex;align-items:stretch;gap:8px;flex:1;min-width:0}.pwa-jobs-list-search{flex:1;min-width:0;width:100%;padding:10px 12px;border:1px solid var(--color-border-muted);border-radius:10px;background-color:var(--color-surface);color:var(--color-text);font-size:14px}.pwa-jobs-list-search::placeholder{color:var(--color-text-muted)}.pwa-jobs-list-toolbar-chips{display:none;flex:0 0 auto;flex-wrap:wrap;align-items:center;gap:8px}.pwa-jobs-list-toolbar-chips.is-visible{display:flex}@media(min-width:640px){.pwa-jobs-list-toolbar-row{flex-direction:row;align-items:center;gap:10px}.pwa-jobs-list-toolbar-chips.is-visible{display:flex}}button.pwa-jobs-list-chip{padding:6px 12px;border-radius:999px;border:1px solid var(--color-border-muted);background:transparent;color:var(--color-text-secondary);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}button.pwa-jobs-list-chip.is-active{border-color:color-mix(in srgb,var(--color-primary) 70%,var(--color-border-muted));background:color-mix(in srgb,var(--color-primary) 18%,transparent);color:var(--color-primary)}.pwa-jobs-search-strip{width:100%;max-width:none;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--color-border-muted);min-width:0}.pwa-jobs-table-wrap{width:100%;max-width:none;margin-top:8px;border:1px solid var(--color-border-strong);border-radius:10px;height:calc(100dvh - 130px);max-height:calc(100dvh - 130px);overflow:auto;background-color:var(--color-surface);position:relative;z-index:0}.pwa-jobs-table{width:100%;border-collapse:collapse;font-size:13px}.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout){table-layout:fixed;min-width:880px}.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout) .pwa-jobs-table-col--status{width:172px;min-width:172px}.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout) .pwa-jobs-table-col--drawings{width:212px;min-width:212px}.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout) .pwa-jobs-table-col--latest{width:280px;min-width:280px}.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout) td.pwa-jobs-table-col--status,.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout) td.pwa-jobs-table-col--drawings{overflow:hidden;vertical-align:middle}.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout) td.pwa-jobs-table-col--drawings .ops-shop-drawing-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis}.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout) td.pwa-jobs-table-col--latest{overflow:hidden;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.35;vertical-align:middle}.pwa-jobs-drawings-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;align-items:center;max-width:100%}.pwa-jobs-drawings-dash{color:var(--color-text-muted);font-size:13px;font-weight:500}.pwa-jobs-table th,.pwa-jobs-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--color-border-muted);white-space:nowrap}.pwa-jobs-table thead th{position:sticky;top:0;z-index:3;background-color:var(--color-surface);color:var(--color-text-muted);font-weight:600;box-shadow:inset 0 -1px 0 var(--color-border-muted);overflow:visible}.pwa-jobs-table-col--name .pwa-jobs-table-sort-btn{width:100%}.pwa-jobs-table-header-inner{display:flex;align-items:center;gap:4px;min-width:0}.pwa-jobs-table-header-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.pwa-jobs-table-sort-btn{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;padding:0;cursor:pointer}.pwa-jobs-col-filter-dropdown{position:relative;flex:0 0 auto}.pwa-jobs-col-filter-dropdown--open{z-index:40}.pwa-jobs-col-filter-btn{display:inline-flex;align-items:center;justify-content:center;gap:2px;min-width:26px;height:26px;padding:0 4px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--color-text-secondary);cursor:pointer}.pwa-jobs-col-filter-btn:hover{background-color:var(--color-surface-muted);border-color:var(--color-border-muted)}.pwa-jobs-col-filter-btn--active{color:var(--color-focus);border-color:color-mix(in srgb,var(--color-focus) 55%,var(--color-border-muted));background-color:color-mix(in srgb,var(--color-focus) 12%,transparent)}.pwa-jobs-col-filter-icon{font-size:14px;line-height:1;letter-spacing:-.08em}.pwa-jobs-col-filter-badge{min-width:14px;height:14px;padding:0 3px;border-radius:999px;font-size:10px;font-weight:700;line-height:14px;text-align:center;background-color:var(--color-focus);color:var(--color-surface)}.pwa-jobs-col-filter-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;max-width:min(320px,80vw);max-height:280px;display:flex;flex-direction:column;border:1px solid var(--color-border-muted);border-radius:8px;background-color:var(--color-surface);box-shadow:0 4px 12px var(--color-shadow-modal);z-index:50;overflow:hidden}.pwa-jobs-col-filter-menu-actions{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-border-muted);background-color:var(--color-surface-muted)}.pwa-jobs-col-filter-action{padding:4px 10px;font-size:12px;font-weight:600;border-radius:8px;border:1px solid var(--color-border-muted);background-color:var(--color-surface);color:var(--color-text);cursor:pointer}.pwa-jobs-col-filter-options{max-height:200px;overflow-y:auto}.pwa-jobs-col-filter-option{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--color-border)}.pwa-jobs-col-filter-option--checked{background-color:var(--color-surface-muted)}.pwa-jobs-col-filter-empty{padding:12px;color:var(--color-text-muted);font-size:13px}.pwa-jobs-active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:8px;padding:6px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--color-focus) 35%,var(--color-border-muted));background-color:color-mix(in srgb,var(--color-focus) 8%,var(--color-surface))}.pwa-jobs-active-filters-label{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.pwa-jobs-active-filters-clear{padding:4px 10px;font-size:12px;font-weight:600;border-radius:8px;border:1px solid var(--color-border-muted);background-color:var(--color-surface);color:var(--color-text);cursor:pointer}.pwa-jobs-table-sort-indicator{font-size:11px;line-height:1;color:var(--color-text-secondary)}.pwa-jobs-table-row{cursor:pointer}.pwa-jobs-table-row:hover{background-color:color-mix(in srgb,var(--color-assign-panel-bg) 45%,transparent)}.pwa-jobs-table-row:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.pwa-jobs-table-row--selected{background-color:var(--color-assign-panel-bg)}.pwa-jobs-list-shell{width:100%;max-width:100%;min-width:0}.pwa-jobs-table--responsive .pwa-jobs-table-col--drawings,.pwa-jobs-table--responsive .pwa-jobs-table-col--latest,.pwa-jobs-table--responsive .pwa-jobs-table-col--status,.pwa-jobs-table--mobile-layout .pwa-jobs-table-head--mobile-hidden{display:none}.pwa-jobs-table--mobile-layout .pwa-jobs-table-col--mobile{display:table-cell;padding:0;border-bottom:1px solid var(--color-border-muted)}@media(min-width:640px)and (max-width:900px){.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout){min-width:720px}.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout) .pwa-jobs-table-col--drawings{width:240px;min-width:240px}}@media(min-width:640px){.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout) .pwa-jobs-table-col--status,.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout) .pwa-jobs-table-col--drawings{display:table-cell}}@media(min-width:901px){.pwa-jobs-table--responsive:not(.pwa-jobs-table--mobile-layout) .pwa-jobs-table-col--latest{display:table-cell}}.pwa-jobs-table thead th{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pwa-jobs-name-block--indent{padding-left:14px}.pwa-jobs-name-block-title{font-size:14px;font-weight:700;color:var(--color-text);line-height:1.25}.pwa-jobs-name-block-meta{margin-top:3px;font-size:11px;font-weight:500;color:var(--color-text-muted);line-height:1.3}.pwa-jobs-stage-chip{display:inline-flex;align-items:center;max-width:100%;padding:3px 8px;border-radius:999px;border:1px solid;font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-jobs-stage-chip--muted{border-color:var(--color-border-muted);color:var(--color-text-muted);background:transparent}.pwa-jobs-stage-chip--blue{border-color:#60a5fa;color:#93c5fd;background:color-mix(in srgb,#1d4ed8 12%,transparent)}.pwa-jobs-stage-chip--purple{border-color:#c084fc;color:#d8b4fe;background:color-mix(in srgb,#7c3aed 12%,transparent)}.pwa-jobs-stage-chip--amber{border-color:#fbbf24;color:#fcd34d;background:color-mix(in srgb,#d97706 12%,transparent)}.pwa-jobs-stage-chip--green{border-color:#4ade80;color:#86efac;background:color-mix(in srgb,#166534 12%,transparent)}.pwa-jobs-stage-chip--slate{border-color:var(--color-border-strong);color:var(--color-text-secondary);background:var(--color-surface-muted)}.pwa-jobs-table-row--group>td{padding:0;border-top:1px solid var(--color-border-secondary);border-bottom:1px solid var(--color-border-muted);border-left:3px solid var(--color-border-secondary);background-color:var(--color-background-secondary)}.pwa-jobs-table-row--group:hover>td{background-color:var(--color-background-secondary)}.pwa-jobs-table-row--child>td{border-left:none}.pwa-jobs-table-placeholder{display:flex;align-items:center;justify-content:center;min-height:calc(100dvh - 220px);padding:24px 16px;color:var(--color-text-muted);font-size:13px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.pwa-jobs-table-row--skeleton td{pointer-events:none}.pwa-jobs-skeleton-block{display:block;border-radius:6px;background:linear-gradient(90deg,var(--color-background-secondary, var(--color-surface-muted, #e8eaed)) 0%,var(--color-background-primary, var(--color-surface, #f5f6f8)) 50%,var(--color-background-secondary, var(--color-surface-muted, #e8eaed)) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.pwa-jobs-skeleton-block--name{width:min(72%,280px);height:14px}.pwa-jobs-skeleton-block--chip{width:72px;height:22px;border-radius:999px}.pwa-jobs-skeleton-block--task{width:min(85%,200px);height:12px}.pwa-jobs-skeleton-mobile{display:flex;align-items:center;gap:10px;padding:4px 0}.pwa-jobs-skeleton-mobile .pwa-jobs-skeleton-block--name{flex:1 1 auto;min-width:0}.pwa-jobs-group-header{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:0;background:transparent;color:var(--color-text);text-align:left;font-family:inherit;font-size:17px;font-weight:700;line-height:1.25}.pwa-jobs-group-header-caret,.pwa-jobs-group-header-main{border:0;background:transparent;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:left}.pwa-jobs-group-header-caret{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;margin:-4px 0;padding:0 4px;border-radius:6px;font-size:12px;font-weight:400;color:var(--color-text-muted);cursor:pointer}.pwa-jobs-group-header-caret:hover{background:var(--color-surface);color:var(--color-text)}.pwa-jobs-group-header-main{display:flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;padding:0;cursor:pointer}.pwa-jobs-group-header-main:hover .pwa-jobs-group-header-label{text-decoration:underline}.pwa-jobs-group-header-main--static{cursor:default}.pwa-jobs-group-header-label{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:inherit}.pwa-jobs-group-header-number{font-size:13px;font-weight:700;color:var(--color-text)}.pwa-jobs-group-header-title{font-size:13px;font-weight:600;color:var(--color-text)}.pwa-jobs-group-header-label-sep{font-size:13px;font-weight:600;color:var(--color-text-muted)}.pwa-jobs-group-header-count{flex:0 0 auto;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border-muted);white-space:nowrap}.pwa-jobs-group-header-chip{flex:0 0 auto;margin-left:auto}.pwa-jobs-group-header-chip-empty{font-size:12px;color:var(--color-text-muted)}.pwa-jobs-table-row--child .pwa-jobs-name-block-title{font-size:13px}.pwa-jobs-mobile-row{padding:10px 12px}.pwa-jobs-mobile-row-main{display:flex;align-items:center;gap:10px;min-width:0}.pwa-jobs-mobile-row-main .pwa-jobs-name-block{flex:1 1 auto;min-width:0}.pwa-jobs-mobile-row-chip{flex:0 0 auto}.pwa-jobs-mobile-row-caret{flex:0 0 auto;font-size:18px;line-height:1;color:var(--color-text-muted)}.pwa-jobs-show-closed-footer{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border:0;background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer}.pwa-jobs-show-closed-footer:hover{color:var(--color-text);background:color-mix(in srgb,var(--color-surface-muted) 60%,transparent)}.pwa-jobs-table-expand-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pwa-jobs-table-row--expanded{background-color:color-mix(in srgb,var(--color-assign-panel-bg) 55%,transparent)}.pwa-jobs-table-row--detail>td{padding:0 10px 10px;border-bottom:1px solid var(--color-border-muted);white-space:normal;vertical-align:top}.pwa-jobs-table-expand{padding:8px 10px 10px;border-radius:8px;background-color:var(--color-surface-muted);border:1px solid var(--color-border-muted)}.pwa-jobs-table-expand-grid{display:grid;grid-template-columns:minmax(88px,34%) minmax(0,1fr);gap:8px 12px;margin:0}.pwa-jobs-table-expand-item{display:contents}.pwa-jobs-table-expand-item dt{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.pwa-jobs-table-expand-item dd{margin:0;font-size:13px;color:var(--color-text);word-break:break-word}.pwa-jobs-table-expand-open{margin-top:10px;padding:6px 12px;font-size:12px;font-weight:600;border-radius:8px;border:1px solid var(--color-border-muted);background-color:var(--color-surface);color:var(--color-text);cursor:pointer}.pwa-jobs-table-expand-open:hover{background-color:color-mix(in srgb,var(--color-assign-panel-bg) 45%,var(--color-surface))}@media(max-width:900px){.pwa-jobs-table-wrap{height:calc(100dvh - 150px);max-height:calc(100dvh - 150px)}.pwa-jobs-table--responsive .pwa-jobs-table-col--name{white-space:normal;word-break:break-word}.pwa-jobs-table--responsive thead th{white-space:normal}}@media(max-width:639px){.pwa-jobs-list-shell{max-width:100%}.pwa-jobs-list-toolbar-chips.is-visible{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;-webkit-overflow-scrolling:touch}}.pwa-jobs-filter-row{margin-top:8px}.pwa-jobs-status-filter-dropdown{position:relative;max-width:320px}.pwa-jobs-status-filter-button{width:100%;padding:8px 10px;border:1px solid var(--color-border-muted);border-radius:8px;background-color:var(--color-surface);color:var(--color-text);font-size:14px;text-align:left;cursor:pointer}.pwa-jobs-status-filter-menu{position:absolute;top:100%;left:0;right:0;margin-top:4px;max-height:280px;display:flex;flex-direction:column;border:1px solid var(--color-border-muted);border-radius:8px;background-color:var(--color-surface);box-shadow:0 4px 12px var(--color-shadow-modal);z-index:60;overflow:hidden}.pwa-jobs-status-filter-menu-actions{display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-border-muted);background-color:var(--color-surface-muted)}.pwa-jobs-status-filter-action{padding:4px 10px;font-size:12px;font-weight:600;border-radius:8px;border:1px solid var(--color-border-muted);background-color:var(--color-surface);color:var(--color-text);cursor:pointer}.pwa-jobs-status-filter-options{max-height:200px;overflow-y:auto}.pwa-jobs-status-filter-option{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--color-border)}.pwa-jobs-status-filter-option--checked{background-color:var(--color-surface-muted)}.pwa-jobs-status-filter-empty{padding:12px;color:var(--color-text-muted);font-size:13px}.pwa-jobs-detail-page-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 10px}.pwa-jobs-detail-page-title{margin:0;font-size:20px;font-weight:700;color:var(--color-text)}.pwa-jobs-detail-page-head-main{flex:1;min-width:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pwa-jobs-family-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;font-size:15px;line-height:1.35}.pwa-jobs-family-breadcrumb--wo{width:100%;justify-content:space-between;gap:12px}.pwa-jobs-family-breadcrumb-trail{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.pwa-jobs-family-breadcrumb-stepper{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.pwa-jobs-family-breadcrumb-step-count{font-size:12px;font-weight:500;color:var(--color-text-muted);white-space:nowrap;min-width:4.5rem;text-align:center}.pwa-jobs-family-breadcrumb-step-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap}.pwa-jobs-family-breadcrumb-step-btn:hover:not(:disabled){background:var(--color-surface-hover)}.pwa-jobs-family-breadcrumb-step-btn:disabled{opacity:.35;cursor:not-allowed}.pwa-jobs-family-breadcrumb-step-chevron{font-size:16px;line-height:1;color:var(--color-text-muted)}.pwa-jobs-family-breadcrumb-link{margin:0;padding:0;border:none;background:none;color:var(--color-link);font:inherit;font-weight:600;cursor:pointer;text-align:left}.pwa-jobs-family-breadcrumb-link:hover{text-decoration:underline}.pwa-jobs-family-breadcrumb-muted,.pwa-jobs-family-breadcrumb-meta,.pwa-jobs-family-breadcrumb-sep{color:var(--color-text-muted);font-weight:500}.pwa-jobs-family-breadcrumb-current{font-weight:700;color:var(--color-text);min-width:0}.pwa-jobs-parent-context{display:flex;align-items:center;gap:6px;padding:8px 2px 10px;border-bottom:.5px solid var(--color-border-muted);margin-bottom:0;font-size:12px}.pwa-jobs-parent-context-label{color:var(--color-text-muted);font-weight:500}.pwa-jobs-parent-context-link{display:inline-flex;align-items:center;gap:4px;margin:0;padding:0;border:none;background:none;color:var(--color-link);font:inherit;font-weight:600;cursor:pointer}.pwa-jobs-parent-context-link:hover{text-decoration:underline}.pwa-jobs-parent-context-link .ti{font-size:13px;line-height:1}.pwa-jobs-detail-page-back{flex-shrink:0;margin:0;padding:4px 0;border:none;background:none;color:var(--color-link);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;font-family:inherit}.pwa-jobs-detail-page-back:hover{text-decoration:underline}.pwa-shell{background-color:var(--color-page-alt);min-height:100vh;min-height:100dvh}.pwa-shell--dashboard-wide{display:flex;flex-direction:column}.pwa-container{width:min(100% - 12px,var(--container-md));margin:0 auto;background-color:var(--color-page-alt)}.pwa-container.pwa-container--dashboard-wide{width:calc(100% - 16px);max-width:none;flex:1;min-height:0;display:flex;flex-direction:column}.pwa-container--dashboard-wide .ops-dash{flex:1;min-height:0}.pwa-container.pwa-container--jobs-wide,.pwa-container.pwa-container--calendar-wide{width:calc(100% - 16px);max-width:none}.pwa-topbar{display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box;padding:12px 8px;background-color:var(--color-topbar-bg);border-bottom:1px solid var(--color-topbar-border);gap:12px}.pwa-topbar-start{display:flex;align-items:center;gap:16px;flex-shrink:0}.pwa-topbar-end{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex:1}.pwa-topbar-tabs{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 auto;justify-content:flex-end;flex-wrap:wrap;margin-right:4px}.pwa-topbar-tabs .pwa-tab-btn{padding:6px 11px;font-size:13px;white-space:nowrap}.pwa-topbar-tabs .pwa-tab-icon{width:16px;height:16px}.pwa-topbar-tabs .pwa-tab-icon svg{width:16px;height:16px}.pwa-topbar-user-menu{position:relative}.pwa-topbar-user-dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:11rem;padding:6px;border-radius:10px;background-color:var(--color-surface);border:1px solid var(--color-border-strong);box-shadow:0 10px 28px var(--color-shadow-modal);z-index:400}.pwa-topbar-user-dropdown-item{display:block;width:100%;margin:0;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--color-text);font-size:14px;font-weight:600;text-align:left;cursor:pointer;font-family:inherit}.pwa-topbar-user-dropdown-item:hover{background-color:var(--color-surface-hover)}.pwa-topbar-user-dropdown-item--danger{color:var(--color-danger)}.pwa-topbar-user-dropdown-item--danger:hover{background-color:var(--color-error-bg)}.pwa-footer-page-refresh{border:none;background:none;color:var(--color-link);font-size:12px;text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0;font-family:inherit}.pwa-footer-page-refresh:hover{color:var(--color-primary-hover)}.pwa-topbar-brand{display:inline-flex;align-items:center;gap:12px}.pwa-topbar-brand-mark{font-family:var(--font-sans, "Inter", system-ui, sans-serif);font-size:14px;font-weight:600;letter-spacing:.1em;color:var(--color-topbar-brand, var(--color-on-primary));text-transform:uppercase}.pwa-topbar-brand-tilde{font-family:var(--font-sans, "Inter", system-ui, sans-serif);font-size:14px;font-weight:500;color:var(--color-topbar-brand-muted, var(--color-on-primary));opacity:.9}.pwa-instance-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 9px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.35;background:#f59e0b;color:#111827;border:1px solid rgba(0,0,0,.12);box-shadow:0 1px 2px #0000001f;flex-shrink:0}.pwa-instance-badge--topbar{margin-left:2px}.pwa-instance-badge--login{font-size:11px;padding:3px 10px}.pwa-tabbar{display:flex;gap:8px;width:100%;box-sizing:border-box;padding:10px 8px;background-color:var(--color-tabbar-bg);border-bottom:1px solid var(--color-tabbar-border)}.pwa-tab-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.pwa-tabbar-scroll{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;overflow-x:auto;overflow-y:hidden;width:100%;min-width:0;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:1px}.pwa-tabbar-scroll .pwa-tab-btn{flex-shrink:0;padding:6px 10px;font-size:12px;gap:4px}.pwa-tabbar-scroll .pwa-tab-icon{font-size:13px}.pwa-mobile-page-picker{position:relative;width:100%;font-family:var(--font-sans, "Inter", system-ui, sans-serif)}.pwa-mobile-page-picker-trigger{width:100%;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--color-tab-border);background-color:var(--color-tab-inactive-bg);color:var(--color-text-muted);font-family:inherit;font-weight:600;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}.pwa-mobile-page-picker-page-name{color:var(--color-text-muted)}.pwa-mobile-page-picker-trigger:hover{background-color:var(--color-surface-hover)}.pwa-mobile-page-picker-trigger:active{opacity:1;transform:none}.pwa-mobile-page-picker-chevron{flex-shrink:0;font-size:10px;margin-left:8px;color:var(--color-text-faint);opacity:1}.pwa-mobile-page-picker-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:200;margin:0;padding:6px;list-style:none;border-radius:10px;border:1px solid var(--color-border-strong);background-color:var(--color-surface);box-shadow:0 12px 28px var(--color-shadow-modal)}.pwa-mobile-page-picker-menu button{width:100%;margin:0;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--color-text);font-family:inherit;font-size:14px;font-weight:600;text-align:left;cursor:pointer}.pwa-mobile-page-picker-menu button:hover{background-color:var(--color-surface-hover)}.pwa-mobile-page-picker-menu button:active{opacity:1;transform:none}.pwa-mobile-page-picker-menu button[aria-selected=true]{background-color:var(--color-primary-tint-bg);color:var(--color-primary)}.pwa-alerts-view-chips{display:flex;flex-wrap:wrap;gap:0 10px;align-items:flex-end;border-bottom:1px solid var(--color-border-muted);margin-top:10px;margin-bottom:12px}button.pwa-mock-filter-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:0 0 -1px;padding:8px 6px 10px;border:none;border-radius:0;border-bottom:2px solid transparent;background:none;color:var(--color-text-muted);font-size:13px;font-weight:600;line-height:1.2;font-family:inherit;cursor:pointer;box-sizing:border-box;text-transform:capitalize;transition:color .12s ease,border-bottom-color .12s ease}button.pwa-mock-filter-chip:hover:not(.pwa-mock-filter-chip--active){color:var(--color-text-secondary)}button.pwa-mock-filter-chip--active{color:var(--color-primary);font-weight:700;border-bottom-color:var(--color-primary);background:none}button.pwa-mock-filter-chip--active:hover{color:var(--color-primary-hover)}button.pwa-mock-filter-chip:active{opacity:1;transform:none}button.pwa-mock-filter-chip:focus{outline:none}button.pwa-mock-filter-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button.pwa-mock-filter-chip--active:focus-visible{outline-color:var(--color-primary)}.pwa-mock-filter-chip-count{font-weight:inherit;font-size:inherit;opacity:1;font-variant-numeric:tabular-nums}.pwa-alert-staff-avatars{flex-wrap:nowrap!important}.pwa-alert-staff-avatars>span{flex-shrink:0}.pwa-tab-btn{padding:8px 12px;border-radius:999px;border:1px solid var(--color-tab-border);font-weight:700;font-size:14px;background-color:var(--color-tab-inactive-bg);color:var(--color-tab-inactive-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.pwa-tab-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.pwa-fab-create-host{position:fixed;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;pointer-events:none}.pwa-tab-label{display:inline-block}.pwa-tab-btn--icon-only{padding:0;width:32px;height:32px;min-width:32px;border:none;border-radius:8px;background:none;color:var(--color-text-muted)}.pwa-tab-btn--icon-only.pwa-tab-btn--active{background:var(--color-surface-hover);color:var(--color-primary)}.pwa-topbar-notifications--narrow-bell.pwa-topbar-mobile-nav-btn--active{color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 14%,transparent);border-radius:12px}.pwa-topbar-notifications--narrow-bell.pwa-topbar-mobile-nav-btn--active .pwa-topbar-bell-svg{color:currentColor}.pwa-topbar-notifications--narrow-bell.pwa-topbar-mobile-nav-btn--active:hover{background-color:color-mix(in srgb,var(--color-primary) 18%,transparent)}.pwa-tab-icon-badge{position:absolute;top:-3px;right:-4px;width:7px;height:7px;border-radius:999px;background-color:var(--color-warning-badge);border:1px solid var(--color-tabbar-bg)}.pwa-container--with-bottom-nav{padding-bottom:var(--pwa-mobile-chrome-offset, calc(env(safe-area-inset-bottom, 0px) + 80px) )}.pwa-tab-btn--active{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-tab-border)}.pwa-tab-btn:active{opacity:1;transform:none}.pwa-tab-btn:focus{outline:none}.pwa-tab-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pwa-tab-btn--active:focus,.pwa-tab-btn--active:focus-visible{background-color:var(--color-primary);color:var(--color-on-primary)}.pwa-tab-btn:hover:not(.pwa-tab-btn--active){color:var(--color-primary-hover)}@media(max-width:760px){:root{--pwa-mobile-tabbar-inner: 63px;--pwa-mobile-tabbar-offset: calc(env(safe-area-inset-bottom, 0px) + var(--pwa-mobile-tabbar-inner));--pwa-mobile-chrome-offset: calc(env(safe-area-inset-bottom, 0px) + 84px) }.pwa-tabbar--mobile-bottom{position:fixed;left:0;right:0;bottom:0;z-index:1200;gap:0;padding:6px 8px calc(env(safe-area-inset-bottom,0px) + 8px);border:none;border-top:1px solid var(--color-tabbar-border);background-color:var(--color-tabbar-bg)}.pwa-tabbar--mobile-bottom .pwa-tab-btn{flex:1 1 0;min-width:0;padding:6px 4px 5px;border:none;border-radius:12px;background-color:transparent;color:var(--color-tab-inactive-text);display:grid;justify-items:center;align-content:center;gap:3px;font-size:12px;font-weight:500;line-height:1.1}.pwa-tabbar--mobile-bottom .pwa-tab-btn .pwa-tab-icon-wrap{width:22px;height:22px}.pwa-tabbar--mobile-bottom .pwa-tab-btn .pwa-tab-icon{width:18px;height:18px}.pwa-tabbar--mobile-bottom .pwa-tab-btn--active{color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 14%,transparent)}.pwa-tabbar--mobile-bottom .pwa-tab-btn .pwa-tab-icon-badge{top:-2px;right:-1px;width:6px;height:6px;border-color:var(--color-tabbar-bg)}}:root[data-ui-preview=true] .pwa-tabbar{gap:2px;align-items:center;min-height:42px;padding:0 8px;border-bottom-width:.5px}:root[data-ui-preview=true] .pwa-tab-btn{border-radius:6px;border:none;background-color:transparent;color:var(--color-tab-inactive-text);font-weight:500;font-size:12px;padding:5px 14px}:root[data-ui-preview=true] .pwa-tab-btn:hover:not(.pwa-tab-btn--active){color:var(--color-primary-hover);background-color:color-mix(in srgb,var(--color-primary) 12%,transparent)}:root[data-ui-preview=true] .pwa-tab-btn:active{opacity:1;transform:none}:root[data-ui-preview=true] .pwa-tab-btn--active{background-color:var(--color-primary);color:var(--color-on-primary);box-shadow:none}:root[data-ui-preview=true] .pwa-tab-btn--active:focus,:root[data-ui-preview=true] .pwa-tab-btn--active:focus-visible{background-color:var(--color-primary);color:var(--color-on-primary)}:root[data-ui-preview=true] .pwa-tabbar:not(.pwa-tabbar--mobile-bottom) .pwa-tab-icon{display:none}:root[data-ui-preview=true] .pwa-mobile-page-picker-trigger{font-size:12px;font-weight:500;color:var(--color-tab-inactive-text)}:root[data-ui-preview=true] .pwa-mobile-page-picker-page-name{color:var(--color-tab-inactive-text)}:root[data-ui-preview=true] .pwa-mobile-page-picker-chevron{font-size:12px;color:var(--color-tab-inactive-text)}:root[data-ui-preview=true] .pwa-mobile-page-picker-trigger:hover{color:var(--color-primary-hover);background-color:color-mix(in srgb,var(--color-primary) 12%,transparent)}:root[data-ui-preview=true] .pwa-mobile-page-picker-menu button{font-size:12px;font-weight:500;color:var(--color-tab-inactive-text)}:root[data-ui-preview=true] .pwa-mobile-page-picker-menu button:hover{color:var(--color-primary-hover);background-color:color-mix(in srgb,var(--color-primary) 12%,transparent)}:root[data-ui-preview=true] .pwa-mobile-page-picker-menu button[aria-selected=true]{background-color:var(--color-primary);color:var(--color-on-primary)}:root[data-ui-preview=true] .pwa-mobile-page-picker-menu button[aria-selected=true]:hover{background-color:var(--color-primary);color:var(--color-on-primary)}:root[data-ui-preview=true] .pwa-topbar{min-height:50px;padding:0 16px;border-bottom:none}:root[data-ui-preview=true] .pwa-topbar-user{width:26px!important;height:26px!important;background-color:var(--color-primary)!important;color:#fff!important;font-size:10px!important;font-weight:600!important}:root[data-ui-preview=true] .pwa-topbar-notifications:not(.pwa-topbar-notifications--narrow-bell){height:auto!important;min-height:36px!important;padding:6px 14px!important;border-radius:6px!important;background:none!important;border:.5px solid rgba(255,255,255,.45)!important;color:var(--color-on-primary)!important;font-size:12px!important;font-weight:500!important}:root[data-ui-preview=true][data-theme=light] .pwa-topbar-notifications:not(.pwa-topbar-notifications--narrow-bell){border:.5px solid var(--color-border-strong)!important;color:var(--color-text)!important}:root[data-ui-preview=true] .pwa-topbar-notifications--narrow-bell{min-height:32px!important;width:32px!important;height:32px!important;padding:0!important;border:none!important;background:none!important;border-radius:8px!important}:root[data-ui-preview=true] .pwa-topbar-notifications--narrow-bell .pwa-topbar-bell-svg{color:var(--color-on-primary)!important}:root[data-ui-preview=true][data-theme=light] .pwa-topbar-notifications--narrow-bell .pwa-topbar-bell-svg{color:var(--color-text-muted)!important}.pwa-topbar-notify-dot{width:5px;height:5px;border-radius:50%;background-color:#f97316;flex-shrink:0}.pwa-topbar-notifications--icon-only{position:relative}.pwa-topbar-notifications--narrow-bell{position:relative;width:32px;height:32px;min-width:32px;padding:0;border:none;border-radius:8px;background:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:var(--color-text-muted)}.pwa-topbar-notifications--narrow-bell.pwa-topbar-notifications--has-unread{width:auto;min-width:0;height:auto;min-height:32px;padding:0}.pwa-topbar-notifications--narrow-bell:hover{background:var(--color-surface-hover)}.pwa-topbar-notifications--narrow-bell.pwa-topbar-notifications--has-unread:hover{background:none}.pwa-topbar-notifications--narrow-bell.pwa-topbar-notifications--has-unread:hover .pwa-topbar-bell-pill{background:#f8717142}.pwa-topbar-bell-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 9px 5px 7px;border-radius:8px;background:#f871712e;line-height:1}.pwa-topbar-notifications--has-unread .pwa-topbar-bell-svg{color:#f87171}.pwa-topbar-bell-count{font-size:13px;font-weight:600;color:#f87171;font-variant-numeric:tabular-nums;min-width:.55em;text-align:center}:root[data-theme=light] .pwa-topbar-bell-pill{background:#ef44441f}:root[data-theme=light] .pwa-topbar-notifications--has-unread .pwa-topbar-bell-svg,:root[data-theme=light] .pwa-topbar-bell-count{color:#ef4444}:root[data-theme=light] .pwa-topbar-notifications--narrow-bell.pwa-topbar-notifications--has-unread:hover .pwa-topbar-bell-pill{background:#ef444433}.pwa-topbar-bell-svg{display:block;flex-shrink:0;color:var(--color-text-muted)}.pwa-topbar-unread-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--color-danger);border:1.5px solid var(--color-surface);box-sizing:border-box;pointer-events:none}.pwa-topbar-notifications--icon-only .pwa-topbar-notify-dot{position:absolute;top:8px;left:7px;z-index:1}.pwa-topbar-bell{display:inline-flex;line-height:1}.pwa-tabbar--mobile-picker{display:block;padding:8px 10px}.pwa-page-wrap{padding:14px 8px;width:min(100%,var(--container-md));margin:0 auto}.pwa-page-wrap.pwa-page-wrap--dashboard-wide,.pwa-page-wrap.pwa-page-wrap--jobs-wide,.pwa-page-wrap.pwa-page-wrap--jobs-agenda-wide{width:100%;max-width:none;margin:0;box-sizing:border-box}.pwa-card{background-color:var(--color-surface);border:var(--panel-border);border-radius:var(--radius-card);box-shadow:var(--panel-shadow)}.pwa-card.pwa-card--alert-details{background-color:transparent;border:none;box-shadow:none;border-radius:0}.pwa-page-grid{display:grid;grid-template-columns:1fr;gap:14px}.pwa-section{border:1px solid var(--color-border);border-radius:10px;padding:12px}.pwa-section-title{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--color-text-secondary)}.pwa-form-grid{display:grid;grid-template-columns:1fr;gap:10px}.pwa-admin-users-layout{display:grid;grid-template-columns:1fr;gap:12px}.pwa-admin-users-staff-panel{min-width:0;display:flex;flex-direction:column;gap:8px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface);padding:10px;min-height:280px}.pwa-admin-users-staff-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pwa-admin-users-staff-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.pwa-admin-users-staff-count{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.pwa-admin-users-staff-list{flex:1;min-height:0;max-height:min(52dvh,520px);overflow-y:auto;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface-muted)}.pwa-admin-users-staff-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;border:none;border-bottom:1px solid var(--color-border-muted);background:var(--color-surface);padding:8px 10px;cursor:pointer}.pwa-admin-users-staff-row:last-child{border-bottom:none}.pwa-admin-users-staff-row--selected{background:var(--color-primary-tint-bg, #e8f0fe)}.pwa-admin-users-staff-row-name{font-size:13px;font-weight:600;color:var(--color-text);line-height:1.3;word-break:break-word}.pwa-admin-users-staff-row-user{font-size:11px;color:var(--color-text-muted)}.pwa-admin-users-staff-row-user--none{font-style:italic}.pwa-admin-users-staff-empty{margin:0;font-size:12px;line-height:1.4;color:var(--color-text-muted)}.pwa-admin-users-editor-panel{min-width:0;display:flex;flex-direction:column;gap:12px}.pwa-alert-cards{display:flex;flex-direction:column;gap:10px}.pwa-alert-cards>.pwa-alert-card{flex-shrink:0;min-height:min-content}.pwa-alert-cards.pwa-alert-cards--grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.pwa-alert-cards.pwa-alert-cards--grid-2>.pwa-alert-card:last-child:nth-child(odd){grid-column:1 / -1}.pwa-alert-cards.pwa-alert-cards--dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--dashboard-grid-min, 260px),1fr));align-items:stretch;gap:12px}.pwa-alert-cards.pwa-alert-cards--dashboard-grid>.pwa-alert-card{flex-shrink:0;min-height:min-content}.pwa-alert-card.pwa-alert-card--dashboard-resizable{cursor:ew-resize;touch-action:pan-y}.pwa-alert-card{background-color:var(--color-surface);border:var(--panel-border);border-left-width:3px;border-left-style:solid;border-left-color:var(--pwa-list-accent, var(--color-primary));border-radius:12px;padding:14px;box-shadow:var(--panel-shadow);cursor:pointer;min-height:0;height:100%;display:flex;flex-direction:column;justify-content:flex-start;gap:0}.pwa-alert-card.pwa-alert-card--compact{padding:10px 12px;border-radius:10px;height:auto}.pwa-alert-card.pwa-alert-card--compact .pwa-alert-card-row1{margin-bottom:4px}.pwa-alert-card.pwa-alert-card--compact .pwa-alert-card-type-line{margin-bottom:4px;font-size:11px}.pwa-alert-card.pwa-alert-card--compact .pwa-alert-card-jobline{margin:0 0 4px}.pwa-alert-card.pwa-alert-card--compact .pwa-alert-card-joblink{font-size:1rem;-webkit-line-clamp:1}.pwa-alert-card.pwa-alert-card--compact .pwa-alert-card-meta--footer{padding-top:2px}.pwa-alert-card.pwa-alert-card--compact .pwa-alert-card-id{font-size:1.15rem}.pwa-alert-card.pwa-alert-card--compact .pwa-alert-card-pending-badge{padding:2px 8px;font-size:11px}.pwa-alert-card.pwa-alert-card--compact .pwa-alert-chip.pwa-alert-chip-status{padding:2px 8px;font-size:10px}.pwa-alert-card-row1{display:flex;align-items:center;gap:8px;width:100%;min-width:0;margin-bottom:6px}.pwa-alert-card-row1-main{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}.pwa-alert-card-row1 .pwa-alert-card-id{flex-shrink:0}.pwa-alert-card-pending-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:3px 10px;border-radius:999px;background-color:var(--color-pending-badge-bg);color:var(--color-pending-badge-text);font-size:12px;font-weight:700;line-height:1.35}.pwa-alert-card:not(.pwa-task-card) .pwa-alert-card-row1 .pwa-alert-chip-status{flex:0 1 auto;width:auto;max-width:min(100%,16rem);min-width:0;justify-content:center}.pwa-alert-card-row1 .pwa-alert-favourite-btn{flex-shrink:0;margin-left:auto}.pwa-alert-card-type-line{font-size:12px;font-weight:500;line-height:1.35;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;margin:0 0 6px}.pwa-alert-card .pwa-alert-chip.pwa-alert-chip-status{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border-radius:4px;font-size:11px;font-weight:500;line-height:1.35;max-width:min(100%,16rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;border:none}.pwa-alert-card:not(.pwa-task-card) .pwa-alert-chip.pwa-alert-chip-status{background-color:color-mix(in srgb,var(--pwa-status-accent, var(--color-primary)) 8%,transparent);color:var(--pwa-status-accent, var(--color-primary))}.pwa-alert-card:not(.pwa-task-card) .pwa-alert-chip.pwa-alert-chip-status.pwa-alert-chip-status--reported{background-color:var(--color-danger-bg);color:var(--color-danger)}.pwa-alert-card:not(.pwa-task-card) .pwa-alert-chip.pwa-alert-chip-status.pwa-alert-chip-status--sent-cnc{background-color:var(--color-success-bg);color:var(--color-success)}.pwa-alert-card.pwa-task-card .pwa-alert-chip.pwa-alert-chip-status:not(.pwa-alert-chip-status--reported):not(.pwa-alert-chip-status--sent-cnc){background-color:color-mix(in srgb,var(--pwa-status-accent, var(--color-primary)) 8%,transparent);color:var(--pwa-status-accent, var(--color-primary))}.pwa-alert-card-jobline{min-width:0;margin:2px 0 6px}.pwa-alert-card-joblink{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%;margin:0;padding:0;border:none;background:none;font:inherit;font-size:1.05rem;font-weight:700;line-height:1.35;text-align:left;color:var(--color-alert-job-title, var(--color-text));cursor:pointer;text-decoration:none;word-break:break-word;user-select:none;-webkit-user-select:none}span.pwa-alert-card-joblink{cursor:inherit;user-select:none;-webkit-user-select:none}.pwa-alert-card-joblink:hover{color:var(--color-text-secondary)}.pwa-expense-list-card-title,.pwa-alert-card.pwa-task-card .pwa-task-card-title.pwa-alert-card-joblink{font-size:15px;font-weight:700;color:var(--color-text);line-height:1.25}.pwa-alert-card:not(.pwa-task-card) .pwa-alert-card-jobline .pwa-alert-card-joblink{font-size:15px;font-weight:700;color:var(--color-text);line-height:1.25;cursor:default;user-select:text;-webkit-user-select:text}.pwa-alert-card:not(.pwa-task-card) .pwa-alert-card-jobline .pwa-alert-card-joblink:hover{color:var(--color-text)}.pwa-alert-card.pwa-task-card .pwa-task-card-title.pwa-alert-card-joblink:hover{color:var(--color-text-secondary)}.pwa-alert-card-preview{margin:4px 0 8px;color:var(--color-text-secondary);font-size:1rem;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word;flex-shrink:0}.pwa-alert-card-preview .pwa-alert-card-preview-mention{font-weight:700;color:var(--color-primary)}.pwa-alert-card-meta{font-size:13px}.pwa-alert-card-meta-byline{font-size:11px;line-height:1.35}.pwa-alert-card-meta-byline span:first-child{color:var(--color-text-muted)}.pwa-alert-card-meta-byline span:last-child{color:var(--color-text-subtle)}.pwa-alert-card-meta--footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:4px;flex-wrap:nowrap}.pwa-alert-card-meta-summary{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;color:var(--color-text-muted)}.pwa-alert-card-meta-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:nowrap}.pwa-alert-card-attachment-icon{margin-left:6px;flex-shrink:0}.pwa-mock-due{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;line-height:1.35}.pwa-mock-due-dot{width:4px;height:4px;border-radius:50%;background-color:currentColor;flex-shrink:0}.pwa-mock-due--overdue{color:var(--color-danger)}.pwa-mock-due--soon{color:var(--color-warning)}.pwa-mock-due--ok,.pwa-mock-due--unknown{color:var(--color-text-muted)}.pwa-alert-card.pwa-task-card{height:auto;min-height:min-content;align-self:start;width:100%;box-sizing:border-box;border-left-width:3px;border-left-style:solid;border-left-color:var(--pwa-list-accent, transparent)}.pwa-alert-card.pwa-task-card .pwa-alert-card-row1,.pwa-alert-card.pwa-task-card .pwa-alert-card-jobline{flex-shrink:0}.pwa-alert-card.pwa-task-card .pwa-task-card-title.pwa-alert-card-joblink{-webkit-line-clamp:6;line-clamp:6}.pwa-alert-card.pwa-task-card .pwa-alert-card-type-line{flex-shrink:0;white-space:normal;overflow:hidden;text-overflow:unset;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;word-break:break-word}.pwa-alert-card.pwa-task-card .pwa-task-card-nested-job{flex-shrink:0;margin-top:2px;margin-bottom:4px}.pwa-alert-card.pwa-task-card .pwa-task-card-nested-job .pwa-alert-card-joblink{font-size:.95rem;font-weight:600;color:var(--color-primary)}.pwa-alert-card.pwa-task-card .pwa-task-card-nested-job .pwa-alert-card-joblink:hover{color:var(--color-primary-hover)}.pwa-task-card-priority{display:inline-flex;align-items:center;justify-content:center;gap:3px;box-sizing:border-box;flex-shrink:0}.pwa-alert-card.pwa-task-card .pwa-task-card-priority,.pwa-alert-card.pwa-task-card .pwa-task-card-status-chip.pwa-task-card-chip--quiet{min-height:0;min-width:0;max-width:100%;padding:3px 9px;border-radius:4px;box-sizing:border-box;justify-content:center;font-family:inherit;font-size:11px;font-weight:500;line-height:1.35;letter-spacing:0}.pwa-alert-card.pwa-task-card .pwa-alert-chip.pwa-alert-chip-status:not(.pwa-task-card-chip--quiet){min-height:0;min-width:0;max-width:100%;padding:3px 9px;border-radius:4px;box-sizing:border-box;justify-content:center;font-family:inherit;font-size:11px;font-weight:500;line-height:1.35;letter-spacing:0}.pwa-alert-card.pwa-task-card .pwa-task-card-chip--quiet{border:none!important;background:#ffffff0d;color:var(--color-text-faint)}[data-theme=light] .pwa-alert-card.pwa-task-card .pwa-task-card-chip--quiet,:root[data-theme=light] .pwa-alert-card.pwa-task-card .pwa-task-card-chip--quiet{background:color-mix(in srgb,var(--color-text) 6%,transparent)}[data-theme=light] .pwa-task-detail-priority-chip--quiet.pwa-task-card-priority,:root[data-theme=light] .pwa-task-detail-priority-chip--quiet.pwa-task-card-priority{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.pwa-alert-card.pwa-task-card .pwa-task-card-status-chip--done{min-height:0;min-width:0;padding:3px 9px;border-radius:4px;border:none!important;font-size:11px;font-weight:500;line-height:1.35;background:var(--color-success-bg);color:var(--color-success)}.pwa-alert-card.pwa-task-card .pwa-task-card-meta-footer.pwa-alert-card-meta--footer{flex-shrink:0;justify-content:space-between;width:100%;min-width:0;padding-top:8px;margin-top:6px}.pwa-task-card-footer-left{display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:flex-start;flex:1 1 auto;min-width:0}.pwa-task-card-footer-right{display:flex;align-items:center;gap:8px;justify-content:flex-end;flex-shrink:0;margin-left:auto;text-align:right}.pwa-task-card-timesheet-edit{border:1px solid var(--color-primary);background:var(--color-surface);color:var(--color-primary);border-radius:8px;padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer;flex-shrink:0}.pwa-task-card-timesheet-edit:hover:not(:disabled){background:var(--color-primary-tint-bg)}.pwa-task-card-timesheet-edit:disabled{opacity:.6;cursor:default}.pwa-task-detail-priority-chip.pwa-task-card-priority{display:inline-flex;align-items:center;justify-content:center;min-height:0;min-width:0;padding:3px 9px;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:11px;font-weight:500;line-height:1.35;letter-spacing:0}.pwa-task-detail-priority-chip--quiet.pwa-task-card-priority{border:none!important;background:#ffffff0d;color:var(--color-text-faint)}button.pwa-task-detail-status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:0;min-width:0;padding:3px 9px;border-radius:4px;box-sizing:border-box;font-family:inherit;font-size:11px;font-weight:500;line-height:1.35;letter-spacing:0;cursor:pointer;border:none;background:transparent}button.pwa-task-detail-status-chip:disabled{cursor:not-allowed;opacity:.75}button.pwa-task-detail-status-chip--open{background:var(--color-primary-bg);color:var(--color-primary)}button.pwa-task-detail-status-chip--completed{background:var(--color-success-bg);color:var(--color-success)}.pwa-task-detail-header-status-actions{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;flex-shrink:0;margin-left:auto}.pwa-task-detail-header-status-actions .pwa-alert-details-status-wrap{margin-left:0}.pwa-task-due-chip{display:inline-block;padding:3px 9px;border-radius:4px;font-weight:600;font-size:13px;line-height:1.35;vertical-align:baseline}.pwa-task-due-chip--overdue{color:var(--color-danger)}.pwa-task-due-chip--soon{color:var(--color-warning)}.pwa-task-due-chip--calm{color:var(--color-text-faint)}.pwa-task-detail-description .pwa-task-description-mention,.pwa-alert-details-check-item-line .pwa-task-description-mention{font-weight:700;color:var(--color-primary)}.pwa-task-detail-activity-heading{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:10px}.pwa-task-detail-meta-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;width:100%;font-size:12px;color:var(--color-text-secondary)}.pwa-task-detail-meta-row-left{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;flex:1 1 auto}.pwa-task-detail-meta-row-due{flex-shrink:0;margin-left:auto;text-align:right;white-space:nowrap}.pwa-task-card-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:8px;font-size:12px;font-weight:600;line-height:1.35;letter-spacing:0;flex-shrink:0;min-height:24px}.pwa-alert-card.pwa-task-card .pwa-alert-card-meta--footer{flex-wrap:wrap;row-gap:8px}.pwa-task-details-column{align-self:stretch;min-width:0;min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--color-border-muted);padding-left:24px;margin-left:4px}.pwa-task-details-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 16px;min-height:min(72vh,640px);box-sizing:border-box;background:transparent}.pwa-task-details-placeholder-icon{width:52px;height:52px;border-radius:50%;background-color:var(--color-surface-muted);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px;flex-shrink:0}.pwa-task-details-placeholder-text{margin:0;font-size:15px;font-weight:500;line-height:1.45;color:var(--color-text-muted);max-width:280px}.pwa-alert-favourite-btn{padding:0;border:none;background:transparent;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:14px;color:var(--color-text-muted)}.pwa-alert-favourite-btn--saved{color:color-mix(in srgb,var(--color-amber-accent) 82%,var(--color-text-muted))}.pwa-alerts-column-empty{margin:0;padding:22px 16px;text-align:center;font-size:13px;line-height:1.45;color:var(--color-text-muted);border:1px dashed var(--color-border-muted);border-radius:10px;background-color:color-mix(in srgb,var(--color-surface-muted) 65%,var(--color-surface));width:100%;max-width:100%;min-width:0;box-sizing:border-box}.pwa-alerts-split-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);box-sizing:border-box}.pwa-alerts-split-grid--biwide{grid-template-columns:minmax(0,2.3fr) minmax(0,1fr)}@media(max-width:760px){.pwa-alerts-split-grid,.pwa-alerts-split-grid.pwa-alerts-split-grid--biwide{grid-template-columns:1fr}}.pwa-alerts-split-column{min-width:0;width:100%;box-sizing:border-box}.pwa-alert-card .pwa-alert-card-id{font-size:1.35rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;color:var(--color-text)}[data-theme=light] .pwa-alert-card:not(.pwa-task-card) .pwa-alert-card-id,[data-theme=dark] .pwa-alert-card:not(.pwa-task-card) .pwa-alert-card-id{color:var(--color-primary)}.pwa-details-main-grid{margin-top:8px;font-size:13px;color:var(--color-text-secondary);display:grid;grid-template-columns:1fr;column-gap:12px;row-gap:6px;align-items:start}.pwa-alert-details-header{margin-bottom:10px}.pwa-alert-details-header-row1{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.pwa-alert-details-id{margin:0;font-size:1.75rem;line-height:1.05;letter-spacing:-.03em;font-weight:800;color:var(--color-text)}.pwa-alert-details-header-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.pwa-alert-details-header-row2{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;min-width:0}.pwa-alert-details-chip{display:inline-flex;align-items:center;justify-content:center;padding:7px 15px;border-radius:8px;font-size:13px;line-height:1.4;max-width:100%;box-sizing:border-box;border:none;box-shadow:none;overflow:hidden;text-overflow:ellipsis}.pwa-alert-details-chip--type{flex:1 1 auto;min-width:0;justify-content:flex-start;text-align:left;white-space:normal;overflow-wrap:anywhere;font-weight:500;background-color:var(--color-surface);color:var(--color-text-muted)}.pwa-alert-details-chip--status{flex-shrink:0;cursor:pointer;white-space:nowrap;font-weight:700;background-color:color-mix(in srgb,var(--pwa-chip-accent, var(--color-primary)) 14%,var(--color-page) 86%);color:var(--pwa-chip-accent, var(--color-primary))}.pwa-alert-details-chip--status:disabled{cursor:default;opacity:.92}.pwa-alert-details-status-wrap{position:relative;flex:0 0 auto;margin-left:auto}.pwa-alert-details-status-chevron{margin-left:6px;font-size:11px;color:inherit;opacity:.92}.pwa-alert-details-job-wrap{min-height:0;margin:4px 0 0}.pwa-alert-details-job,.pwa-alert-details-job--static{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%;min-width:0;margin:0;padding:0;font-size:1.05rem;font-weight:700;line-height:1.35;text-align:left;word-break:break-word;font-variant-numeric:tabular-nums;letter-spacing:-.02em}span.pwa-alert-details-job--static{color:var(--color-text-secondary)}button.pwa-alert-details-job{border:none;background:none;font:inherit;cursor:pointer;font-weight:600;color:var(--color-link)!important;text-decoration:underline;text-underline-offset:2px;text-decoration-skip-ink:auto}button.pwa-alert-details-job:hover{color:var(--color-primary-hover)!important}.pwa-alert-details-meta{display:flex;flex-direction:column;gap:8px;margin:12px 0 16px;font-size:13px;color:var(--color-text-secondary)}.pwa-alert-details-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0}.pwa-alert-details-meta-row--secondary{justify-content:space-between;gap:10px;font-size:12px;line-height:1.45;color:var(--color-text-muted)}.pwa-alert-details-meta-row--secondary .pwa-alert-details-meta-trailing{margin-left:auto}.pwa-alert-details-meta-label{font-size:12px;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--color-text-muted)}.pwa-alert-details-meta-spacer{flex:1 1 12px;min-width:8px}.pwa-alert-details-meta-avatar{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--color-staff-avatar-bg);color:var(--color-staff-avatar-text);border:2px solid var(--color-staff-avatar-ring);font-size:10px;font-weight:700}.pwa-alert-details-meta-assign{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.pwa-alert-details-meta-assign--manage{gap:6px;max-width:100%}.pwa-alert-details-assign-add{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-primary);border-radius:8px;background:transparent;color:var(--color-primary);cursor:pointer;align-self:center;flex-shrink:0}.pwa-alert-details-assign-add .pwa-action-icon-svg{width:18px;height:18px}.pwa-alert-details-assign-add:disabled{opacity:.5;cursor:not-allowed}.pwa-alert-details-assign-dropdown{position:absolute;right:0;top:100%;margin-top:6px;min-width:min(280px,86vw);max-height:220px;overflow-y:auto;background-color:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:10px;box-shadow:0 8px 24px var(--color-shadow-modal);z-index:80;box-sizing:border-box}.pwa-alert-details-assign-confirm{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--color-primary);border-radius:8px;background:var(--color-primary);color:var(--color-on-primary);cursor:pointer;flex-shrink:0;align-self:center}.pwa-alert-details-assign-confirm:disabled{opacity:.5;cursor:not-allowed}.pwa-alert-details-assign-confirm .pwa-action-icon-svg{width:18px;height:18px}@media(max-width:520px){.pwa-alert-details-meta-assign--manage{flex:1 1 100%;max-width:100%;min-width:0;justify-content:flex-start}.pwa-alert-details-assign-dropdown{left:0;right:0;width:100%;max-width:none;min-width:0;box-sizing:border-box}}.pwa-alert-details-meta-name{color:var(--color-primary);font-weight:600}.pwa-alert-details-meta-trailing{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.pwa-alert-details-meta-due{display:inline-flex;align-items:center;gap:4px;font-weight:600;white-space:nowrap}.pwa-alert-details-meta-due-label-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1.2;text-align:left}.pwa-alert-details-meta-due-hint{font-size:9px;font-weight:400;color:var(--color-text-muted);opacity:.85;letter-spacing:normal}.pwa-alert-details-meta-due-dot{font-size:18px;line-height:1;align-self:flex-start;margin-top:1px}.pwa-alert-details-meta-attach{font-size:18px;line-height:1}.pwa-alert-details-body{display:flex;flex-direction:column;gap:0}.pwa-alert-details-section{margin-top:4px;margin-bottom:16px}.pwa-alert-details-section-title{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.pwa-alert-details-activity-list,.pwa-alert-details-history-entries{display:flex;flex-direction:column;gap:0;padding:0;margin:0;border:none;background:transparent;box-shadow:none}.pwa-alert-details-activity-list--thread{gap:16px}.pwa-alert-details-activity-card,.pwa-alert-details-history-entry{margin:0;padding:12px 14px;border-radius:0;box-sizing:border-box;background-color:var(--color-surface-muted);border-left:1px solid var(--color-border-strong);border-right:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border-muted);box-shadow:none}.pwa-alert-details-activity-card:first-child,.pwa-alert-details-history-entry:first-child{border-top:1px solid var(--color-border-strong);border-top-left-radius:10px;border-top-right-radius:10px}.pwa-alert-details-activity-card:last-child,.pwa-alert-details-history-entry:last-child{border-bottom:1px solid var(--color-border-strong);border-bottom-left-radius:10px;border-bottom-right-radius:10px}.pwa-alert-details-activity-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.pwa-alert-details-activity-stamp{font-size:12px;font-weight:500;color:var(--color-text-muted)}.pwa-alert-details-activity-author{display:inline-flex;align-items:center;padding:3px 11px;border-radius:999px;font-size:13px;font-weight:600;line-height:1.4;background-color:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);border:none}.pwa-alert-details-activity-author--self{background-color:color-mix(in srgb,var(--color-primary) 14%,transparent)}.pwa-alert-details-activity-body{font-size:14px;line-height:1.55;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.pwa-alert-details-activity-empty{font-size:13px;color:var(--color-text-muted);padding:10px 0}.pwa-alert-details-server-activity{margin-top:12px;padding-top:0;border-top:none}.pwa-alert-details-server-activity .pwa-alert-details-history-toggle{margin-top:0}.pwa-alert-details-server-activity .pwa-alert-details-history-link{color:var(--color-text-muted);font-weight:500;text-decoration:none}.pwa-alert-details-server-activity .pwa-alert-details-history-link:hover{color:var(--color-text-secondary);text-decoration:underline}.pwa-alert-details-server-activity .pwa-alert-details-history-expand{color:var(--color-text-muted);font-weight:500}.pwa-alert-details-server-activity .pwa-alert-details-history-expand:hover{color:var(--color-text-secondary)}.pwa-alert-details-server-activity-msg{font-size:12px;color:var(--color-text-muted)}.pwa-alert-details-server-activity-msg--error{color:color-mix(in srgb,var(--color-error-text) 75%,var(--color-text-muted))}.pwa-alert-details-server-activity .pwa-alert-details-history-entry{border-left-color:var(--color-border-muted);border-right-color:var(--color-border-muted);background-color:color-mix(in srgb,var(--color-surface-muted) 65%,transparent)}.pwa-alert-details-server-activity .pwa-alert-details-history-entry:first-child{border-top-color:var(--color-border-muted)}.pwa-alert-details-server-activity .pwa-alert-details-history-entry:last-child{border-bottom-color:var(--color-border-muted)}.pwa-alert-details-server-history-stamp{font-size:11px;color:var(--color-text-subtle)}.pwa-alert-details-server-history-summary{font-size:13px;font-weight:600;margin-top:2px;overflow-wrap:anywhere;word-break:break-word;color:var(--color-text-muted)}.pwa-alert-details-server-history-who{font-size:11px;margin-top:2px;color:var(--color-text-subtle)}.pwa-alert-details-history-toggle{margin-top:10px}.pwa-alert-details-history-link{padding:0;border:none;background:transparent;color:var(--color-primary);font-size:12px;font-weight:600;cursor:pointer;text-decoration:underline}.pwa-alert-details-history-panel{margin-top:8px;border:none;border-radius:0;background-color:transparent;overflow-y:auto;padding:4px 0 0}.pwa-alert-details-history-stack{display:flex;flex-direction:column;gap:0}.pwa-alert-details-history-expand{margin-bottom:10px}.pwa-alert-details-section--checklist{margin-top:10px;margin-bottom:16px;padding:12px 14px;background-color:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:10px;box-sizing:border-box}.pwa-alert-details-checklist-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.pwa-alert-details-checklist-head .pwa-alert-details-section-title{margin-bottom:0}.pwa-alert-details-checklist-count{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.pwa-alert-details-checklist-bar{height:6px;border-radius:4px;background:var(--color-border-muted);overflow:hidden;margin-bottom:12px}.pwa-alert-details-checklist-bar-fill{height:100%;border-radius:4px;background:var(--color-toast-success);transition:width .2s ease}.pwa-alert-details-checklist-list{display:flex;flex-direction:column;gap:10px;width:100%}.pwa-alert-checklist-edit-row{width:100%}.pwa-alert-checklist-edit-remove-btn{grid-column:3;justify-self:end}.pwa-alert-details-check-item{display:flex;align-items:flex-start;gap:10px;width:100%;cursor:pointer;color:var(--color-text-secondary)}.pwa-alert-details-checkbox{margin-top:3px;flex-shrink:0;width:18px;height:18px;accent-color:var(--color-toast-success);cursor:inherit}.pwa-alert-details-check-item-main{min-width:0;flex:1 1 auto}.pwa-alert-details-check-item-line{display:block;overflow-wrap:anywhere;word-break:break-word;font-size:14px;line-height:1.45}.pwa-alert-details-check-item--done .pwa-alert-details-check-item-line{text-decoration:line-through;color:var(--color-text-muted)}@media(max-width:640px){.pwa-alert-checklist-edit-row{grid-template-columns:24px minmax(0,1fr)!important}.pwa-alert-checklist-edit-remove-btn{grid-column:2;justify-self:start;margin-top:2px}}.pwa-alert-details-check-item-meta{display:block;margin-top:4px;font-size:11px;color:var(--color-text-secondary);overflow-wrap:anywhere;word-break:break-word}.pwa-alert-details-add-comment{margin-top:16px;padding:16px 0 0;border:none;border-top:1px solid var(--color-border-muted);background:transparent;border-radius:0}.pwa-alert-details-add-comment-label{display:block;margin-bottom:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.pwa-alert-details-comment-input{width:100%;padding:10px 12px;font-size:15px;line-height:1.45;border:1px solid var(--color-border-strong);border-radius:10px;box-sizing:border-box;font-family:inherit;background-color:var(--color-surface-muted);color:var(--color-text);resize:vertical;min-height:88px}.pwa-alert-details-comment-input::placeholder{color:var(--color-text-muted);opacity:1}.pwa-alert-details-add-comment-actions{margin-top:10px;display:flex;justify-content:flex-end}.pwa-alert-details-btn-outline{height:38px;padding:0 16px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;box-sizing:border-box;background:transparent;color:var(--color-text);border:1px solid var(--color-border-strong)}.pwa-alert-details-btn-outline:disabled{opacity:.55;cursor:not-allowed}.pwa-alert-details-btn-post{min-width:72px}.pwa-alert-details-attachments-block{margin-top:8px;margin-bottom:4px}.pwa-alert-details-attachments-title{margin-bottom:8px}.pwa-alert-details-footer{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-border-muted);display:flex;flex-direction:column;gap:10px}.pwa-alert-details-footer-po{align-self:flex-start}.pwa-alert-details-footer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.pwa-alert-details-footer--edit{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;border-top:none;padding-top:12px;margin-top:12px}.pwa-alert-details-footer-row--edit{margin-left:auto;justify-content:flex-end}.pwa-alert-details-edit-footer-wrap{display:flex;flex-direction:column;gap:4px}.pwa-form-modal-backdrop{position:fixed;inset:0;z-index:1000;background:var(--color-overlay-backdrop);display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;overscroll-behavior:none}.new-alert-modal{background-color:var(--color-surface);color:var(--color-text);border-radius:12px;max-width:500px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 8px 32px var(--color-shadow-modal)}.new-alert-modal-scroll{max-height:90vh;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--color-text-subtle) var(--color-border-muted)}.new-alert-modal-scroll::-webkit-scrollbar{width:10px}.new-alert-modal-scroll::-webkit-scrollbar-track{background:var(--color-border-muted);border-radius:999px}.new-alert-modal-scroll::-webkit-scrollbar-thumb{background:var(--color-text-subtle);border-radius:999px;border:2px solid var(--color-border-muted)}.pwa-new-alert-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--color-border)}.pwa-new-alert-modal-title{margin:0;font-weight:700;font-size:18px;color:var(--color-text)}.pwa-new-alert-close{flex-shrink:0;width:36px;height:36px;padding:0;border:none;border-radius:10px;background:transparent;color:var(--color-text-muted);line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.pwa-modal-close-svg{width:20px;height:20px;display:block;flex-shrink:0}.pwa-new-alert-close:hover{background-color:var(--color-surface-muted);color:var(--color-text)}.pwa-new-alert-close--on-dark{color:#ffffffd1}.pwa-new-alert-close--on-dark:hover{background-color:#ffffff24;color:#fff}.pwa-task-progress-slider-input{width:100%;min-height:44px;margin:0;touch-action:pan-x;accent-color:var(--color-primary);cursor:pointer}.pwa-task-progress-slider-note{display:grid;gap:6px}.pwa-task-progress-slider-note-input{width:100%;min-height:72px;padding:10px 12px;border-radius:10px;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);color:var(--color-text);font:inherit;font-size:14px;line-height:1.35;resize:vertical}.pwa-task-progress-slider-note-input:focus{outline:none;border-color:var(--color-primary)}.pwa-task-progress-slider-note-hint{font-size:12px;color:var(--color-text-muted)}.pwa-task-progress-slider-modal .pwa-alert-details-btn-post:disabled{opacity:.45;cursor:not-allowed}.pwa-new-alert-label{display:block;margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted)}.pwa-new-alert-form{padding:20px}.pwa-new-alert-attachments-trigger{width:100%;min-height:96px;padding:16px 14px;border:1px dashed var(--color-border-muted);border-radius:10px;background-color:var(--color-surface-muted);color:var(--color-primary);font-size:14px;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-sizing:border-box}.pwa-new-alert-attachments-trigger:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border-muted));background-color:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface-muted))}.pwa-new-alert-attachments-trigger:disabled{opacity:.55;cursor:not-allowed}.pwa-new-alert-attachments-trigger--drop-active:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border-muted));background-color:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface-muted))}.pwa-new-alert-attachments-trigger--composer{min-height:72px;margin-top:8px}.pwa-new-alert-attachments-tip{font-size:12px;font-weight:500;color:var(--color-text-muted)}.pwa-new-alert-attachments-chips{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:10px;box-sizing:border-box}.pwa-new-alert-attachments-chips--nested{margin-top:0}.pwa-new-alert-attachments-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;max-width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;background-color:var(--color-primary-tint-bg);font-size:13px;font-weight:600;color:var(--color-text)}.pwa-new-alert-attachments-chip-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-new-alert-attachments-chip-remove{flex-shrink:0;margin:0;padding:0 4px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:16px;line-height:1}.pwa-new-alert-attachments-chip-remove:disabled{cursor:not-allowed;opacity:.55}.pwa-new-alert-visibility-toggle{display:inline-flex;gap:0;padding:3px;border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-surface-muted)}.pwa-new-alert-visibility--form{padding:12px 14px;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface-muted);box-sizing:border-box}.pwa-alert-visibility-bar{margin:0 0 14px;padding:12px 14px;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface-muted);box-sizing:border-box}.pwa-alert-visibility-bar .pwa-new-alert-visibility--form,.pwa-alert-visibility-bar .pwa-new-alert-visibility{margin:0;padding:0;border:none;background:transparent}.pwa-expense-visibility-bar{margin:0 0 14px;padding:12px 14px;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface-muted);box-sizing:border-box}.pwa-expense-visibility-bar .pwa-new-alert-visibility--form,.pwa-expense-visibility-bar .pwa-new-alert-visibility{margin:0;padding:0;border:none;background:transparent}.pwa-new-alert-visibility-readonly-value{font-size:14px;font-weight:700;color:var(--color-text)}.pwa-new-alert-visibility-toggle--header{padding:2px;border-radius:8px}.pwa-alert-details-visibility-header{display:inline-flex;align-items:center;flex-shrink:0}.pwa-alert-details-chip--visibility{background:var(--color-surface-muted);color:var(--color-text-secondary);font-weight:700}.pwa-new-alert-visibility-option{border:none;background:transparent;color:var(--color-text-muted);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}.pwa-new-alert-visibility-toggle--header .pwa-new-alert-visibility-option{padding:6px 12px;font-size:12px}.pwa-new-alert-visibility-option--active{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 2px #0f172a14}.pwa-new-alert-visibility-option:disabled{cursor:not-allowed;opacity:.55}.pwa-new-alert-visibility-hint{margin-top:8px;font-size:12px;line-height:1.45;color:var(--color-text-muted)}.pwa-alert-details-visibility{margin-top:4px}.pwa-new-alert-footer{display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding-top:16px;border-top:1px solid var(--color-border-muted)}.pwa-new-alert-btn-cancel{padding:10px 20px;background-color:transparent;color:var(--color-text);border:1px solid var(--color-border-muted);border-radius:10px;cursor:pointer;font-weight:600;font-size:14px}.pwa-new-alert-btn-cancel:hover{background-color:var(--color-surface-muted)}.pwa-new-alert-btn-submit{padding:10px 20px;background-color:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px}.pwa-new-alert-btn-submit:disabled{background-color:var(--color-submit-disabled);cursor:not-allowed}.pwa-task-priority-segments{display:flex;flex-wrap:nowrap;gap:8px;width:100%}.pwa-task-priority-segment{flex:1 1 0;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 6px;border-radius:10px;border:1px solid var(--color-border-muted);background-color:var(--color-input-bg);color:var(--color-text);font-size:13px;font-weight:600;cursor:pointer;box-sizing:border-box;--pwa-priority-accent: var(--color-primary)}.pwa-task-priority-segment:hover:not(:disabled):not(.pwa-task-priority-segment--selected){border-color:color-mix(in srgb,var(--pwa-priority-accent) 35%,var(--color-border-muted))}.pwa-task-priority-segment--selected{border-width:2px;border-color:var(--pwa-priority-accent);padding:9px 5px;background-color:color-mix(in srgb,var(--pwa-priority-accent) 14%,var(--color-input-bg))}.pwa-task-priority-segment:disabled{opacity:.55;cursor:not-allowed}.pwa-task-priority-segment-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background-color:var(--pwa-priority-accent)}@media(max-width:420px){.pwa-task-priority-segments{flex-wrap:wrap}.pwa-task-priority-segment{flex:1 1 calc(50% - 4px);min-width:calc(50% - 4px)}}@media(min-width:768px){.pwa-container{width:min(100% - 16px,var(--container-lg))}.pwa-container.pwa-container--dashboard-wide,.pwa-container.pwa-container--jobs-wide,.pwa-container.pwa-container--calendar-wide{width:calc(100% - 28px)}.pwa-page-wrap{width:min(100%,var(--container-lg));padding:16px 10px}.pwa-page-wrap.pwa-page-wrap--jobs-wide,.pwa-page-wrap.pwa-page-wrap--jobs-agenda-wide{width:100%;max-width:none}.pwa-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pwa-tabbar{gap:10px}}@media(min-width:1024px){.pwa-container{width:min(100% - 24px,var(--container-xl))}.pwa-container.pwa-container--dashboard-wide,.pwa-container.pwa-container--jobs-wide,.pwa-container.pwa-container--calendar-wide{width:calc(100% - 40px)}.pwa-page-wrap{width:min(100%,var(--container-xl));padding:18px 12px}.pwa-page-wrap.pwa-page-wrap--jobs-wide,.pwa-page-wrap.pwa-page-wrap--jobs-agenda-wide{width:100%;max-width:none}.pwa-topbar{padding:14px 12px}.pwa-tabbar{padding:12px}.pwa-admin-users-layout{grid-template-columns:minmax(260px,.9fr) minmax(360px,1.1fr);align-items:start}.pwa-details-main-grid{grid-template-columns:minmax(0,1.45fr) minmax(240px,.95fr)}}@media(orientation:landscape)and (max-height:540px){.pwa-topbar{padding:8px}.pwa-page-wrap{padding:10px 8px}.pwa-alert-card{padding:10px;min-height:0}:root[data-ui-preview=true] .pwa-alert-card{min-height:0}}:root[data-ui-preview=true] .pwa-alerts-toolbar{background-color:transparent;border-color:transparent;border-radius:0;box-shadow:none;padding-left:0;padding-right:0}:root[data-ui-preview=true] .pwa-alerts-toolbar .pwa-list-toolbar-search-input{border-radius:10px;border:1px solid var(--color-border-muted);background-color:var(--color-input-bg);font-size:14px;font-weight:400;line-height:1.2;color:var(--color-text)}:root[data-ui-preview=true] .pwa-alerts-toolbar .pwa-list-toolbar-search-input::placeholder{color:var(--color-text-muted)}:root[data-ui-preview=true] .pwa-alerts-toolbar button[type=submit]{border-radius:6px;font-size:11px;font-weight:500;padding:6px 12px}:root[data-ui-preview=true] .pwa-alert-cards{gap:10px}:root[data-ui-preview=true] .pwa-alert-cards>.pwa-alert-card{flex-shrink:0;min-height:min-content}:root[data-ui-preview=true] .pwa-alert-card{min-height:0;padding:13px 15px;background-color:var(--color-surface);border:.5px solid var(--color-border);border-radius:var(--radius-card);border-left-width:3px;border-left-style:solid;border-left-color:var(--pwa-list-accent, var(--color-primary))}:root[data-ui-preview=true] .pwa-alert-card:hover{background-color:var(--color-surface-hover)}:root[data-ui-preview=true] .pwa-alert-card-id{font-size:var(--font-size-list-id);font-weight:700}:root[data-ui-preview=true] .pwa-alert-card:not(.pwa-task-card) .pwa-alert-card-id{color:var(--color-primary)}:root[data-ui-preview=true] .pwa-alert-card.pwa-task-card .pwa-alert-card-id{color:var(--color-text-subtle)}:root[data-ui-preview=true] .pwa-alert-card-type-line{font-size:var(--font-size-list-meta)!important;font-weight:500!important;color:var(--color-text-muted)!important}:root[data-ui-preview=true] .pwa-alert-card:not(.pwa-task-card) .pwa-alert-chip.pwa-alert-chip-status{padding:3px 9px!important;border-radius:4px!important;font-size:11px!important;font-weight:500!important;line-height:1.35!important;border:none!important;background-color:color-mix(in srgb,var(--pwa-status-accent, var(--color-primary)) 8%,transparent)!important;color:var(--pwa-status-accent, var(--color-primary))!important}:root[data-ui-preview=true] .pwa-alert-card:not(.pwa-task-card) .pwa-alert-chip.pwa-alert-chip-status.pwa-alert-chip-status--reported{background-color:var(--color-danger-bg)!important;color:var(--color-danger)!important}:root[data-ui-preview=true] .pwa-alert-card:not(.pwa-task-card) .pwa-alert-chip.pwa-alert-chip-status.pwa-alert-chip-status--sent-cnc{background-color:var(--color-success-bg)!important;color:var(--color-success)!important}:root[data-ui-preview=true] .pwa-alert-card.pwa-task-card .pwa-alert-chip.pwa-alert-chip-status:not(.pwa-task-card-chip--quiet){padding:3px 9px!important;border-radius:4px!important;font-size:11px!important;font-weight:500!important;line-height:1.35!important}:root[data-ui-preview=true] .pwa-alert-card.pwa-task-card .pwa-alert-chip.pwa-alert-chip-status.pwa-task-card-chip--quiet{padding:3px 9px!important;border-radius:4px!important;font-size:11px!important;font-weight:500!important;line-height:1.35!important;border:none!important}:root[data-ui-preview=true] .pwa-expense-list-card-title,:root[data-ui-preview=true] .pwa-alert-card:not(.pwa-task-card) .pwa-alert-card-jobline .pwa-alert-card-joblink,:root[data-ui-preview=true] .pwa-alert-card.pwa-task-card .pwa-task-card-title.pwa-alert-card-joblink{font-size:var(--font-size-list-title, 15px)!important;font-weight:700!important;color:var(--color-text)!important;line-height:1.25!important;text-decoration:none!important}:root[data-ui-preview=true] .pwa-alert-card.pwa-task-card .pwa-task-card-nested-job .pwa-alert-card-joblink{color:var(--color-primary)!important}:root[data-ui-preview=true] .pwa-alert-card:not(.pwa-task-card) .pwa-alert-card-jobline .pwa-alert-card-joblink{cursor:default!important}:root[data-ui-preview=true] .pwa-alert-card:not(.pwa-task-card) .pwa-alert-card-jobline .pwa-alert-card-joblink:hover{color:var(--color-text)!important}:root[data-ui-preview=true] .pwa-alert-card.pwa-task-card .pwa-task-card-title.pwa-alert-card-joblink:hover{color:var(--color-text-secondary)!important}:root[data-ui-preview=true] .pwa-alert-card.pwa-task-card .pwa-task-card-nested-job .pwa-alert-card-joblink:hover{color:var(--color-primary-hover)!important}:root[data-ui-preview=true] span.pwa-alert-details-job--static{color:var(--color-text-muted)!important}:root[data-ui-preview=true] button.pwa-alert-details-job{color:var(--color-link)!important;text-decoration:underline!important;text-underline-offset:2px!important;font-weight:600!important}:root[data-ui-preview=true] button.pwa-alert-details-job:hover{color:var(--color-primary-hover)!important}:root[data-ui-preview=true] .pwa-alert-card-preview{font-size:14px!important;line-height:1.5!important;color:var(--color-text-muted)!important;min-height:0!important}:root[data-ui-preview=true] .pwa-alert-card-preview .pwa-alert-card-preview-mention{color:var(--color-primary)!important}:root[data-ui-preview=true] .pwa-alert-card-meta-summary{font-size:var(--font-size-list-meta)}:root[data-ui-preview=true] .pwa-alert-card-meta-byline{font-size:var(--font-size-list-meta)}:root[data-ui-preview=true] .pwa-alert-favourite-btn{font-size:13px!important}:root[data-ui-preview=true] .pwa-alert-card--compact .pwa-alert-favourite-btn{font-size:12px!important}:root[data-ui-preview=true] .pwa-alert-card-meta{font-size:13px;color:var(--color-text-subtle)}:root[data-ui-preview=true] .pwa-mock-due{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;line-height:1.35}:root[data-ui-preview=true] .pwa-mock-due-dot{width:4px;height:4px;border-radius:50%;background-color:currentColor;flex-shrink:0}:root[data-ui-preview=true] .pwa-mock-due--overdue{color:var(--color-status-overdue-fg)}:root[data-ui-preview=true] .pwa-mock-due--soon{color:var(--color-warning)}:root[data-ui-preview=true] .pwa-mock-due--ok,:root[data-ui-preview=true] .pwa-mock-due--unknown{color:var(--color-text-muted)}.pwa-cal-admin-shell .pwa-jobs-tab{border-bottom-width:2px}.pwa-cal-admin-shell .pwa-jobs-tab--active{color:var(--color-primary);border-bottom:2px solid var(--color-primary)}.pwa-role-summary-pills{display:flex;flex-wrap:wrap;gap:0 10px;align-items:flex-end;border-bottom:1px solid var(--color-border-muted);margin-bottom:14px}.pwa-role-summary-pill{margin:0 0 -1px;padding:8px 6px 10px;border:none;border-radius:0;border-bottom:2px solid transparent;background:none;color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;text-transform:capitalize;box-sizing:border-box}.pwa-role-summary-pill:hover{color:var(--color-text-secondary)}.pwa-role-summary-pill--active{color:var(--color-primary);font-weight:700;border-bottom-color:var(--color-primary);background:none}.pwa-role-summary-page-note{margin:0 0 12px;font-size:10px;line-height:1.45;color:var(--color-text-faint)}.pwa-role-summary-stat-card{border:1px solid var(--color-border-strong);border-radius:12px;background-color:var(--color-surface-muted);padding:14px 16px}.pwa-role-summary-stat-card-title{font-size:15px;font-weight:700;color:var(--color-text);text-transform:capitalize;margin-bottom:12px}.pwa-role-summary-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px 12px}@media(max-width:720px){.pwa-role-summary-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pwa-role-summary-stat-cell{display:flex;flex-direction:column;gap:4px;min-width:0}.pwa-role-summary-stat-label{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:none;letter-spacing:.02em}.pwa-role-summary-stat-value{font-size:16px;font-weight:700;color:var(--color-text)}.pwa-role-summary-stat-value--accent{color:var(--color-primary)}.pwa-role-summary-stat-value--success{color:var(--color-success-text)}.pwa-role-summary-stat-value--zero{color:var(--color-text-faint)}.pwa-role-summary-staff-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--color-border-strong);border-radius:12px;background-color:var(--color-surface);box-shadow:var(--panel-shadow)}button.pwa-role-summary-staff-card{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}button.pwa-role-summary-staff-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pwa-role-summary-staff-card--on{border-left:3px solid var(--color-success)}.pwa-role-summary-staff-avatar{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.pwa-role-summary-staff-main{flex:1;min-width:0}.pwa-role-summary-staff-name{font-size:14px;font-weight:700;color:var(--color-text);line-height:1.3}.pwa-role-summary-staff-username{margin-top:2px;font-size:10px;font-weight:500;color:var(--color-text-faint);line-height:1.3}.pwa-role-summary-staff-hours{margin-top:4px;font-size:12px;color:var(--color-text-secondary)}.pwa-role-summary-staff-meta{margin-top:3px;font-size:11px;color:var(--color-text-muted)}.pwa-role-summary-staff-aside{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;text-align:right}.pwa-role-summary-status-pill{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.35}.pwa-role-summary-status-pill--on{background-color:var(--color-activity-completed-bg);color:var(--color-success-text)}.pwa-role-summary-status-off{display:block;margin:0;padding:0;background:none;border:none;font-size:10px;font-weight:500;color:var(--color-text-faint);line-height:1.3}.pwa-role-summary-account-muted{font-size:11px;color:var(--color-text-muted)}.pwa-cal-page-split{width:100%}.pwa-cal-page-split--refreshing{opacity:.92;transition:opacity .2s ease-out}.pwa-cal-nav-updating{font-size:12px;font-weight:600;color:var(--color-text-secondary);letter-spacing:.02em;padding:0 4px;flex-shrink:0}.pwa-cal-view-scope-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--color-border-muted);background-color:var(--color-surface-muted);font-size:12px;color:var(--color-text-secondary)}.pwa-cal-view-scope-banner strong{color:var(--color-text);font-weight:700}.pwa-cal-view-scope-clear{flex-shrink:0;border:none;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:700;cursor:pointer;background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border-strong)}.pwa-cal-left-card,.pwa-cal-right-card{border:1px solid var(--color-border-strong);border-radius:12px;background-color:var(--color-surface);padding:12px 14px;box-shadow:var(--panel-shadow);min-width:0}.pwa-cal-nav-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.pwa-cal-nav-row--stack{flex-direction:column;align-items:stretch}.pwa-cal-nav-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.pwa-cal-nav-btn{height:34px;padding:0 12px;border:1px solid var(--color-border-muted);border-radius:8px;background-color:var(--color-surface-muted);color:var(--color-text);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.pwa-cal-nav-btn--today{background-color:var(--color-primary);color:var(--color-on-primary);border-color:transparent}.pwa-cal-nav-date{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:0;cursor:pointer}.pwa-cal-nav-date-text{font-size:15px;font-weight:700;color:var(--color-text);letter-spacing:-.02em;padding:4px 8px;border-radius:8px}.pwa-cal-nav-date:hover .pwa-cal-nav-date-text{background-color:var(--color-surface-hover)}.pwa-cal-nav-date-input{position:absolute;opacity:0;width:100%;height:100%;left:0;top:0;cursor:pointer;margin:0}.pwa-cal-month-panel{border-radius:10px;background-color:var(--color-surface-muted);border:1px solid var(--color-border-muted);padding:10px 10px 12px;margin-bottom:14px}.pwa-cal-month-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}.pwa-cal-month-weekday{font-size:11px;font-weight:600;color:var(--color-text-muted);text-align:center;text-transform:none}.pwa-cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.pwa-cal-month-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;min-height:32px;padding:4px 2px 3px;border:none;border-radius:8px;background:transparent;cursor:pointer;font-family:inherit;color:var(--color-text)}.pwa-cal-month-cell:hover{background-color:color-mix(in srgb,var(--color-primary) 10%,transparent)}.pwa-cal-month-cell--muted{color:var(--color-text-subtle);opacity:.72}.pwa-cal-month-cell--selected{background-color:color-mix(in srgb,var(--color-primary) 22%,transparent);color:var(--color-primary);font-weight:700}.pwa-cal-month-cell--today:not(.pwa-cal-month-cell--selected){outline:1px solid color-mix(in srgb,var(--color-primary) 45%,transparent)}.pwa-cal-month-cell-num{font-size:14px;font-weight:600;line-height:1.1}.pwa-cal-month-dot{width:6px;height:6px;border-radius:50%;background-color:var(--color-primary);flex-shrink:0}.pwa-cal-month-dot-spacer{width:6px;height:6px;flex-shrink:0}.pwa-cal-timesheet-head{margin-bottom:6px}.pwa-cal-timesheet-title{font-size:13px;font-weight:700;color:var(--color-text-secondary)}.pwa-cal-timesheet-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.pwa-cal-timesheet-edit-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-secondary);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;touch-action:manipulation}.pwa-cal-timesheet-edit-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.pwa-cal-timesheet-empty{min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px 14px;border:2px dashed var(--color-border-muted);border-radius:10px;color:var(--color-text-muted);font-size:14px;background-color:color-mix(in srgb,var(--color-surface-muted) 55%,transparent)}.pwa-cal-timesheet-entry-note{margin:6px 0 0;padding:8px 10px;border-radius:8px;border-left:3px solid var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));font-size:12px;line-height:1.4;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word}.pwa-cal-recent-heading{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:10px}.pwa-cal-recent-list{display:flex;flex-direction:column;gap:8px;max-height:min(65vh,720px);overflow-y:auto}.pwa-cal-recent-empty{padding:12px;border:1px dashed var(--color-border-muted);border-radius:8px;color:var(--color-text-muted);font-size:13px;text-align:center}.pwa-cal-recent-card{border:1px solid var(--color-border-muted);border-radius:10px;padding:10px 12px;background-color:var(--color-surface-muted)}.pwa-cal-recent-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 18%,transparent)}.pwa-cal-recent-title{font-size:14px;font-weight:700;color:var(--color-text);line-height:1.3;word-break:break-word}button.pwa-cal-recent-title-link{font-size:14px;font-weight:700;color:var(--color-text);text-align:left;width:100%}button.pwa-cal-recent-title-link:hover{color:var(--color-primary)}.pwa-cal-recent-meta{margin-top:4px;font-size:12px;line-height:1.35;color:var(--color-text-muted)}.pwa-cal-recent-actions{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.pwa-cal-recent-action{height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.pwa-cal-recent-action:disabled{opacity:.55;cursor:not-allowed}.pwa-active-clock-banner{margin:0;min-height:36px;padding:8px 14px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-radius:0;border:none;border-bottom:1px solid color-mix(in srgb,var(--color-toast-success) 28%,var(--color-border-muted));border-left:3px solid var(--color-toast-success, var(--color-success));background:color-mix(in srgb,var(--color-toast-success) 9%,var(--color-page-alt));color:var(--color-success-text);box-sizing:border-box}.pwa-active-clock-banner--shell{width:100%;flex-shrink:0}.pwa-active-clock-banner-main{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;font-size:12px;line-height:1.35;overflow:visible}.pwa-active-clock-running{white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:6px}.pwa-active-clock-running:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--color-toast-success, var(--color-success));flex-shrink:0;animation:pwa-clock-pulse 2s ease-in-out infinite}@keyframes pwa-clock-pulse{0%,to{opacity:1}50%{opacity:.45}}.pwa-active-clock-running strong{font-weight:700;color:var(--color-success-text)}.pwa-active-clock-sep{opacity:.55;flex-shrink:0;padding:0 1px}.pwa-active-clock-meta{flex:1 1 220px;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;overflow:visible;color:var(--color-text-secondary);font-size:12px;line-height:1.35}.pwa-active-clock-meta>*{min-width:0}.pwa-active-clock-job{margin:0;padding:0;border:none;background:none;font:inherit;font-size:inherit;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:left;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.pwa-active-clock-remaining--over{color:var(--color-error-text);font-weight:700}.pwa-active-clock-off{flex-shrink:0;margin:0;border:1px solid var(--color-danger-hover);background:var(--color-danger-hover);color:var(--color-on-primary);border-radius:6px;font-size:11px;font-weight:700;padding:3px 10px;cursor:pointer;font-family:inherit;line-height:1.2}.pwa-active-clock-off:disabled{opacity:.55;cursor:not-allowed}@media(max-width:520px){.pwa-active-clock-banner{flex-direction:column;align-items:stretch}.pwa-active-clock-banner-main{flex:none;flex-direction:column;align-items:stretch;width:100%;gap:8px}.pwa-active-clock-banner-main>.pwa-active-clock-sep:nth-child(2){display:none}.pwa-active-clock-meta{flex:none;width:100%}.pwa-active-clock-off{align-self:stretch;width:100%;box-sizing:border-box;padding:8px 12px;min-height:40px;font-size:12px}}.pwa-expense-kpi-row{display:grid;gap:10px;margin-bottom:14px}.pwa-expense-kpi-row--staff{grid-template-columns:repeat(3,minmax(0,1fr))}.pwa-expense-kpi-row--admin{grid-template-columns:repeat(5,minmax(0,1fr))}.pwa-expense-kpi-card{border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-surface);padding:12px 14px;min-width:0}.pwa-expense-kpi-value{font-size:clamp(18px,2.2vw,24px);font-weight:800;line-height:1.1;color:var(--color-text)}.pwa-expense-kpi-value--danger{color:var(--color-danger)}.pwa-expense-kpi-value--success{color:var(--color-success-text)}.pwa-expense-kpi-value--info{color:var(--color-primary)}.pwa-expense-kpi-label{margin-top:6px;font-size:11px;font-weight:700;color:var(--color-text-muted)}.pwa-expense-kpi-sub{margin-top:2px;font-size:11px;color:var(--color-text-faint)}.pwa-expense-kpi-strip{display:none}.pwa-expense-kpi-pill{flex-shrink:0;display:flex;flex-direction:column;gap:1px;box-sizing:border-box}.pwa-expense-kpi-pill-value{font-size:22px;font-weight:700;line-height:1.1;color:var(--color-text)}.pwa-expense-kpi-pill-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);line-height:1.2}.pwa-expense-kpi-pill--danger .pwa-expense-kpi-pill-value{color:var(--color-danger)}.pwa-expense-kpi-pill--success .pwa-expense-kpi-pill-value{color:var(--color-success-text)}.pwa-expense-kpi-pill--info .pwa-expense-kpi-pill-value{color:var(--color-primary)}.pwa-expense-toolbar .pwa-list-toolbar-filter-btn{display:none}.pwa-expense-toolbar-filters-desktop{display:contents}.pwa-expense-toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.pwa-expense-toolbar-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pwa-expense-search-wrap{position:relative;flex:1 1 220px;min-width:0}.pwa-expense-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-faint);pointer-events:none;display:inline-flex}.pwa-expense-search-input{width:100%;box-sizing:border-box;border:1px solid var(--color-border-muted);border-radius:10px;padding:9px 12px 9px 36px;font-size:13px;font-family:inherit;background:var(--color-surface);color:var(--color-text)}.pwa-expense-search-input:focus{outline:none;border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border-muted))}.pwa-expense-filter-select--staff,.pwa-expense-filter-select--status{flex:0 1 160px;min-width:130px}.pwa-expense-more-filters-btn,.pwa-expense-new-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap}.pwa-expense-more-filters-btn{border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text)}.pwa-expense-more-filters-btn--open,.pwa-expense-more-filters-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border-muted))}.pwa-expense-new-btn{border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.pwa-expense-new-btn:hover{border-color:color-mix(in srgb,var(--color-primary) 82%,black);background:color-mix(in srgb,var(--color-primary) 88%,black)}.pwa-expense-new-btn .pwa-action-icon-svg{width:14px;height:14px}.pwa-expense-more-filters-panel{display:inline-flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:6px 10px;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface-muted);width:fit-content;max-width:100%}.pwa-expense-more-filter-field{display:inline-flex;flex-direction:row;align-items:center;gap:6px;min-width:0;font-size:11px;font-weight:700;color:var(--color-text-muted);white-space:nowrap}.pwa-expense-more-filters-panel .pwa-expense-filter-select{flex:0 0 auto;width:118px;min-width:0;padding:5px 8px;font-size:12px;border-radius:8px}.pwa-expense-more-filter-check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text);white-space:nowrap}.pwa-expense-active-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pwa-expense-active-filters-label{font-size:12px;color:var(--color-text-muted)}.pwa-expense-filter-chip{border:1px solid color-mix(in srgb,var(--color-primary) 35%,var(--color-border-muted));border-radius:999px;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));color:var(--color-primary);padding:4px 10px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.pwa-expense-filter-clear{border:none;background:transparent;color:var(--color-primary);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;padding:0}.pwa-expense-list-card-main{display:flex;align-items:flex-start;gap:10px;min-width:0}.pwa-expense-list-avatar{flex:0 0 auto;width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface-muted));color:var(--color-primary);font-size:11px;font-weight:800;letter-spacing:.03em}.pwa-expense-list-card-content{flex:1 1 auto;min-width:0}.pwa-expense-list-card-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.pwa-expense-detail-hero-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.pwa-expense-detail-hero-title{font-size:clamp(20px,3vw,28px);font-weight:800;line-height:1.15;color:var(--color-text)}.pwa-expense-detail-hero-meta{margin-top:6px;font-size:12px;color:var(--color-text-muted)}.pwa-expense-detail-hero-side{text-align:right;flex-shrink:0}.pwa-expense-detail-hero-amount-label{margin-top:4px;font-size:11px;color:var(--color-text-muted)}.pwa-expense-detail-alert{display:flex;align-items:flex-start;gap:10px;border-radius:10px;padding:12px 14px;margin:12px 0}.pwa-expense-detail-alert--danger{background:color-mix(in srgb,var(--color-danger) 10%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-danger) 28%,var(--color-border-muted));color:var(--color-danger)}.pwa-expense-detail-alert-title{font-size:13px;font-weight:700}.pwa-expense-detail-alert-sub{margin-top:2px;font-size:12px}.pwa-expense-detail-alert-icon{display:inline-flex;margin-top:1px}.pwa-expense-detail-status-note{display:flex;align-items:flex-start;gap:10px;border-radius:10px;padding:12px 14px;margin:12px 0;background:var(--color-surface-muted);border:1px solid var(--color-border-muted);color:var(--color-text-secondary);font-size:13px;line-height:1.45}.pwa-expense-detail-status-note-icon{width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-border-muted);color:var(--color-text-muted);font-size:11px;font-weight:800;flex-shrink:0}.pwa-expense-detail-status-note--action{background:color-mix(in srgb,var(--color-warning, #f59e0b) 12%,var(--color-surface-muted));border-color:color-mix(in srgb,var(--color-warning, #f59e0b) 35%,var(--color-border-muted));color:var(--color-text)}.pwa-expense-detail-status-note--action .pwa-expense-detail-status-note-icon{background:color-mix(in srgb,var(--color-warning, #f59e0b) 22%,var(--color-surface-muted));color:var(--color-warning-text, #92400e)}.pwa-expense-detail-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 16px}.pwa-expense-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:700;font-family:inherit;cursor:pointer}.pwa-expense-action-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border-strong))}.pwa-expense-action-btn:disabled{opacity:.55;cursor:not-allowed}.pwa-expense-action-btn--approve{border-color:color-mix(in srgb,var(--color-toast-success) 55%,var(--color-border-strong));color:var(--color-success-text)}.pwa-expense-action-btn--reject{border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border-strong));color:var(--color-danger)}.pwa-expense-action-btn--xero-on{border-color:color-mix(in srgb,#13b5ea 55%,var(--color-border-strong));background:color-mix(in srgb,#13b5ea 14%,var(--color-surface));color:#0c8eb8}[data-theme=dark] .pwa-expense-action-btn--xero-on{color:#7dd3fc}.pwa-expense-action-btn .pwa-action-icon-svg{width:16px;height:16px}.pwa-expense-detail-hero-payment-meta{margin-top:6px;font-size:12px;font-weight:600;color:var(--color-text-muted);line-height:1.35}.pwa-expense-payment-panel,.pwa-expense-xero-panel{margin:0 0 16px;padding:12px;border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface-muted)}.pwa-expense-xero-panel-title{font-size:13px;font-weight:800;margin-bottom:4px}.pwa-expense-xero-panel-hint{margin:0 0 10px;font-size:12px;line-height:1.35;color:var(--color-text-muted)}.pwa-expense-xero-panel .pwa-expense-detail-actions{margin-bottom:0}.pwa-expense-payment-panel-title{font-size:13px;font-weight:800;margin-bottom:6px}.pwa-expense-payment-panel-summary{font-size:12px;color:var(--color-text-muted);margin-bottom:10px}.pwa-expense-payment-panel-row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.pwa-expense-payment-label{font-size:12px;font-weight:700;color:var(--color-text-muted)}.pwa-expense-payment-input{width:100%;max-width:220px;min-height:44px;padding:8px 12px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-text);font-size:15px;font-family:inherit}.pwa-expense-payment-panel .pwa-expense-detail-actions{margin:0;grid-template-columns:repeat(2,minmax(0,1fr))}.pwa-expense-payment-history{margin:0 0 18px}.pwa-expense-payment-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.pwa-expense-payment-history-item{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 12px;align-items:center;padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface)}.pwa-expense-payment-history-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;grid-column:1;grid-row:1}.pwa-expense-payment-history-amount{font-size:15px;font-weight:800;color:var(--color-text)}.pwa-expense-payment-history-date{font-size:12px;font-weight:600;color:var(--color-text-muted)}.pwa-expense-payment-history-meta{grid-column:1;grid-row:2;font-size:11px;color:var(--color-text-muted)}.pwa-expense-payment-history-undo{grid-column:2;grid-row:1 / span 2;align-self:center;min-height:36px;padding:6px 12px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface-muted);color:var(--color-text);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer}.pwa-expense-payment-history-undo:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border-strong));color:var(--color-danger)}.pwa-expense-payment-history-undo:disabled{opacity:.55;cursor:not-allowed}@media(max-width:900px){.pwa-expense-kpi-row{display:none}.pwa-expense-kpi-strip{display:flex;gap:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding:8px 10px;margin:0 -8px 10px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;background:var(--color-surface);border-bottom:1px solid var(--color-border-muted)}.pwa-expense-kpi-strip::-webkit-scrollbar{display:none;width:0;height:0}.pwa-expense-kpi-pill{flex:0 0 138px;min-width:138px;width:138px;max-width:138px;padding:8px 12px;scroll-snap-align:start}.pwa-expense-detail-actions{grid-template-columns:1fr}}@media(max-width:640px){.pwa-expense-toolbar-row{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px}.pwa-expense-search-wrap{flex:1 1 auto;min-width:0}.pwa-expense-toolbar .pwa-list-toolbar-filter-btn{display:inline-flex;position:relative}.pwa-expense-mobile-filter-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:999px;background:var(--color-primary);color:var(--color-on-primary);font-size:10px;font-weight:800;line-height:16px;text-align:center;padding:0 4px;box-sizing:border-box}.pwa-expense-toolbar-filters-desktop{display:none}.pwa-expense-list-card{padding:10px 14px}.pwa-expense-list-card-sub{display:none}.pwa-expense-list-card-badges{margin-top:4px}}.pwa-expense-filter-sheet-backdrop{position:fixed;inset:0;background:var(--color-fab-scrim, rgba(0, 0, 0, .45));z-index:99}.pwa-expense-filter-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--color-background-primary, var(--color-surface));border-radius:16px 16px 0 0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:100;box-sizing:border-box;height:auto;max-height:min(85dvh,calc(100dvh - 24px));overflow-y:auto}.pwa-expense-filter-sheet--anchored{bottom:auto;right:auto;border-radius:12px;padding-bottom:16px;border:1px solid var(--color-border-muted);box-shadow:0 14px 30px var(--color-shadow-modal)}.pwa-expense-filter-sheet-handle{display:none;width:36px;height:4px;border-radius:999px;background:var(--color-border-muted);margin:0 auto 14px}.pwa-expense-filter-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.pwa-expense-filter-sheet-title{margin:0;font-size:16px;font-weight:800;color:var(--color-text)}.pwa-expense-filter-sheet-clear{border:none;background:transparent;color:var(--color-primary);font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;padding:0}.pwa-expense-filter-sheet-body{display:grid;gap:8px}.pwa-expense-filter-sheet-field{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:700;color:var(--color-text-muted)}.pwa-expense-filter-sheet-field .pwa-expense-filter-select{display:block;width:100%;box-sizing:border-box;flex:0 0 auto;align-self:stretch;height:auto;min-height:0;max-height:none;padding:5px 26px 5px 8px;margin:0;font-size:12px;font-weight:600;line-height:1.25;border:1px solid var(--color-border-muted);border-radius:8px;background-color:var(--color-surface);color:var(--color-text);appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;background-size:11px 11px}.pwa-expense-filter-sheet-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text);min-height:0}.pwa-expense-filter-sheet-done{width:100%;margin-top:16px;border:1px solid var(--color-primary);border-radius:10px;background:var(--color-primary);color:var(--color-on-primary);padding:11px 14px;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer}@media(max-width:899px){.pwa-expense-page--mobile-detail{padding-bottom:var(--pwa-mobile-tabbar-offset, calc(env(safe-area-inset-bottom, 0px) + 72px) )}.pwa-expense-page--mobile-detail .pwa-expense-detail-pane{border:none;border-radius:0;background:transparent;align-self:stretch}.pwa-expense-page--mobile-detail .pwa-expense-detail-pane-scroll{padding-top:0;padding-bottom:12px}}.pwa-expense-page--split-wide{display:flex;flex-direction:column;box-sizing:border-box}.pwa-expense-page--split-wide>.pwa-expense-split{flex:1 1 auto;min-height:0;height:calc(100dvh - 26rem);max-height:calc(100dvh - 26rem);box-sizing:border-box}.pwa-expense-list-pane{display:flex;flex-direction:column;gap:12px;min-width:0;padding:0;border:none;border-radius:0;background:transparent}.pwa-expense-page--split-wide .pwa-expense-list-pane{min-height:0;overflow:hidden}.pwa-expense-list-scroll{min-height:0}.pwa-expense-page--split-wide .pwa-expense-list-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:min(88px,14vh)}.pwa-expense-page--split-wide .pwa-expense-list-scroll::-webkit-scrollbar{display:none;width:0;height:0}.pwa-expense-page--split-wide .pwa-expense-card-stack>.pwa-expense-list-card{flex-shrink:0}.pwa-expense-filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pwa-expense-filter-select{flex:1 1 140px;min-width:0;border:1px solid var(--color-border-muted);border-radius:10px;padding:8px 10px;font-size:13px;font-weight:600;background-color:var(--color-surface);color:var(--color-text);font-family:inherit}[data-theme=dark] .pwa-expense-filter-select{color-scheme:dark}[data-theme=light] .pwa-expense-filter-select{color-scheme:light}.pwa-expense-filter-select option{background-color:var(--color-surface);color:var(--color-text)}.pwa-expense-filter-sheet .pwa-expense-filter-select{flex:0 0 auto;height:auto;min-height:0;max-height:none}.pwa-expense-list-summary{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.pwa-expense-list-summary strong{color:var(--color-text);font-weight:700}.pwa-expense-sort-select{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--color-text-muted);background-color:var(--color-surface);border:1px solid var(--color-border-muted);border-radius:6px;padding:2px 6px;cursor:pointer;font-family:inherit;outline:none}.pwa-expense-sort-select:hover,.pwa-expense-sort-select:focus{color:var(--color-text);border-color:var(--color-border-hover, var(--color-border-muted))}[data-theme=dark] .pwa-expense-sort-select{color-scheme:dark}[data-theme=light] .pwa-expense-sort-select{color-scheme:light}.pwa-expense-sort-select option{background-color:var(--color-surface);color:var(--color-text)}.pwa-expense-list-loading,.pwa-expense-list-empty{font-size:13px;color:var(--color-text-muted)}.pwa-expense-card-stack{display:flex;flex-direction:column;gap:8px}.pwa-expense-list-card{text-align:left;border:1px solid var(--color-border-muted);border-left-width:3px;border-left-color:var(--pwa-expense-list-accent, var(--color-border-strong));border-radius:10px;background:var(--color-surface);padding:10px 12px;cursor:pointer;font-family:inherit;color:inherit;box-shadow:none;transition:border-color .12s ease,background .12s ease}.pwa-expense-list-card:hover{border-top-color:color-mix(in srgb,var(--color-primary) 22%,var(--color-border-muted));border-right-color:color-mix(in srgb,var(--color-primary) 22%,var(--color-border-muted));border-bottom-color:color-mix(in srgb,var(--color-primary) 22%,var(--color-border-muted));border-left-color:var(--pwa-expense-list-accent, var(--color-border-strong))}.pwa-expense-list-card--selected{border-color:var(--color-border-muted);border-left-color:var(--color-primary);background:color-mix(in srgb,var(--color-assign-panel-bg) 55%,var(--color-surface));box-shadow:none}.pwa-expense-list-card--selected:hover{border-left-color:var(--color-primary)}.pwa-expense-list-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.pwa-expense-list-card-id{font-size:12px;font-weight:500;line-height:1.35;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pwa-expense-list-card-amount-col{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.pwa-expense-list-card-amount{font-size:14px;font-weight:700;color:var(--color-text);line-height:1.2}.pwa-expense-list-card-remaining{font-size:11px;font-weight:600;line-height:1.2;color:var(--color-text-muted);white-space:nowrap}.pwa-expense-list-card-sub{font-size:12px;font-weight:500;line-height:1.35;color:var(--color-text-muted);margin:2px 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0}.pwa-expense-list-card-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}.pwa-expense-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;border-radius:4px;padding:3px 9px;line-height:1.35;min-height:0;box-sizing:border-box;border:none}.pwa-expense-pill-dot{width:6px;height:6px;border-radius:999px;flex-shrink:0}.pwa-expense-pill--status{background:var(--color-primary-bg);color:var(--color-primary)}.pwa-expense-detail-status-wrap{display:inline-flex;flex-shrink:0;max-width:100%}.pwa-expense-pill--status-select{max-width:min(100%,220px);cursor:pointer;appearance:none;-webkit-appearance:none;padding:3px 26px 3px 9px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23818cf8' d='M2 4h8L6 9z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;background-size:10px 10px}[data-theme=dark] .pwa-expense-pill--status-select{color-scheme:dark}[data-theme=light] .pwa-expense-pill--status-select{color-scheme:light}.pwa-expense-pill--status-select option{background-color:var(--color-surface);color:var(--color-text)}.pwa-expense-pill--status-select:disabled{cursor:wait;opacity:.65}.pwa-expense-pill--status-select:focus{outline:2px solid var(--color-primary);outline-offset:2px}.pwa-expense-pill--payby{background:var(--color-success-bg);color:var(--color-success)}.pwa-expense-pill--payby-warn{background:var(--color-warning-bg);color:var(--color-warning)}.pwa-expense-pill--payby-danger{background:var(--color-danger-bg);color:var(--color-danger)}.pwa-expense-pill--payby-muted{background:color-mix(in srgb,var(--color-text-muted) 10%,transparent);color:var(--color-text-muted)}.pwa-expense-pill--priority-critical,.pwa-expense-pill--priority-high{background:var(--color-danger-bg);color:var(--color-danger)}.pwa-expense-pill--priority-medium{background:var(--color-warning-bg);color:var(--color-warning)}.pwa-expense-pill--priority-low{background:color-mix(in srgb,var(--color-text-secondary) 10%,transparent);color:var(--color-text-secondary)}.pwa-expense-pill--xero{background:color-mix(in srgb,#13b5ea 22%,var(--color-surface));color:#0c8eb8;border:1px solid color-mix(in srgb,#13b5ea 45%,transparent)}[data-theme=dark] .pwa-expense-pill--xero{color:#7dd3fc;border-color:color-mix(in srgb,#13b5ea 55%,transparent)}.pwa-expense-detail-pane{border:1px solid var(--color-border-muted);border-radius:12px;padding:0;background:var(--color-surface);min-width:0;display:flex;flex-direction:column;overflow:visible;align-self:start}.pwa-expense-detail-pane:has(.pwa-expense-detail-empty){border:none;border-radius:0;background:transparent;align-self:stretch;min-height:0}.pwa-expense-page--split-wide .pwa-expense-detail-pane{align-self:stretch;min-height:0;margin-left:4px;padding-left:24px}.pwa-expense-page--split-wide .pwa-expense-detail-pane:has(.pwa-expense-detail-empty){border-left:1px solid var(--color-border-muted)}.pwa-expense-page--split-wide .pwa-expense-detail-pane:not(:has(.pwa-expense-detail-empty)){overflow:hidden}.pwa-expense-detail-pane-scroll{flex:0 0 auto;overflow:visible;padding:16px 18px 18px}.pwa-expense-detail-pane-scroll:has(.pwa-expense-detail-empty){flex:1 1 auto;min-height:0;display:flex;flex-direction:column;padding:16px 16px 18px}.pwa-expense-page--split-wide .pwa-expense-detail-pane:not(:has(.pwa-expense-detail-empty)) .pwa-expense-detail-pane-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.pwa-expense-detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--color-text-muted);font-size:15px;font-weight:500;line-height:1.45;padding:32px 16px;min-height:0;box-sizing:border-box}.pwa-expense-detail-empty p{margin:0;max-width:280px}.pwa-expense-detail-empty-icon{width:52px;height:52px;border-radius:50%;background-color:var(--color-surface-muted);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px;flex-shrink:0}.pwa-expense-detail-empty-icon svg{display:block}.pwa-expense-detail-toolbar{margin-bottom:12px}.pwa-expense-detail-toolbar .pwa-alert-details-header-row1{align-items:center}.pwa-expense-detail-crumb{font-size:13px;font-weight:700;color:var(--color-text);line-height:1.35;min-width:0}.pwa-expense-detail-toolbar .pwa-alert-details-header-actions{flex-wrap:wrap;justify-content:flex-end}.pwa-expense-toolbar-ghost{height:auto;min-height:0;padding:5px 12px;border-radius:6px;border:.5px solid var(--color-border-hover);background:none;color:var(--color-text-muted);font-size:11px;font-weight:600}.pwa-expense-toolbar-ghost:hover:not(:disabled){border-color:var(--color-border-strong);color:var(--color-text-secondary)}.pwa-expense-toolbar-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border-radius:8px;border:.5px solid var(--color-border-hover);background:none;color:var(--color-text-muted);cursor:pointer;font-family:inherit;box-sizing:border-box}.pwa-expense-toolbar-icon-btn:hover:not(:disabled){border-color:var(--color-border-strong);color:var(--color-text-secondary)}.pwa-expense-toolbar-icon-btn:disabled{opacity:.55;cursor:not-allowed}.pwa-expense-toolbar-icon-btn--danger:hover:not(:disabled){color:var(--color-danger);border-color:var(--color-danger)}.pwa-expense-btn-outline{height:34px;padding:0 14px;border-radius:8px;border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}.pwa-expense-btn-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.pwa-expense-btn-outline:disabled{opacity:.55;cursor:not-allowed}.pwa-expense-btn-outline--primary{border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border-strong));color:var(--color-primary)}.pwa-expense-btn-outline--approve{border-color:color-mix(in srgb,var(--color-toast-success) 55%,var(--color-border-strong));color:var(--color-success-text)}.pwa-expense-detail-hero-amount{font-size:clamp(22px,4vw,32px);font-weight:800;letter-spacing:-.02em;color:var(--color-text);line-height:1.1;margin-bottom:10px}.pwa-expense-detail-hero-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.pwa-expense-request-panel{margin-top:4px;margin-bottom:8px}.pwa-expense-request-panel--simple{margin-top:8px}.pwa-expense-detail-section-title{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:12px}.pwa-expense-detail-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px}@media(max-width:640px){.pwa-expense-detail-meta-grid{grid-template-columns:1fr;gap:12px}}.pwa-expense-detail-meta-col{display:flex;flex-direction:column;gap:12px;min-width:0}.pwa-expense-detail-field{display:flex;flex-direction:column;gap:4px;min-width:0}.pwa-expense-detail-label{font-size:10px;font-weight:400;color:var(--color-text-faint);letter-spacing:normal}.pwa-expense-detail-value{font-size:12px;font-weight:500;color:var(--color-text);line-height:1.4;word-break:break-word}.pwa-expense-payby-value{color:var(--color-success-text);font-weight:700}.pwa-expense-situation-blocks{margin-top:18px;display:flex;flex-direction:column;gap:14px}.pwa-expense-situation-item{display:flex;flex-direction:column;gap:8px;min-width:0}.pwa-expense-situation-label{font-size:10px;font-weight:600;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.07em;line-height:1.3;flex-shrink:0}.pwa-expense-situation-card{border-radius:8px;padding:12px 14px 14px;background:var(--color-surface);border:.5px solid var(--color-border);font-size:13px;line-height:1.55;color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.pwa-expense-request-edit-rows{display:flex;flex-direction:column;gap:10px;min-width:0}.pwa-expense-request-edit-row{display:grid;gap:10px 12px;align-items:start;min-width:0}.pwa-expense-request-edit-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.pwa-expense-request-edit-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.pwa-expense-request-edit-row--1{grid-template-columns:minmax(0,1fr)}@media(max-width:640px){.pwa-expense-request-edit-row--3,.pwa-expense-request-edit-row--2{grid-template-columns:minmax(0,1fr)}}.pwa-expense-request-edit-cell{display:flex;flex-direction:column;gap:6px;min-width:0}.pwa-expense-request-edit-label{font-size:10px;font-weight:700;color:var(--color-text-secondary);letter-spacing:.02em;line-height:1.25}.pwa-expense-request-edit-control{width:100%;max-width:100%;box-sizing:border-box;border:1px solid var(--color-border-muted);border-radius:8px;padding:8px 10px;font-size:14px;line-height:1.35;background:var(--color-surface);color:var(--color-text);min-height:40px;font-family:inherit}select.pwa-expense-request-edit-control{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}[data-theme=dark] select.pwa-expense-request-edit-control{color-scheme:dark}[data-theme=light] select.pwa-expense-request-edit-control{color-scheme:light}select.pwa-expense-request-edit-control option{background-color:var(--color-surface);color:var(--color-text)}.pwa-expense-request-edit-textarea{width:100%;max-width:100%;box-sizing:border-box;border:1px solid var(--color-border-muted);border-radius:8px;padding:10px 12px;font-size:14px;line-height:1.5;background:var(--color-surface);color:var(--color-text);resize:vertical;min-height:72px;font-family:inherit;margin:0}@media(max-width:768px){.pwa-expense-request-edit-control,.pwa-expense-request-edit-textarea{font-size:16px}}.pwa-expense-detail-aside-heading{margin-top:12px;font-size:12px;font-weight:700;color:var(--color-text)}.pwa-expense-history-empty{margin-top:6px;color:var(--color-text-muted);font-size:12px}.pwa-expense-history-list{margin-top:6px;display:grid;gap:6px}.pwa-expense-history-card{border:1px solid var(--color-border-muted);border-radius:8px;padding:8px 10px;background-color:var(--color-surface-muted)}.pwa-expense-history-card-meta{font-size:11px;color:var(--color-text-secondary);margin-bottom:2px}.pwa-expense-history-card-body{font-size:12px;color:var(--color-text);white-space:pre-wrap;line-height:1.4}.pwa-expense-text-link{color:var(--color-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}.pwa-expense-text-link:hover{opacity:.9}.pwa-jobs-tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border-muted)}.pwa-jobs-tab{flex:1;margin:0 0 -1px;padding:10px 4px 11px;border:none;border-radius:0;border-bottom:2px solid transparent;background:none;appearance:none;-webkit-appearance:none;font-size:14px;font-weight:600;color:var(--color-text-muted);cursor:pointer;font-family:inherit;box-sizing:border-box;box-shadow:none}.pwa-jobs-tab--with-icon{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;padding:8px 3px 9px}.pwa-jobs-tab-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}.pwa-jobs-tab-icon-svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.pwa-jobs-tab-label{font-size:11px;letter-spacing:.01em;font-weight:600;line-height:1;white-space:nowrap}.pwa-jobs-tab:hover{color:var(--color-text-secondary)}.pwa-jobs-tab--active{color:var(--color-primary);border-bottom:2px solid var(--color-primary)}.pwa-jobs-overview button.pwa-jobs-tab,.pwa-jobs-overview button.pwa-jobs-tab--active{background:transparent;box-shadow:none}@media(max-width:768px){.pwa-jobs-tab--with-icon{gap:2px;min-height:44px;padding:6px 2px 7px}.pwa-jobs-tab-icon-svg{width:15px;height:15px;stroke-width:1.8}.pwa-jobs-tab-label{font-size:10px}}@media(max-width:420px){.pwa-jobs-tab--with-icon{padding:5px 1px 6px}.pwa-jobs-tab-label{font-size:9px}}.pwa-jobs-status-shell{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}.pwa-jobs-status-toolbar{display:flex;justify-content:flex-end;align-items:center;flex-shrink:0}.pwa-jobs-status-refresh-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:500;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;cursor:pointer}.pwa-jobs-status-refresh-btn:hover:not(:disabled){background:var(--color-surface-hover, var(--color-bg-muted));border-color:var(--color-border-strong, var(--color-border))}.pwa-jobs-status-refresh-btn:disabled{opacity:.55;cursor:not-allowed}.pwa-jobs-status-refresh-btn .pwa-action-icon-svg{width:18px;height:18px}.pwa-jobs-status-split{display:flex;flex:1;min-height:min(72dvh,820px);gap:0;overflow:hidden}.pwa-jobs-status-aside{width:min(38%,280px);flex-shrink:0;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--color-border-muted);padding-right:8px}.pwa-jobs-status-overview-card{border:1px solid var(--color-border-muted);border-radius:10px;background:color-mix(in srgb,var(--color-surface-muted) 55%,transparent);padding:10px;display:grid;gap:10px}.pwa-jobs-reminders-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0;padding:10px 12px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.pwa-jobs-reminders-summary--active{border-color:color-mix(in srgb,var(--color-warning-badge) 55%,var(--color-border-strong));border-left-width:3px;border-left-color:var(--color-warning-badge);background:color-mix(in srgb,var(--color-warning-bg) 85%,var(--color-surface))}.pwa-jobs-reminders-summary:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-warning-badge) 45%,var(--color-border-strong));background:color-mix(in srgb,var(--color-warning-bg) 70%,var(--color-surface))}.pwa-jobs-reminders-summary:disabled{opacity:.5;cursor:not-allowed}.pwa-jobs-reminders-summary-main{display:flex;align-items:flex-start;gap:8px;min-width:0;flex:1}.pwa-jobs-reminders-summary-dot{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--color-warning-badge);flex-shrink:0}.pwa-jobs-reminders-summary-text{display:grid;gap:2px;min-width:0}.pwa-jobs-reminders-summary-label{font-size:13px;font-weight:700;line-height:1.25}.pwa-jobs-reminders-summary-preview{font-size:12px;font-weight:500;color:var(--color-text-secondary);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-jobs-reminders-summary-trail{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.pwa-jobs-reminders-summary-badge{font-size:11px;font-weight:700;letter-spacing:.02em;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--color-warning-badge) 22%,var(--color-surface));color:color-mix(in srgb,var(--color-warning-badge) 92%,var(--color-text))}.pwa-jobs-reminders-summary-count{font-size:13px;font-weight:600;color:var(--color-text-muted)}.pwa-jobs-reminders-summary-chevron{font-size:18px;line-height:1;color:var(--color-text-muted)}.pwa-jobs-reminders-modal-backdrop{position:fixed;inset:0;z-index:1300;background:color-mix(in srgb,var(--color-overlay, #000) 45%,transparent);display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;overscroll-behavior:none}.pwa-jobs-reminders-modal{width:min(640px,100%);max-height:min(88dvh,900px);overflow:hidden;display:flex;flex-direction:column;gap:12px;border-radius:12px;border:1px solid var(--color-border-strong);background:var(--color-surface);box-shadow:0 16px 48px color-mix(in srgb,#000 22%,transparent);padding:16px}.pwa-jobs-reminders-modal--adding{max-height:min(94dvh,980px)}.pwa-jobs-reminders-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pwa-jobs-reminders-modal-title{margin:0;font-size:18px;font-weight:700}.pwa-jobs-reminders-modal-sub{margin:0;font-size:12px;color:var(--color-text-secondary);line-height:1.4}.pwa-jobs-reminders-group--adding{border:1px solid color-mix(in srgb,var(--color-warning-badge) 32%,var(--color-border-strong));border-radius:10px;overflow:visible;background:var(--color-surface)}.pwa-jobs-reminders-group--adding .pwa-jobs-reminders-group-head{margin-bottom:0;padding:10px 14px;border-bottom:2px solid color-mix(in srgb,var(--color-warning-badge) 28%,var(--color-border-strong));background:color-mix(in srgb,var(--color-surface-muted) 55%,var(--color-surface));border-radius:10px 10px 0 0}.pwa-jobs-reminders-group--adding .pwa-jobs-reminders-group-title{font-size:12px;letter-spacing:.06em;color:var(--color-text)}.pwa-jobs-reminders-group--adding .pwa-jobs-reminders-add{margin-top:0;border:none;border-radius:0 0 10px 10px;overflow:visible}.pwa-jobs-reminders-add{display:flex;flex-direction:column;gap:0;padding:0;border-radius:0 0 10px 10px;border:none;background:var(--color-surface);min-height:0}.pwa-jobs-reminders-add-context{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid color-mix(in srgb,var(--color-warning-badge) 28%,var(--color-border-muted));border-left:3px solid var(--color-warning-badge);background:color-mix(in srgb,var(--color-warning-bg) 75%,var(--color-surface))}.pwa-jobs-reminders-add-body{display:grid;gap:12px;padding:14px}.pwa-jobs-reminders-group--adding .pwa-jobs-reminders-add-body,.pwa-jobs-reminders-role-row--adding .pwa-jobs-reminders-add-body{flex:1 1 auto;min-height:0;max-height:min(46dvh,440px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.pwa-jobs-reminders-group--adding .pwa-jobs-reminders-cards,.pwa-jobs-reminders-role-row--adding .pwa-jobs-reminders-cards{display:none}.pwa-jobs-reminders-add-head-text{display:grid;gap:2px;min-width:0}.pwa-jobs-reminders-add-kicker{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.pwa-jobs-reminders-add-role{font-size:16px;font-weight:700;line-height:1.25;color:var(--color-text)}.pwa-jobs-reminders-add-user{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:color-mix(in srgb,var(--color-surface-muted) 80%,var(--color-border-muted));color:var(--color-text-muted);flex-shrink:0}.pwa-jobs-reminders-add-user .pwa-action-icon-svg{width:18px;height:18px}.pwa-jobs-reminders-select-wrap{position:relative}.pwa-jobs-reminders-select-wrap:after{content:"▾";position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:12px;color:var(--color-text-muted)}.pwa-jobs-reminders-select--job{appearance:none;padding-right:32px}.pwa-jobs-reminders-field{display:grid;gap:4px}.pwa-jobs-reminders-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.pwa-jobs-reminders-select,.pwa-jobs-reminders-textarea{width:100%;font:inherit;border-radius:8px;border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text);padding:8px 10px}.pwa-jobs-reminders-textarea{resize:vertical;min-height:88px}.pwa-jobs-reminders-file-list{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:12px}.pwa-jobs-reminders-file-remove{margin-left:8px;font-size:12px;color:var(--color-accent);background:none;border:none;cursor:pointer;padding:0}.pwa-jobs-reminders-list-wrap{overflow:auto;min-height:0;flex:1;display:grid;gap:18px}.pwa-jobs-reminders-empty-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:28px 16px 20px}.pwa-jobs-reminders-empty-bell-svg{width:40px;height:40px;color:var(--color-text-muted);opacity:.55}.pwa-jobs-reminders-empty-title{margin:4px 0 0;font-size:16px;font-weight:700;color:var(--color-text)}.pwa-jobs-reminders-empty-sub{margin:0;font-size:13px;color:var(--color-text-muted);line-height:1.4;max-width:22rem}.pwa-jobs-reminders-roles-panel{border:1px solid var(--color-border-strong);border-radius:10px;overflow:hidden;background:var(--color-surface)}.pwa-jobs-reminders-roles-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--color-border-muted);background:color-mix(in srgb,var(--color-surface-muted) 50%,var(--color-surface))}.pwa-jobs-reminders-roles-panel-head-main{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--color-text-secondary)}.pwa-jobs-reminders-roles-panel-head-main .pwa-action-icon-svg{width:18px;height:18px;color:var(--color-text-muted)}.pwa-jobs-reminders-roles-panel-toggle{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;font:inherit;font-size:12px;font-weight:600;color:var(--color-text-secondary);cursor:pointer}.pwa-jobs-reminders-roles-panel-toggle:hover{color:var(--color-text)}.pwa-jobs-reminders-role-list{margin:0;padding:0;list-style:none}.pwa-jobs-reminders-role-row{border-bottom:1px solid var(--color-border-muted)}.pwa-jobs-reminders-role-row:last-child{border-bottom:none}.pwa-jobs-reminders-role-row-main{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px}.pwa-jobs-reminders-role-row-label{font-size:14px;font-weight:500;color:var(--color-text)}.pwa-jobs-reminders-role-row-add{flex-shrink:0}.pwa-jobs-reminders-role-row--adding .pwa-jobs-reminders-role-row-main{padding:10px 14px;border-bottom:2px solid color-mix(in srgb,var(--color-warning-badge) 28%,var(--color-border-strong));background:color-mix(in srgb,var(--color-surface-muted) 55%,var(--color-surface))}.pwa-jobs-reminders-role-row--adding .pwa-jobs-reminders-role-row-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text)}.pwa-jobs-reminders-role-row-form .pwa-jobs-reminders-add{border:none;border-radius:0}.pwa-jobs-reminders-role-row-form .pwa-jobs-reminders-group--adding{border:none}.pwa-jobs-reminders-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.pwa-jobs-reminders-group-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.pwa-jobs-reminders-section-add,.pwa-jobs-reminders-role-row-add{display:inline-flex;align-items:center;gap:3px;padding:2px 4px;border:none;border-radius:4px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:12px;font-weight:500;cursor:pointer}.pwa-jobs-reminders-section-add .pwa-action-icon-svg,.pwa-jobs-reminders-role-row-add .pwa-action-icon-svg{width:12px;height:12px;opacity:.9}.pwa-jobs-reminders-section-add:hover,.pwa-jobs-reminders-role-row-add:hover{color:var(--color-text);text-decoration:underline;text-underline-offset:2px}.pwa-jobs-reminders-section-add--prominent{padding:2px 4px;border:none}.pwa-jobs-reminders-empty-roles-toggle{margin:0;padding:0;border:none;background:none;font:inherit;font-size:12px;color:var(--color-text-muted);text-align:left;cursor:pointer}.pwa-jobs-reminders-empty-roles-toggle:hover{color:var(--color-text-secondary)}.pwa-jobs-reminders-add-actions{display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:12px 14px;border-top:1px solid var(--color-border-muted);background:var(--color-surface);position:sticky;bottom:0;z-index:2;box-shadow:0 -8px 20px color-mix(in srgb,var(--color-surface) 82%,transparent)}.pwa-jobs-reminders-add-cancel,.pwa-jobs-reminders-add-save{font:inherit;font-size:13px;font-weight:600;border-radius:8px;padding:9px 16px;cursor:pointer}.pwa-jobs-reminders-add-cancel{border:1px solid var(--color-border-strong);background:transparent;color:var(--color-text)}.pwa-jobs-reminders-add-cancel:hover:not(:disabled){background:var(--color-surface-muted)}.pwa-jobs-reminders-add-save{border:none;background:var(--color-warning-badge);color:#141414}.pwa-jobs-reminders-add-save:hover:not(:disabled){background:color-mix(in srgb,var(--color-warning-badge) 88%,#fff)}@media(prefers-color-scheme:dark){.pwa-jobs-reminders-add-save{color:#0f0f0f}}.pwa-jobs-reminders-add-cancel:disabled,.pwa-jobs-reminders-add-save:disabled{opacity:.55;cursor:not-allowed}.pwa-jobs-form-attach-dropzone--compact{flex-direction:row;align-items:center;justify-content:flex-start;min-height:0;padding:10px 12px;gap:10px;text-align:left}.pwa-jobs-form-attach-dropzone--compact .pwa-cloud-upload-svg{width:20px;height:20px;flex-shrink:0}.pwa-jobs-form-attach-dropzone--compact .pwa-jobs-form-attach-dropzone-title{font-size:12px;font-weight:500;line-height:1.35}.pwa-jobs-reminders-add-dropzone.pwa-jobs-form-attach-dropzone--compact{border-style:dashed;border-color:var(--color-border-muted);background:var(--color-surface-muted);color:var(--color-text-muted)}.pwa-jobs-reminders-add-dropzone .pwa-cloud-upload-svg{color:var(--color-text-muted)}.pwa-jobs-reminders-add-dropzone .pwa-jobs-form-attach-dropzone-title{color:var(--color-text-secondary)}.pwa-jobs-reminders-add-dropzone-meta{color:var(--color-text-muted);font-weight:400}.pwa-jobs-reminders-add-browse{text-decoration:underline;text-underline-offset:2px;color:var(--color-text);font-weight:600}.pwa-jobs-reminders-field--note .pwa-jobs-reminders-textarea{min-height:72px}.pwa-jobs-reminders-list-wrap--adding{scroll-padding-bottom:12px}.pwa-jobs-reminders-section-cancel{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.pwa-jobs-reminders-section-cancel:hover{color:var(--color-text);background:var(--color-surface-muted)}.pwa-jobs-reminders-section-cancel-icon{display:inline-flex;width:14px;height:14px}.pwa-jobs-reminders-section-cancel-icon .pwa-modal-close-svg{width:14px;height:14px}.pwa-jobs-reminders-empty-roles-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:10px;border-top:1px solid var(--color-border-muted);flex-shrink:0}.pwa-jobs-reminders-empty-roles-text{font-size:12px;color:var(--color-text-muted)}.pwa-jobs-reminders-empty-roles-show{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:none;font:inherit;font-size:12px;font-weight:600;color:var(--color-text-secondary);cursor:pointer}.pwa-jobs-reminders-empty-roles-show:hover{color:var(--color-text)}.pwa-jobs-reminders-empty-roles-show--solo{margin-top:4px}.pwa-jobs-reminders-empty-roles-chevron{font-size:11px;line-height:1}.pwa-jobs-reminders-cards{margin:0;padding:0;list-style:none;display:grid;gap:8px}.pwa-jobs-reminders-card{border:1px solid color-mix(in srgb,var(--color-warning-badge) 28%,var(--color-border-muted));border-left:3px solid var(--color-warning-badge);border-radius:8px;padding:10px 10px 8px 12px;background:color-mix(in srgb,var(--color-warning-bg) 40%,var(--color-surface))}.pwa-jobs-reminders-card-job{margin:0 0 6px;font-size:11px;font-weight:500;line-height:1.35;color:var(--color-text-muted)}.pwa-jobs-reminders-card-note{margin:0 0 10px;font-size:14px;font-weight:700;line-height:1.4;white-space:pre-wrap;word-break:break-word;color:var(--color-text)}.pwa-jobs-reminders-card-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.pwa-jobs-reminders-card-footer-main{display:grid;gap:4px;min-width:0;flex:1}.pwa-jobs-reminders-card-meta{font-size:11px;line-height:1.35;color:var(--color-text-muted)}.pwa-jobs-reminders-attachments{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.pwa-jobs-reminders-attach-link{display:inline-flex;align-items:center;gap:4px;max-width:100%;font-size:11px;font-weight:500;color:var(--color-text-secondary);background:none;border:none;cursor:pointer;padding:0;text-decoration:none}.pwa-jobs-reminders-attach-link:hover{color:var(--color-primary)}.pwa-jobs-reminders-attach-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-jobs-reminders-attach-icon{width:14px;height:14px;flex-shrink:0;color:var(--color-text-muted)}.pwa-jobs-reminders-card-delete{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;min-height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);cursor:pointer;flex-shrink:0}.pwa-jobs-reminders-card-delete .pwa-action-icon-svg{width:16px;height:16px}.pwa-jobs-reminders-card-delete:hover{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 12%,transparent)}.pwa-jobs-reminders-card-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.pwa-jobs-reminders-card-dismiss,.pwa-jobs-reminders-card-restore{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 8px;border:1px solid var(--color-border-muted);border-radius:6px;background:var(--color-surface);color:var(--color-text-secondary);font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap}.pwa-jobs-reminders-card-dismiss:hover{color:var(--color-text);border-color:var(--color-border-strong)}.pwa-jobs-reminders-card-restore{border-color:color-mix(in srgb,var(--color-primary) 35%,var(--color-border-muted));color:var(--color-primary)}.pwa-jobs-reminders-card-restore:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.pwa-jobs-reminders-card--dismissed{opacity:.82;border-style:dashed}.pwa-jobs-reminders-group--dismissed{margin-top:8px;padding-top:8px;border-top:1px dashed var(--color-border-muted)}.pwa-jobs-reminders-dismissed-bar{display:flex;justify-content:center;padding:8px 0 2px}.pwa-jobs-reminders-dismissed-empty{margin:0;padding:8px 2px 2px;font-size:12px;color:var(--color-text-muted)}.pwa-jobs-reminders-field--stations{margin:0 0 12px;padding:0;border:none}.pwa-jobs-reminders-field--stations .pwa-jobs-reminders-label{margin-bottom:4px}.pwa-jobs-reminders-stations-hint{margin:0 0 8px;font-size:11px;line-height:1.35;color:var(--color-text-muted)}.pwa-jobs-reminders-stations-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.pwa-jobs-reminders-station-check{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--color-border-muted);border-radius:6px;background:var(--color-surface);font-size:12px;font-weight:500;color:var(--color-text);cursor:pointer}.pwa-jobs-reminders-station-check:has(input:checked){border-color:color-mix(in srgb,var(--color-warning-badge) 50%,var(--color-border-strong));background:color-mix(in srgb,var(--color-warning-bg) 35%,var(--color-surface))}.pwa-jobs-reminders-station-check input{margin:0;flex-shrink:0}.pwa-file-preview-backdrop{position:fixed;inset:0;background:var(--color-overlay-backdrop);display:flex;align-items:center;justify-content:center;padding:12px;touch-action:none;overscroll-behavior:none}.pwa-file-preview-backdrop--maximized{padding:0}.pwa-file-preview-panel{width:min(100vw - 24px,1600px);height:calc(100dvh - 24px);max-width:100%;max-height:100%;background:var(--color-surface);border-radius:12px;border:1px solid var(--color-border-strong);box-shadow:0 16px 36px var(--color-shadow-modal);overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr)}.pwa-file-preview-panel--maximized{width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border-left:none;border-right:none;border-top:none}.pwa-file-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px 0 12px;min-height:56px;border-bottom:1px solid var(--color-border-muted);background:var(--color-surface);min-width:0}.pwa-file-preview-title{min-width:0;font-size:13px;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto}.pwa-file-preview-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.pwa-file-preview-body{min-height:0;overflow:hidden;display:flex;flex-direction:column}.pwa-file-preview-body--padded{padding:12px;overflow:auto;align-items:center;justify-content:center}.pwa-attachment-preview-backdrop{position:fixed;inset:0;z-index:1400;background:#0f172a6b;display:flex;justify-content:center;align-items:flex-start;padding:20px 12px;overflow:hidden;overscroll-behavior:none}.pwa-attachment-preview-panel{width:min(920px,98vw);max-height:92vh;overflow:auto;background:var(--color-surface);border-radius:12px;border:1px solid var(--color-border-strong);box-shadow:0 12px 40px #0f172a33}.pwa-attachment-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid var(--color-border-muted);position:sticky;top:0;background:var(--color-surface);z-index:1}.pwa-attachment-preview-title{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pwa-attachment-preview-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.pwa-attachment-preview-body{padding:12px;min-height:200px;display:flex;align-items:center;justify-content:center}.pwa-attachment-preview-message{font-size:13px;color:var(--color-text-secondary);text-align:center;padding:24px 12px}.pwa-attachment-preview-message--error{color:var(--color-error-text)}.pwa-attachment-preview-image{max-width:100%;max-height:min(78vh,900px);border-radius:8px;object-fit:contain}.pwa-attachment-preview-video{max-width:100%;max-height:min(78vh,900px);border-radius:8px}.pwa-attachment-preview-pdf{width:100%;min-height:min(78vh,900px);border:none;border-radius:8px}.pwa-file-preview-pdf{width:100%;height:100%;min-height:0;border:none;background:var(--color-page)}.pwa-file-preview-image{max-width:100%;max-height:100%;object-fit:contain}.pwa-file-preview-video{max-width:100%;max-height:100%;border-radius:8px}.pwa-clock-on-reminders{display:grid;gap:8px}.pwa-clock-on-reminders-loading{margin:0;font-size:12px;color:var(--color-text-muted)}.pwa-clock-on-reminders-empty{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:var(--color-text-muted);line-height:1.35}.pwa-clock-on-reminders-empty-icon{width:16px;height:16px;flex-shrink:0;opacity:.75}.pwa-clock-on-reminders-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.pwa-clock-on-reminder-card{border:1px solid color-mix(in srgb,var(--color-warning-badge) 28%,var(--color-border-muted));border-left:3px solid var(--color-warning-badge);border-radius:8px;padding:10px 12px;background:color-mix(in srgb,var(--color-warning-bg) 35%,var(--color-surface))}.pwa-clock-on-reminder-card--shop-drawing{border-color:color-mix(in srgb,#0ea5e9 28%,var(--color-border-muted));border-left-color:#0ea5e9;background:color-mix(in srgb,#0ea5e9 8%,var(--color-surface))}.pwa-clock-on-reminder-card--shop-drawing .pwa-clock-on-reminder-card-kicker{color:#0369a1}.pwa-clock-on-reminders-shop-section{margin-bottom:12px}.pwa-clock-on-reminders-shop-title{margin:0 0 4px;font-size:12px;font-weight:700;color:var(--color-text)}.pwa-clock-on-reminders-shop-sub{margin:0 0 8px;font-size:11px;line-height:1.35;color:var(--color-text-muted)}.pwa-clock-on-reminders-shop-groups{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.pwa-clock-on-reminders-shop-group{display:flex;flex-direction:column;gap:8px}.pwa-clock-on-reminders-shop-group-title{margin:0;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary)}.pwa-clock-on-reminders-shop-group-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.pwa-clock-on-reminder-dismiss{padding:2px 8px;border:1px solid var(--color-border-muted);border-radius:6px;background:var(--color-surface);font-size:11px;font-weight:600;color:var(--color-text-secondary);cursor:pointer}.pwa-clock-on-reminder-dismiss:hover{border-color:#0ea5e9;color:#0369a1}.pwa-clock-on-reminder-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.pwa-clock-on-reminder-card-kicker{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-warning-badge)}.pwa-clock-on-reminder-card-role{font-size:11px;font-weight:500;color:var(--color-text-muted)}.pwa-clock-on-reminder-card-note{margin:0 0 8px;font-size:14px;font-weight:700;line-height:1.35;color:var(--color-text);white-space:pre-wrap;word-break:break-word}.pwa-clock-on-reminder-card-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.pwa-clock-on-reminder-card-meta{font-size:11px;color:var(--color-text-muted)}.pwa-clock-on-reminder-attachments{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.pwa-clock-on-reminder-attach-link{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:0;border:none;background:none;font-size:11px;font-weight:500;color:var(--color-text-secondary);cursor:pointer}.pwa-clock-on-reminder-attach-link:hover{color:var(--color-primary)}.pwa-clock-on-reminder-attach-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:12rem}.pwa-clock-on-reminder-attach-icon{width:14px;height:14px;flex-shrink:0}.pwa-jobs-status-overview-row{display:grid;gap:4px}.pwa-jobs-status-overview-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--color-text-muted)}.pwa-jobs-status-overview-value{font-size:13px;font-weight:600;color:var(--color-text);line-height:1.35}.pwa-jobs-status-overview-value--address{font-weight:500;white-space:normal;overflow-wrap:anywhere}.pwa-jobs-status-overview-row--address{display:block;margin-bottom:4px}.pwa-jobs-status-site-address{display:grid;gap:8px}.pwa-jobs-status-site-address-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.pwa-jobs-status-site-address-edit-btn{width:32px;height:32px;min-width:32px;min-height:32px;flex-shrink:0}.pwa-jobs-status-site-address-current{font-size:13px;font-weight:500;color:var(--color-text);line-height:1.35;white-space:normal;overflow-wrap:anywhere}.pwa-jobs-status-site-address--embedded .pwa-jobs-status-site-address-current{flex:1;min-width:0}.pwa-jobs-status-site-address--embedded .pwa-jobs-status-site-address-edit-btn{margin-left:auto}.pwa-jobs-status-site-address-fields{display:grid;gap:8px}.pwa-jobs-status-site-address-row{display:grid;grid-template-columns:1fr 1fr minmax(88px,.7fr);gap:8px}.pwa-jobs-status-site-address-field{display:grid;gap:4px;min-width:0}.pwa-jobs-status-site-address-field span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.pwa-jobs-status-site-address-field input{width:100%;min-width:0;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text);font-size:13px}.pwa-jobs-status-site-address-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 20%,transparent)}.pwa-jobs-status-site-address-hint{margin:0}.pwa-jobs-status-site-address-actions{display:flex;justify-content:flex-start;gap:8px}.pwa-jobs-status-site-address-save{padding:7px 12px;border-radius:8px;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);color:var(--color-text);font-size:13px;font-weight:600;cursor:pointer}.pwa-jobs-status-site-address-save:hover:not(:disabled){background:var(--color-surface-hover)}.pwa-jobs-status-site-address-save:disabled{opacity:.6;cursor:not-allowed}.pwa-jobs-status-site-address-cancel{padding:7px 12px;border:none;background:none;color:var(--color-text-muted);font-size:13px;font-weight:600;cursor:pointer}.pwa-jobs-status-site-address-cancel:hover:not(:disabled){color:var(--color-text)}.pwa-jobs-status-overview-row--submittals{margin-top:4px;padding-top:10px;border-top:1px solid var(--color-border-muted)}.pwa-jobs-status-submittals-integration{display:grid;gap:6px}.pwa-jobs-status-submittals-select{width:100%;max-width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:600}.pwa-jobs-status-submittals-recipients{display:grid;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-muted)}.pwa-jobs-status-submittals-recipients-hint{margin:0}.pwa-jobs-status-drawings-summary{display:grid;gap:6px}.pwa-jobs-status-drawings-metric{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;color:var(--color-text);line-height:1.35}.pwa-jobs-status-drawings-metric-label{font-weight:500;color:var(--color-text-muted)}.pwa-jobs-status-drawings-metric-value{font-variant-numeric:tabular-nums}.pwa-jobs-status-overview-progress{height:4px;border-radius:999px;background:color-mix(in srgb,var(--color-border-muted) 60%,transparent);overflow:hidden}.pwa-jobs-status-overview-progress-fill{height:100%;border-radius:inherit;background:var(--color-primary)}.pwa-jobs-status-stage-list{margin-top:10px;display:flex;flex-direction:column;gap:4px;min-height:0;overflow-y:auto;padding-bottom:6px}.pwa-jobs-status-stage-list-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--color-text-muted);padding:2px 2px 6px}.pwa-jobs-status-stage-row{width:100%;border:none;background:transparent;border-radius:8px;padding:8px;display:flex;align-items:center;gap:8px;text-align:left;color:inherit;cursor:pointer}.pwa-jobs-status-stage-row:hover{background:color-mix(in srgb,var(--color-surface-hover) 60%,transparent)}.pwa-jobs-status-stage-row--selected{background:color-mix(in srgb,var(--color-surface-hover) 60%,transparent);border:1px solid var(--color-border-muted)}.pwa-jobs-status-stage-row-icon{width:12px;height:12px;border-radius:50%;border:2px solid var(--color-border-strong);background:transparent;flex-shrink:0}.pwa-jobs-status-stage-row-icon--done{border-color:var(--color-success);background:var(--color-success)}.pwa-jobs-status-stage-row-icon--active{border-color:var(--color-border-strong);background:transparent}.pwa-jobs-status-stage-row-main{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;min-width:0}.pwa-jobs-status-stage-row-name{font-size:13px;color:var(--color-text-secondary);font-weight:600;line-height:1.3;min-width:0}.pwa-jobs-status-stage-row-sub{font-size:12px;color:var(--color-text-muted);font-weight:700;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.pwa-jobs-status-stage-row-date{font-size:11px;font-weight:600;color:var(--color-text-secondary)}.pwa-jobs-status-stage-row-sep{opacity:.55}.pwa-jobs-status-main{flex:1;min-width:0;min-height:0}.pwa-jobs-status-main-scroll{height:100%;overflow-y:auto;padding:8px 6px 12px 14px;display:flex;flex-direction:column;gap:14px}.pwa-jobs-status-stepper{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.pwa-jobs-status-stepper-stage{min-width:0}.pwa-jobs-status-stepper-date{min-height:14px;margin-bottom:4px;font-size:10px;font-weight:700;line-height:1.2;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pwa-jobs-status-stepper-date--empty{visibility:hidden}.pwa-jobs-status-stepper-date--done{color:var(--color-success)}.pwa-jobs-status-stepper-date--due{color:var(--color-text-secondary)}.pwa-jobs-status-stepper-date--start{color:var(--color-text-muted)}.pwa-jobs-status-stepper-node-wrap{display:flex;align-items:center;gap:8px}.pwa-jobs-status-stepper-node{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--color-border-strong);background:transparent;flex-shrink:0}.pwa-jobs-status-stepper-node--done{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 30%,transparent)}.pwa-jobs-status-stepper-node--active{border-color:var(--color-border-strong);background:transparent}.pwa-jobs-status-stepper-rail{flex:1;height:2px;border-radius:999px;background:color-mix(in srgb,var(--color-border-muted) 65%,transparent)}.pwa-jobs-status-stepper-rail--done{background:color-mix(in srgb,var(--color-success) 85%,transparent)}.pwa-jobs-status-stepper-rail--active{background:color-mix(in srgb,var(--color-border-muted) 65%,transparent)}.pwa-jobs-status-stepper-name{margin-top:8px;font-size:13px;font-weight:600;color:var(--color-text-secondary);line-height:1.3}.pwa-jobs-status-stepper-pct{margin-top:2px;font-size:11px;color:var(--color-text-muted);font-weight:700}.pwa-jobs-status-stage-groups{display:flex;flex-direction:column;gap:10px}.pwa-jobs-status-stage-group{border:1px solid var(--color-border-muted);border-radius:10px;background:color-mix(in srgb,var(--color-surface-muted) 35%,transparent);padding:10px}.pwa-jobs-status-stage-group--active{border-color:var(--color-border-muted);background:color-mix(in srgb,var(--color-surface-muted) 35%,transparent)}.pwa-jobs-status-stage-group--focused{box-shadow:none}.pwa-jobs-status-stage-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.pwa-jobs-status-stage-group-title-wrap{min-width:0}.pwa-jobs-status-stage-group-title{font-size:14px;font-weight:700;color:var(--color-text)}.pwa-jobs-status-stage-group-date{margin-top:2px;font-size:11px;font-weight:600;color:var(--color-text-muted)}.pwa-jobs-status-stage-group-date--done{color:var(--color-success)}.pwa-jobs-status-stage-group-date--due{color:var(--color-text-secondary)}.pwa-jobs-status-stage-group-pct{font-size:12px;font-weight:700;color:var(--color-text-secondary)}.pwa-jobs-status-stage-group-progress{margin-top:8px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--color-border-muted) 60%,transparent);overflow:hidden}.pwa-jobs-status-stage-group-progress-fill{height:100%;border-radius:inherit;background:var(--color-primary)}.pwa-jobs-status-task-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}.pwa-jobs-status-task-card{border-radius:9px;border:1px solid var(--color-border-muted);background:var(--color-surface);padding:10px}.pwa-jobs-status-task-card--clickable{cursor:pointer}.pwa-jobs-status-task-card--clickable:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 28%,transparent)}.pwa-jobs-status-task-card--clickable:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.pwa-jobs-status-task-card--done{border-color:var(--color-success-border);background:var(--color-success-bg)}.pwa-jobs-status-task-card--in_progress{border-color:var(--color-border-muted);background:var(--color-surface)}.pwa-jobs-status-task-card--partial{border-color:color-mix(in srgb,var(--color-warning-text) 50%,var(--color-border-muted));background:color-mix(in srgb,var(--color-warning-bg) 65%,var(--color-surface))}.pwa-jobs-status-task-card--overdue{border-color:color-mix(in srgb,var(--color-danger) 55%,var(--color-border-muted));background:color-mix(in srgb,var(--color-danger-bg) 70%,var(--color-surface))}.pwa-jobs-status-task-card--not_applicable{border-color:var(--color-border-muted);background:var(--color-surface-muted);opacity:.82}.pwa-jobs-status-task-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.pwa-jobs-status-task-title{font-size:13px;font-weight:700;color:var(--color-text);line-height:1.3}.pwa-jobs-status-task-pct{font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-surface-muted) 88%,transparent)}.pwa-jobs-status-task-meta-row{margin-top:6px;display:flex;flex-wrap:wrap;gap:8px}.pwa-jobs-status-task-meta{font-size:11px;color:var(--color-text-muted);font-weight:600}.pwa-jobs-status-task-meta--variance{font-weight:700}.pwa-jobs-status-task-meta--variance-over{color:var(--color-danger-text)}.pwa-jobs-status-task-meta--variance-under{color:var(--color-success-text)}.pwa-jobs-status-task-meta--variance-on{color:var(--color-primary-text)}.pwa-jobs-status-task-clock-note{margin:6px 0 0;padding:8px 10px;border-radius:8px;border-left:3px solid var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));font-size:12px;line-height:1.4;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word}.pwa-jobs-status-task-assignees{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.pwa-jobs-status-task-assignee-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--color-border-muted);border-radius:999px;padding:2px 7px 2px 3px;background:color-mix(in srgb,var(--color-surface-muted) 72%,transparent)}.pwa-jobs-status-task-assignee-avatar{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--color-staff-avatar-bg);color:var(--color-staff-avatar-text);border:1px solid var(--color-staff-avatar-ring);font-size:9px;font-weight:800;letter-spacing:.02em}.pwa-jobs-status-task-assignee-name{font-size:11px;color:var(--color-text-secondary);font-weight:600}.pwa-jobs-status-task-unassigned{font-size:11px;color:var(--color-text-muted);font-weight:600}.pwa-jobs-status-task-assignees--editable{flex-direction:column;align-items:flex-start}.pwa-jobs-status-task-assignee-chip-trigger{display:inline-flex;flex-wrap:wrap;gap:6px;padding:0;border:none;background:transparent;cursor:pointer;text-align:left}.pwa-jobs-status-task-assignee-chip-trigger--open .pwa-jobs-status-task-assignee-pill{border-color:var(--color-primary-outline-border);background:var(--color-primary-bg)}.pwa-jobs-status-task-assignee-pill--add{padding-right:7px}.pwa-jobs-status-task-assignee-pill--add .pwa-jobs-status-task-assignee-avatar{font-size:14px;line-height:1}.pwa-jobs-status-task-staff-picker{width:100%;margin-top:4px;padding:8px;border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);display:grid;gap:8px}.pwa-jobs-status-task-staff-picker-search{width:100%}.pwa-jobs-status-task-staff-picker-list{max-height:180px;overflow-y:auto;border:1px solid var(--color-border-muted);border-radius:8px}.pwa-jobs-status-task-staff-picker-empty{padding:10px;font-size:12px;color:var(--color-text-muted)}.pwa-jobs-status-task-staff-picker-row{display:flex;align-items:center;gap:8px;padding:7px 9px;border-bottom:1px solid var(--color-border);cursor:pointer;background:var(--color-surface)}.pwa-jobs-status-task-staff-picker-row:last-child{border-bottom:none}.pwa-jobs-status-task-staff-picker-row--checked{background:var(--color-surface-muted)}.pwa-jobs-status-task-staff-picker-name{flex:1;font-size:12px;color:var(--color-text-secondary)}.pwa-jobs-status-task-staff-picker-actions{display:flex;gap:8px;justify-content:flex-end}.pwa-jobs-status-task-staff-picker-btn{height:32px;padding:0 12px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer}.pwa-jobs-status-task-staff-picker-btn--cancel{border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text-secondary)}.pwa-jobs-status-task-staff-picker-btn--confirm{border:none;background:var(--color-primary);color:var(--color-on-primary)}.pwa-jobs-status-task-staff-picker-btn:disabled{opacity:.6;cursor:not-allowed}.pwa-jobs-forms-shell{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}.pwa-jobs-forms-hint{font-size:12px;color:var(--color-text-muted)}.pwa-jobs-forms-error{font-size:12px;color:var(--color-error-text)}.pwa-jobs-forms-split{display:flex;flex:1;min-height:min(72dvh,820px);gap:0;border:none;border-radius:0;overflow:hidden;background:transparent}.pwa-jobs-forms-split--media-only .pwa-jobs-forms-main{width:100%}.pwa-jobs-forms-aside{width:min(38%,280px);flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--color-border-muted);background:transparent;min-height:0}.pwa-jobs-forms-aside-label{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);padding:8px 4px 12px}.pwa-jobs-forms-list{flex:1;min-height:0;overflow-y:auto;padding:0 4px 8px;display:flex;flex-direction:column;gap:4px}.pwa-jobs-form-list-item{text-align:left;width:100%;margin:0;padding:10px 10px 8px;border:none;border-radius:8px;background:transparent;cursor:pointer;font-family:inherit}.pwa-jobs-form-list-item:hover:not(:disabled){background:color-mix(in srgb,var(--color-surface-hover) 65%,transparent)}.pwa-jobs-form-list-item:disabled{opacity:.5;cursor:not-allowed}.pwa-jobs-form-list-item--selected{background:color-mix(in srgb,var(--color-primary) 16%,transparent);border:none}.pwa-jobs-form-list-item-title{font-size:13px;font-weight:500;color:var(--color-text-secondary);line-height:1.3}.pwa-jobs-form-list-item--selected .pwa-jobs-form-list-item-title{color:var(--color-text)}.pwa-jobs-form-list-item-meta{font-size:11px;font-weight:600;color:var(--color-text-muted);margin-top:6px}.pwa-jobs-form-list-item--selected .pwa-jobs-form-list-item-meta{color:var(--color-text-secondary)}.pwa-jobs-form-list-bar{height:3px;border-radius:999px;background:color-mix(in srgb,var(--color-border-muted) 55%,transparent);margin-top:8px;overflow:hidden}.pwa-jobs-form-list-bar-fill{height:100%;border-radius:inherit;background:var(--color-primary);min-width:0;transition:width .2s ease}.pwa-jobs-forms-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;background:transparent}.pwa-jobs-forms-main-inner{flex:1;min-height:0;display:flex;flex-direction:column}.pwa-jobs-form-main-head{padding:8px 4px 12px;border-bottom:none;background:transparent}.pwa-jobs-form-main-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.pwa-jobs-form-main-head-top .pwa-jobs-form-main-title{margin:0}.pwa-jobs-form-main-title{margin:0 0 10px;font-size:clamp(18px,2.4vw,22px);font-weight:700;line-height:1.2;color:var(--color-text);letter-spacing:-.01em}.pwa-jobs-form-main-progress-row{display:flex;align-items:center;gap:12px;margin-bottom:4px}.pwa-jobs-form-main-bar{flex:1;height:4px;border-radius:999px;background:color-mix(in srgb,var(--color-border-muted) 55%,transparent);overflow:hidden}.pwa-jobs-form-main-bar-fill{height:100%;border-radius:inherit;background:var(--color-primary);transition:width .2s ease}.pwa-jobs-form-main-fraction{flex-shrink:0;font-size:12px;font-weight:600;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.pwa-jobs-forms-scroll{flex:1;min-height:0;overflow-y:auto;padding:4px 4px 14px;background:transparent}.pwa-jobs-form-section{display:block;width:100%;box-sizing:border-box;margin:0 0 12px;padding:10px 12px;border-radius:6px;background:color-mix(in srgb,var(--color-surface-hover) 92%,var(--color-border-muted));border:.5px solid color-mix(in srgb,var(--color-border-muted) 70%,transparent)}.pwa-jobs-form-section-group{background:var(--color-surface-muted);border-radius:10px;padding:12px 12px 10px;margin-bottom:14px}.pwa-jobs-form-section-group:last-child{margin-bottom:0}.pwa-jobs-form-section-label{display:block;width:100%;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-secondary);line-height:1.35}.pwa-jobs-form-questions{display:flex;flex-direction:column;gap:0}.pwa-jobs-form-question-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px 12px;align-items:start;padding:12px 0;border-bottom:none}.pwa-jobs-form-q-check{padding-top:2px;display:flex;justify-content:center}.pwa-jobs-form-q-check-off{display:block;width:18px;height:18px;border-radius:4px;border:1.5px solid color-mix(in srgb,var(--color-text-muted) 55%,var(--color-border-strong));background:transparent}.pwa-jobs-form-q-check-on{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:var(--color-success);color:#fff;font-size:11px;font-weight:800;line-height:1}.pwa-jobs-form-q-body{min-width:0}.pwa-jobs-form-q-label{font-size:13px;font-weight:500;color:var(--color-text-secondary);line-height:1.35;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px}.pwa-jobs-form-q-audit{display:inline-flex;align-items:center;justify-content:flex-start;flex-shrink:0;gap:6px}.pwa-jobs-form-q-audit-avatar{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--color-staff-avatar-bg);color:var(--color-staff-avatar-text);border:1.5px solid var(--color-staff-avatar-ring);font-size:9px;font-weight:800;line-height:1;letter-spacing:.02em}.pwa-jobs-form-q-audit-when{font-size:11px;font-weight:600;color:var(--color-text-muted);line-height:1.25;white-space:nowrap}.pwa-jobs-form-q-label--attachment{align-items:flex-start;justify-content:space-between;gap:10px}.pwa-jobs-form-q-label--attachment>span:first-child{flex:1;min-width:0;font-weight:600;color:var(--color-text-secondary)}.pwa-jobs-form-q-attach-count{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:var(--color-surface-muted);border:1px solid var(--color-border-muted);font-size:11px;font-weight:700;color:var(--color-text-muted)}.pwa-jobs-form-q-attach-count--empty{opacity:.72}.pwa-jobs-form-q-attach-hint{margin-top:4px;margin-bottom:2px;font-size:11px;line-height:1.4;color:var(--color-text-muted);font-weight:500;max-width:40rem}.pwa-jobs-form-attach-root{display:flex;flex-direction:column;gap:10px}.pwa-cloud-upload-svg{width:40px;height:40px;color:var(--color-primary);flex-shrink:0}.pwa-attach-open-svg{width:14px;height:14px;flex-shrink:0}.pwa-jobs-form-attach-dropzone{width:100%;margin:0;min-height:92px;padding:16px 14px;border:1px dashed var(--color-border-muted);border-radius:10px;background-color:var(--color-surface-muted);color:var(--color-primary);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;font:inherit;text-align:center}.pwa-jobs-form-attach-dropzone:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border-muted));background-color:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface-muted))}.pwa-jobs-form-attach-dropzone--active:not(:disabled){border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border-muted));background-color:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface-muted))}.pwa-jobs-form-attach-dropzone:disabled{opacity:.55;cursor:not-allowed}.pwa-jobs-form-attach-dropzone-title{font-size:14px;font-weight:700;color:var(--color-text)}.pwa-jobs-form-attach-dropzone-sub{font-size:12px;font-weight:500;color:var(--color-text-muted);line-height:1.4;max-width:36rem}.pwa-jobs-form-attach-uploading{font-size:12px;color:var(--color-text-muted);font-weight:600}.pwa-jobs-form-attach-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:10px;align-items:stretch}.pwa-jobs-form-attach-card{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-surface);box-sizing:border-box;min-width:0;height:100%}.pwa-jobs-form-attach-card-top{display:flex;gap:10px;align-items:flex-start;min-width:0}div.pwa-jobs-form-attach-card-top--openable[role=button]{width:100%;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:6px;box-sizing:border-box;transition:background .12s ease}div.pwa-jobs-form-attach-card-top--openable[role=button]:hover{background:var(--color-surface-muted)}.pwa-jobs-form-attach-card-top--openable .pwa-jobs-form-attach-action--inline-open{pointer-events:none}.pwa-jobs-form-attach-card-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.pwa-jobs-form-attach-card-name-row{display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;min-width:0}.pwa-jobs-form-attach-card-thumb{width:44px;height:44px;flex-shrink:0;border-radius:8px;overflow:hidden;background:var(--color-surface-muted);display:flex;align-items:center;justify-content:center}.pwa-jobs-form-attach-card-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.pwa-jobs-form-attach-pdf-badge{font-size:11px;font-weight:800;letter-spacing:.02em;color:#fff;background:#c62828;padding:6px 8px;border-radius:6px;line-height:1}.pwa-jobs-form-attach-file-glyph{font-size:22px;line-height:1;opacity:.85}.pwa-jobs-form-attach-card-name{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--color-text);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word}.pwa-jobs-form-attach-card-meta{font-size:12px;color:var(--color-text-muted);font-weight:500}.pwa-jobs-form-attach-card-secondary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding-top:8px;border-top:1px solid var(--color-border-muted)}.pwa-jobs-form-attach-action--inline-open{flex-shrink:0;padding:2px 6px;font-size:12px;margin-top:1px}.pwa-jobs-form-attach-action{display:inline-flex;align-items:center;gap:5px;margin:0;padding:6px 8px;border:none;border-radius:8px;background:transparent;color:var(--color-primary);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:none;white-space:nowrap}.pwa-jobs-form-attach-action:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.pwa-jobs-form-attach-action:disabled{opacity:.45;cursor:not-allowed}.pwa-jobs-form-attach-action--danger{color:var(--color-error-text, #e57373)}.pwa-jobs-form-attach-action--danger:hover:not(:disabled){color:#ff5252;background:color-mix(in srgb,var(--color-error-text, #e53935) 24%,transparent)}.pwa-jobs-form-attach-card--drag{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 25%,transparent)}.pwa-jobs-form-attach-card--busy{opacity:.72;pointer-events:none}.pwa-jobs-shop-draw-card-wrap{display:flex;align-items:flex-start;gap:8px;min-width:0;height:100%}.pwa-jobs-shop-draw-card-wrap--revision-tick .pwa-jobs-shop-draw-revision-tick{margin-top:10px}.pwa-jobs-shop-draw-card-wrap--readonly .pwa-jobs-form-attach-card{border-left:3px solid var(--color-border-muted)}.pwa-jobs-shop-draw-card-wrap .pwa-jobs-shop-draw-card-unit{flex:1;min-width:0;display:flex;flex-direction:column}.pwa-jobs-shop-draw-card-unit--has-note{border:1px solid var(--color-border-muted);border-radius:10px;overflow:hidden;background:var(--color-surface)}.pwa-jobs-shop-draw-card-unit--has-note .pwa-jobs-form-attach-card{border:none;border-radius:0;box-shadow:none}.pwa-jobs-shop-draw-review-note{margin:0;padding:8px 12px 10px;font-size:.8125rem;line-height:1.45;color:var(--color-text-secondary);background:var(--color-surface-muted, rgba(0, 0, 0, .03));border-top:1px solid var(--color-border-muted);white-space:pre-wrap;word-break:break-word}.pwa-jobs-shop-draw-card-wrap .pwa-jobs-form-attach-card{flex:1;min-width:0}.pwa-jobs-form-attach-card-name-row .pwa-jobs-shop-draw-client-badge{flex-shrink:0}.pwa-jobs-shop-draw-empty-card{justify-content:center;min-height:88px}.pwa-jobs-shop-draw-empty-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;margin:0;padding:0;border:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer;color:inherit}.pwa-jobs-shop-draw-empty-btn:disabled{opacity:.55;cursor:not-allowed}.pwa-jobs-form-attach-error{color:var(--color-error-text);font-size:12px;font-weight:600}.pwa-jobs-form-required{font-size:10px;font-weight:600;color:var(--color-error-text)}.pwa-jobs-media-root{display:flex;flex-direction:column;min-height:0;flex:1}.pwa-jobs-media-head{padding-bottom:10px}.pwa-jobs-media-head-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pwa-jobs-media-head-top .pwa-jobs-form-main-title{margin:0}.pwa-jobs-shop-draw-view-toggle{display:inline-flex;align-items:center;gap:4px;padding:3px;border-radius:10px;border:1px solid var(--color-border-muted);background:var(--color-surface-muted)}.pwa-jobs-shop-draw-view-btn{display:inline-flex;align-items:center;gap:5px;margin:0;padding:5px 9px;border:none;border-radius:7px;background:transparent;color:var(--color-text-muted);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer}.pwa-jobs-shop-draw-view-btn .pwa-action-icon-svg{width:16px;height:16px}.pwa-jobs-shop-draw-view-btn--active{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 2px #00000014}.pwa-jobs-shop-draw-view-btn-label{line-height:1}@media(max-width:420px){.pwa-jobs-shop-draw-view-btn-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}.pwa-jobs-shop-draw-files--list .pwa-jobs-form-attach-list{grid-template-columns:1fr}.pwa-jobs-shop-draw-files--list .pwa-jobs-form-attach-card{max-width:none}.pwa-jobs-shop-draw-files--list .pwa-jobs-form-attach-card-top{align-items:center}.pwa-jobs-shop-draw-files--list .pwa-jobs-form-attach-card-name{-webkit-line-clamp:3}.pwa-jobs-media-sub{margin:6px 0 0;font-size:13px;color:var(--color-text-muted);font-weight:500;line-height:1.4}.pwa-jobs-site-measure-banner{margin-bottom:12px}.pwa-jobs-site-measure-section{margin-bottom:20px}.pwa-jobs-site-measure-label{display:block;font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.pwa-jobs-site-measure-notes{width:100%;box-sizing:border-box;min-height:120px;padding:10px 12px;border-radius:10px;border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text);font-size:14px;line-height:1.45;resize:vertical}.pwa-jobs-site-measure-meta{margin-top:6px;font-size:12px;color:var(--color-text-muted)}.pwa-jobs-site-measure-files-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.pwa-jobs-site-measure-count{font-size:12px;color:var(--color-text-muted);font-weight:600}.pwa-jobs-media-section{margin-bottom:22px}.pwa-jobs-media-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.pwa-jobs-media-section-title{margin:0;font-size:16px;font-weight:700;color:var(--color-text)}.pwa-jobs-media-section-rule{border:none;border-top:1px solid var(--color-border-muted);margin:8px 0 12px}.pwa-jobs-media-count-pill{font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px}.pwa-jobs-media-count-pill--forApproval{background:color-mix(in srgb,#42a5f5 22%,var(--color-surface-muted));color:#90caf9}.pwa-jobs-media-count-pill--approvedDrawing{background:color-mix(in srgb,#66bb6a 22%,var(--color-surface-muted));color:#a5d6a7}.pwa-jobs-media-count-pill--thirdPartyOrders{background:color-mix(in srgb,#ab47bc 22%,var(--color-surface-muted));color:#ce93d8}.pwa-jobs-media-count-pill--constructionDrawings{background:color-mix(in srgb,#ffa726 22%,var(--color-surface-muted));color:#ffcc80}.pwa-jobs-media-count-pill--other{background:var(--color-surface-muted);color:var(--color-text-muted)}.pwa-jobs-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px}.pwa-jobs-media-draw-card{border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-surface);overflow:hidden;display:flex;flex-direction:column}.pwa-jobs-media-draw-thumb{height:100px;background:var(--color-surface-muted);display:flex;align-items:center;justify-content:center}.pwa-jobs-media-draw-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px}.pwa-jobs-media-draw-name{font-size:13px;font-weight:600;color:var(--color-text);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word}.pwa-jobs-media-draw-meta{font-size:11px;color:var(--color-text-muted)}.pwa-jobs-media-draw-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}.pwa-jobs-media-type-pill{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:6px}.pwa-jobs-media-type-pill--forApproval{background:color-mix(in srgb,#42a5f5 18%,transparent);color:#90caf9}.pwa-jobs-media-type-pill--approvedDrawing{background:color-mix(in srgb,#66bb6a 18%,transparent);color:#a5d6a7}.pwa-jobs-media-type-pill--thirdPartyOrders{background:color-mix(in srgb,#ab47bc 18%,transparent);color:#ce93d8}.pwa-jobs-media-type-pill--constructionDrawings{background:color-mix(in srgb,#ffa726 18%,transparent);color:#ffcc80}.pwa-jobs-media-type-pill--other{background:var(--color-surface-muted);color:var(--color-text-muted)}.pwa-jobs-media-grid--single{grid-template-columns:minmax(min(100%,220px),280px)}.pwa-jobs-shop-draw-card{min-height:168px}.pwa-jobs-shop-draw-card--empty{border-style:dashed;background:color-mix(in srgb,var(--color-surface-muted) 55%,transparent)}.pwa-jobs-shop-draw-card--active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.pwa-jobs-shop-draw-upload-fill{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;min-height:168px;margin:0;padding:12px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-family:inherit}.pwa-jobs-shop-draw-upload-title{font-size:13px;font-weight:700;color:var(--color-text);text-align:center}.pwa-jobs-shop-draw-upload-sub{font-size:11px;color:var(--color-text-muted);text-align:center}.pwa-jobs-shop-draw-thumb-btn{display:block;width:100%;margin:0;padding:0;border:none;background:none;cursor:pointer}.pwa-jobs-shop-draw-thumb{height:120px;overflow:hidden}.pwa-jobs-shop-draw-thumb-frame{width:100%;height:100%;border:none;pointer-events:none}.pwa-jobs-shop-draw-thumb-img{width:100%;height:100%;object-fit:cover;display:block}.pwa-jobs-shop-draw-list{display:grid;grid-template-columns:1fr;gap:8px}@media(min-width:520px){.pwa-jobs-shop-draw-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.pwa-jobs-shop-draw-tabs{display:flex;gap:8px;padding:0 0 12px;border-bottom:1px solid var(--color-border-muted);margin-bottom:12px}.pwa-jobs-shop-draw-tab{padding:6px 12px;border-radius:999px;border:1px solid var(--color-border-muted);background:var(--color-surface);font-size:12px;font-weight:600;color:var(--color-text-muted);cursor:pointer}.pwa-jobs-shop-draw-tab--active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-muted)}.pwa-jobs-shop-draw-row{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:8px;align-items:start;padding:8px;border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-surface)}.pwa-jobs-shop-draw-row--revision-tick{grid-template-columns:28px 56px minmax(0,1fr);padding-top:10px}.pwa-jobs-shop-draw-row--drag{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 25%,transparent)}.pwa-jobs-shop-draw-row--readonly{border-left:3px solid var(--color-border-muted)}.pwa-jobs-shop-draw-row-unit{color:var(--color-text-muted);font-size:.82rem}.pwa-jobs-shop-draw-row--empty{grid-template-columns:1fr}.pwa-jobs-shop-draw-row-thumb{position:relative;display:block;width:56px;height:56px;margin:0;padding:0;border:none;border-radius:6px;overflow:hidden;background:var(--color-surface-muted);cursor:pointer}.pwa-jobs-shop-draw-row-thumb .pwa-jobs-shop-draw-thumb-img,.pwa-jobs-shop-draw-row-thumb .pwa-jobs-form-attach-pdf-badge{width:100%;height:100%;object-fit:cover}.pwa-jobs-shop-draw-row-body{min-width:0}.pwa-jobs-shop-draw-row-title{font-size:12px;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pwa-jobs-shop-draw-row-meta{font-size:11px;color:var(--color-text-muted);margin-top:2px}.pwa-jobs-shop-draw-row-meta--submitted{color:var(--color-success-text);font-weight:600}.pwa-jobs-shop-draw-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.pwa-jobs-shop-draw-row-empty-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;margin:0;padding:10px;border:none;background:transparent;cursor:pointer;text-align:left}.pwa-jobs-shop-draw-revision-tick{position:relative;justify-self:start;align-self:start;z-index:2;width:22px;height:22px;margin:0;cursor:pointer}.pwa-jobs-shop-draw-revision-tick input{position:absolute;inset:0;z-index:2;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.pwa-jobs-shop-draw-revision-tick-mark{display:block;pointer-events:none;width:22px;height:22px;border-radius:4px;border:2px solid var(--color-border-strong);background:var(--color-surface);box-shadow:0 1px 3px var(--color-shadow-soft)}.pwa-jobs-shop-draw-revision-tick input:checked+.pwa-jobs-shop-draw-revision-tick-mark{background:var(--color-primary);border-color:var(--color-primary)}.pwa-jobs-shop-draw-revision-tick input:checked+.pwa-jobs-shop-draw-revision-tick-mark:after{content:"";display:block;width:6px;height:10px;margin:3px auto 0;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.pwa-jobs-drawing-preview-loading,.pwa-jobs-drawing-preview-error{display:flex;align-items:center;justify-content:center;height:100%;padding:16px;font-size:13px;color:var(--color-text-muted);text-align:center}.pwa-jobs-drawing-preview-pdf-scroll{width:100%;height:100%;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom;background:var(--color-page);padding:8px;box-sizing:border-box}.pwa-jobs-drawing-preview-pdf-page{display:block;width:100%;height:auto;margin:0 auto 12px;box-shadow:0 1px 4px var(--color-shadow-soft)}.pwa-jobs-shop-draw-modal-backdrop{position:fixed;inset:0;z-index:12000;background:var(--color-overlay-backdrop);display:flex;align-items:center;justify-content:center;padding:16px;overflow:hidden;overscroll-behavior:none}.pwa-jobs-shop-draw-modal{width:min(100%,420px);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:12px;padding:16px;box-shadow:0 16px 36px var(--color-shadow-modal)}.pwa-jobs-shop-draw-modal-title{margin:0 0 6px;font-size:16px;font-weight:700}.pwa-jobs-shop-draw-modal-sub{margin:0 0 12px;font-size:13px;color:var(--color-text-muted)}.pwa-jobs-shop-draw-modal-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.pwa-jobs-shop-draw-modal-btn{border:1px solid var(--color-border-muted);border-radius:8px;padding:10px 12px;background:var(--color-surface-muted);color:var(--color-text);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;text-align:left}.pwa-jobs-shop-draw-modal-btn:hover:not(:disabled){border-color:var(--color-primary)}.pwa-jobs-shop-draw-status-options{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.pwa-jobs-shop-draw-modal-btn--status{width:100%}.pwa-jobs-shop-draw-modal-btn--status-selected{outline:2px solid var(--color-accent, #2563eb);outline-offset:1px}.pwa-jobs-shop-draw-modal-note-label{display:flex;flex-direction:column;gap:6px;margin:12px 0 0;font-size:.875rem;font-weight:600;color:var(--color-text)}.pwa-jobs-shop-draw-modal-footer{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:12px;margin-top:16px;padding-top:4px}.pwa-jobs-shop-draw-modal-btn--confirm{text-align:center;min-width:7.5rem;background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.pwa-jobs-shop-draw-modal-btn--confirm:hover:not(:disabled){background:var(--color-primary-hover, var(--color-primary));border-color:var(--color-primary-hover, var(--color-primary));color:var(--color-on-primary)}.pwa-jobs-shop-draw-modal-btn--confirm:disabled{opacity:.55;cursor:not-allowed}.pwa-jobs-shop-draw-modal-btn--reject{text-align:center;min-width:7.5rem;background:var(--color-danger);color:var(--color-on-primary, #fff);border-color:var(--color-danger)}.pwa-jobs-shop-draw-modal-btn--reject:hover:not(:disabled){filter:brightness(.95)}.pwa-jobs-shop-draw-modal-btn--reject:disabled{opacity:.55;cursor:not-allowed}.pwa-jobs-shop-draw-modal-note-optional{font-weight:400;color:var(--color-text-secondary)}.pwa-jobs-shop-draw-modal-note{width:100%;min-height:72px;padding:8px 10px;font:inherit;font-weight:400;line-height:1.45;border:1px solid var(--color-border-muted);border-radius:8px;resize:vertical;box-sizing:border-box}.pwa-jobs-media-text-link--danger{color:var(--color-danger, #dc2626)}.pwa-jobs-shop-draw-row-title-row{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;min-width:0}.pwa-jobs-shop-draw-row-title-row .pwa-jobs-shop-draw-row-title{flex:1 1 auto;min-width:0}.pwa-jobs-shop-draw-client-badge{flex:0 0 auto;border:none;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;font-family:inherit;line-height:1.2;cursor:pointer;white-space:nowrap}.pwa-jobs-shop-draw-client-badge--client_rejected{background:#dc262624;color:#b91c1c}.pwa-jobs-shop-draw-client-badge--client_approved,.pwa-jobs-shop-draw-client-badge--client_approved_with_comments{background:#16a34a24;color:#15803d}.pwa-jobs-shop-draw-client-badge:hover:not(:disabled){filter:brightness(.95)}.pwa-jobs-shop-draw-preview-backdrop{position:fixed;inset:0;z-index:10000;background:var(--color-overlay-backdrop);display:flex;align-items:center;justify-content:center;padding:12px}.pwa-jobs-shop-draw-preview-panel{width:min(100vw - 24px,1600px);height:calc(100dvh - 24px);background:var(--color-surface);border-radius:12px;border:1px solid var(--color-border-strong);overflow:hidden;display:grid;grid-template-rows:48px minmax(0,1fr)}.pwa-jobs-shop-draw-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;border-bottom:1px solid var(--color-border-muted)}.pwa-jobs-shop-draw-preview-title{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pwa-jobs-shop-draw-preview-frame{width:100%;height:100%;border:none}.pwa-jobs-media-text-link{display:inline-flex;align-items:center;gap:4px;margin:0;padding:0;border:none;background:none;color:var(--color-primary);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;text-decoration:underline}.pwa-jobs-media-text-link:hover{opacity:.9}.pwa-jobs-media-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px}.pwa-jobs-media-photo-card{border:1px solid var(--color-border-muted);border-radius:10px;overflow:hidden;background:var(--color-surface);display:flex;flex-direction:column}.pwa-jobs-media-photo-preview{aspect-ratio:4 / 3;background:var(--color-surface-muted);display:flex;align-items:center;justify-content:center}.pwa-jobs-media-photo-img{width:100%;height:100%;object-fit:cover;display:block}.pwa-jobs-media-photo-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:120px}.pwa-jobs-media-photo-placeholder-glyph{font-size:42px;opacity:.35}.pwa-jobs-media-photo-footer{padding:10px 12px 12px;background:color-mix(in srgb,var(--color-surface-muted) 55%,var(--color-surface))}.pwa-jobs-media-photo-title{font-size:13px;font-weight:700;color:var(--color-text);line-height:1.3}.pwa-jobs-media-photo-sub{margin-top:4px;font-size:12px;color:var(--color-text-muted);font-weight:500;line-height:1.35}.pwa-jobs-form-q-value{margin-top:6px;font-size:13px;line-height:1.5;color:var(--color-text-secondary);white-space:pre-wrap;background:transparent;border:none;border-radius:0;padding:0}.pwa-jobs-form-q-input{margin-top:8px}.pwa-jobs-form-q-input input:not([type=file]):not([type=checkbox]):not([type=radio]),.pwa-jobs-form-q-input textarea,.pwa-jobs-form-q-input select{width:100%;max-width:100%;box-sizing:border-box;background-color:var(--color-surface-muted);border:1px solid var(--color-border-strong);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45;font-family:inherit;color:var(--color-text)}.pwa-jobs-form-q-input textarea{resize:vertical;min-height:72px}.pwa-jobs-form-q-input input::placeholder,.pwa-jobs-form-q-input textarea::placeholder{color:var(--color-text-muted);opacity:1}.pwa-jobs-form-q-actions{display:flex;align-items:flex-start;justify-content:flex-end;padding-top:0}@media(max-width:640px){.pwa-jobs-form-question-row{grid-template-columns:24px minmax(0,1fr);gap:8px 10px}.pwa-jobs-form-q-actions{grid-column:2;justify-content:flex-start;padding-top:2px}.pwa-jobs-form-q-body{grid-column:2}}.pwa-jobs-toggle-group{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pwa-jobs-toggle-btn{margin:0;padding:6px 14px;border-radius:10px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid var(--color-border-strong);background:var(--color-surface-muted);color:var(--color-text-muted)}span.pwa-jobs-toggle-btn{display:inline-flex;align-items:center;justify-content:center;cursor:default;box-sizing:border-box}.pwa-jobs-toggle-btn:hover{border-color:var(--color-border-strong);color:var(--color-text-secondary)}.pwa-jobs-toggle-btn--yes.pwa-jobs-toggle-btn--on-yes{border-color:var(--color-success);color:var(--color-success);background:color-mix(in srgb,var(--color-success) 10%,transparent)}.pwa-jobs-toggle-btn--no.pwa-jobs-toggle-btn--on-no{border-color:var(--color-text-secondary);color:var(--color-text);background:var(--color-surface-hover)}.pwa-jobs-toggle-group--triple{gap:6px}.pwa-jobs-toggle-btn--nr.pwa-jobs-toggle-btn--on-nr{border-color:var(--color-text-muted);color:var(--color-text-secondary);background:color-mix(in srgb,var(--color-border-strong) 35%,transparent)}.pwa-jobs-form-meta-block{margin-top:16px;padding-top:12px;border-top:none;display:grid;gap:4px}.pwa-jobs-form-meta-line{font-size:12px;color:var(--color-text-secondary)}.pwa-jobs-form-meta-k{font-weight:700}.pwa-jobs-form-list-item--complete .pwa-jobs-form-list-bar-fill{background:var(--color-success)}.pwa-jobs-form-list-item--selected .pwa-jobs-form-list-bar-fill{background:var(--color-primary)}@media(max-width:768px){.pwa-jobs-forms-split{flex-direction:column;min-height:0;overflow:visible;align-items:stretch}.pwa-jobs-forms-aside{width:100%;max-height:none;flex-shrink:0;border-right:none;border-bottom:1px solid var(--color-border-muted);min-height:0}.pwa-jobs-forms-aside-label{padding:6px 8px 4px;font-size:11px}.pwa-jobs-forms-list{display:flex;flex-direction:row;flex-wrap:nowrap;gap:6px;overflow-x:auto;overflow-y:hidden;padding:4px 8px 10px;flex:0 0 auto;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.pwa-jobs-forms-list::-webkit-scrollbar{display:none}.pwa-jobs-form-list-item{flex:0 0 auto;min-width:80px;max-width:150px;padding:6px 8px 8px;border-radius:6px;border:.5px solid var(--color-border-muted);border-left-width:3px;border-left-style:solid;border-left-color:transparent;width:auto}.pwa-jobs-form-list-item-meta{display:none}.pwa-jobs-form-list-item-title{font-size:11px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pwa-jobs-form-list-bar{margin-top:4px;height:2px}.pwa-jobs-form-list-item.pwa-jobs-form-list-item--complete:not(.pwa-jobs-form-list-item--selected){border-left-color:var(--color-success)}.pwa-jobs-form-list-item.pwa-jobs-form-list-item--selected{border-left-color:var(--color-primary);background:var(--color-primary-bg)}.pwa-jobs-forms-main{width:100%;min-height:0;flex:1 1 auto}.pwa-jobs-forms-scroll{flex:0 0 auto;min-height:0;overflow:visible;max-height:none}.pwa-jobs-form-main-head{padding:8px 2px 10px}}@media(max-width:768px){.pwa-jobs-status-split{flex-direction:column;min-height:0;overflow:visible}.pwa-jobs-status-aside{width:100%;border-right:none;border-bottom:1px solid var(--color-border-muted);padding-right:0;padding-bottom:8px;margin-bottom:6px}.pwa-jobs-status-stage-list{display:none}.pwa-jobs-status-main-scroll{padding:6px 2px 10px}.pwa-jobs-status-stepper{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.pwa-jobs-status-stage-group{padding:9px}}.pwa-jobs-deliverables-tab-root{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}.pwa-jobs-deliverables-split{display:flex;flex:1;min-height:min(72dvh,820px);gap:0;border:none;border-radius:0;background:transparent;overflow:hidden}.pwa-jobs-deliverables-aside{width:min(38%,280px);flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--color-border-muted);background:transparent;min-height:0}.pwa-jobs-deliverables-aside-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:nowrap}.pwa-jobs-deliverables-aside-head .pwa-jobs-forms-aside-label{flex:1;min-width:0;padding-right:8px}.pwa-action-icon-svg{display:block;width:18px;height:18px;flex-shrink:0}.pwa-jobs-deliverables-add-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:.5px solid var(--color-success-outline-border);background:none;color:var(--color-success);border-radius:5px;font-size:0;line-height:0;cursor:pointer}.pwa-jobs-deliverables-add-btn:hover:not(:disabled){color:var(--color-success-text);border-color:color-mix(in srgb,var(--color-success) 42%,transparent);background:color-mix(in srgb,var(--color-success-bg) 35%,transparent)}.pwa-jobs-deliverables-add-btn:disabled{background:none;border-color:var(--color-border-muted);color:var(--color-submit-disabled);cursor:not-allowed}.pwa-jobs-deliverables-scan-btn{border:1px solid var(--color-primary);background:var(--color-assign-panel-bg);color:var(--color-primary);border-radius:8px;padding:5px 9px;font-size:11px;font-weight:700;cursor:pointer;flex-shrink:0}.pwa-jobs-deliverables-aside-actions{display:flex;flex-wrap:nowrap;gap:6px;justify-content:flex-end;align-items:center;flex-shrink:0;padding:8px 4px 0 0}.pwa-jobs-deliverables-aside-list{flex:1;min-height:0;overflow-y:auto;padding:0 4px 8px;display:flex;flex-direction:column;gap:4px}.pwa-jobs-deliverables-aside-row{display:block;width:100%;box-sizing:border-box;text-align:left;margin:0;border:none;border-radius:8px;background:transparent;padding:10px 10px 8px;cursor:pointer;color:inherit;font-family:inherit}.pwa-jobs-deliverables-aside-row:hover{background:color-mix(in srgb,var(--color-surface-hover) 65%,transparent)}.pwa-jobs-deliverables-aside-row--active{background:color-mix(in srgb,var(--color-primary) 16%,transparent);border:none}.pwa-jobs-deliverables-aside-row-title{font-size:13px;font-weight:500;color:var(--color-text-secondary);line-height:1.3}.pwa-jobs-deliverables-aside-row--active .pwa-jobs-deliverables-aside-row-title{color:var(--color-text)}.pwa-jobs-deliverables-aside-row-frac{margin-top:6px;font-size:11px;font-weight:600;color:var(--color-text-muted);font-variant-numeric:tabular-nums;line-height:1.3}.pwa-jobs-deliverables-aside-row--active .pwa-jobs-deliverables-aside-row-frac{color:var(--color-text-secondary)}.pwa-jobs-deliverables-aside-row-bar{height:3px;border-radius:999px;background:color-mix(in srgb,var(--color-border-muted) 55%,transparent);margin-top:8px;overflow:hidden}.pwa-jobs-deliverables-aside-row-bar-fill{height:100%;border-radius:inherit;background:var(--color-primary);min-width:0;transition:width .2s ease}.pwa-jobs-deliverables-aside-row--complete .pwa-jobs-deliverables-aside-row-bar-fill{background:var(--color-success)}.pwa-jobs-deliverables-aside-row--active .pwa-jobs-deliverables-aside-row-bar-fill{background:var(--color-primary)}.pwa-jobs-deliverables-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.pwa-jobs-deliverables-main-inner{flex:1;min-height:0;display:flex;flex-direction:column}.pwa-jobs-deliverables-main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px 0;flex-shrink:0}.pwa-jobs-deliverables-main-title{margin:0 0 10px;font-size:clamp(18px,2.4vw,22px);font-weight:700;line-height:1.2;color:var(--color-text);letter-spacing:-.01em}.pwa-jobs-deliverables-main-actions{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}.pwa-jobs-deliverables-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:1px solid var(--color-border-muted);background:var(--color-surface);border-radius:5px;font-size:0;line-height:0;cursor:pointer;color:var(--color-text)}.pwa-jobs-deliverables-edit-btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-hover)}.pwa-jobs-deliverables-edit-btn:disabled{cursor:not-allowed;opacity:.6}.pwa-jobs-deliverables-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:.5px solid var(--color-danger-outline-border);background:none;color:var(--color-danger);border-radius:5px;font-size:0;line-height:0;cursor:pointer}.pwa-jobs-deliverables-delete-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-danger) 45%,transparent);color:var(--color-danger-hover)}.pwa-jobs-deliverables-delete-btn:disabled{cursor:not-allowed;opacity:.6}.pwa-task-comment-actions{margin-top:6px;display:flex;align-items:center;justify-content:flex-end;gap:6px}.pwa-task-comment-actions--head{margin-top:0;flex-shrink:0;justify-content:flex-end}button.pwa-task-comment-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border-radius:5px;font-size:0;line-height:0;cursor:pointer;font-family:inherit;box-sizing:border-box}button.pwa-task-comment-icon-btn:disabled{cursor:not-allowed;opacity:.55}button.pwa-task-comment-icon-btn--edit{border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-text)}button.pwa-task-comment-icon-btn--edit:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-hover)}button.pwa-task-comment-icon-btn--delete{border:.5px solid var(--color-danger-outline-border);background:none;color:var(--color-danger)}button.pwa-task-comment-icon-btn--delete:hover:not(:disabled){border-color:color-mix(in srgb,var(--color-danger) 45%,transparent);color:var(--color-danger-hover)}button.pwa-task-comment-icon-btn--download{border:1px solid var(--color-border-muted);background:var(--color-surface);color:var(--color-primary)}button.pwa-task-comment-icon-btn--download:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-hover);color:var(--color-primary-hover)}.pwa-jobs-deliverables-main-scroll{flex:1;min-height:0;overflow-y:auto;padding:12px 14px 14px}.pwa-jobs-deliverables-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;margin-bottom:0}.pwa-jobs-deliverables-grid-cp-divider{display:block;height:.5px;margin:16px 0 12px;border:none;background:var(--color-border)}.pwa-jobs-deliverable-detail-field--span{grid-column:1 / -1}.pwa-jobs-deliverable-detail-label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:3px}.pwa-jobs-deliverable-detail-value{font-size:13px;font-weight:500;color:var(--color-text-secondary);line-height:1.5;word-break:break-word}.pwa-jobs-deliverables-cp-block{padding-top:0}.pwa-jobs-deliverables-cp-heading{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:10px}.pwa-jobs-deliverables-main-progress-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.pwa-jobs-deliverables-main-progress-left{flex-shrink:0;font-size:12px;font-weight:600;color:var(--color-text-secondary)}.pwa-jobs-deliverables-main-bar{flex:1;height:5px;border-radius:999px;background:var(--color-border);overflow:hidden}.pwa-jobs-deliverables-main-bar-fill{height:100%;border-radius:inherit;background:transparent;min-width:0;transition:width .2s ease}.pwa-jobs-deliverables-main-bar-fill--complete{background:var(--color-success)}.pwa-jobs-deliverables-main-bar-fill--progress{background:var(--color-primary)}.pwa-jobs-deliverables-main-progress-pct{flex-shrink:0;font-size:12px;font-weight:600;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;min-width:2.5rem;text-align:right}.pwa-jobs-deliverables-cp-list{display:flex;flex-direction:column;gap:8px}.pwa-jobs-deliverables-cp-card{display:flex;flex-direction:row;align-items:center;gap:10px;padding:10px 13px;border-radius:8px;background:var(--color-surface);border:.5px solid var(--color-border)}.pwa-jobs-deliverables-cp-card--done{background:var(--color-success-bg);border:.5px solid var(--color-success-border);border-radius:7px}.pwa-jobs-deliverables-cp-idx{flex-shrink:0;width:1.25rem;font-size:10px;font-weight:600;color:var(--color-text-faint);font-variant-numeric:tabular-nums}.pwa-jobs-deliverables-cp-ring{flex-shrink:0;width:22px;height:22px;border-radius:50%;box-sizing:border-box;border:1.5px solid var(--color-border-hover);background:none;display:flex;align-items:center;justify-content:center}.pwa-jobs-deliverables-cp-card--done .pwa-jobs-deliverables-cp-ring{border:1.5px solid var(--color-success);background:var(--color-success)}.pwa-jobs-deliverables-cp-check{font-size:11px;font-weight:800;line-height:1;color:var(--color-on-primary)}.pwa-jobs-deliverables-cp-text{flex:1;min-width:0}.pwa-jobs-deliverables-cp-name{font-size:13px;font-weight:500;color:var(--color-text-secondary);line-height:1.35}.pwa-jobs-deliverables-cp-card--done .pwa-jobs-deliverables-cp-name{color:var(--color-success)}.pwa-jobs-deliverables-cp-card--done .pwa-jobs-deliverables-cp-status{color:color-mix(in srgb,var(--color-success) 50%,transparent)}.pwa-jobs-deliverables-cp-status{margin-top:6px;font-size:13px;font-weight:500;color:var(--color-text-secondary);line-height:1.35}.pwa-jobs-deliverables-cp-status-inner{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.pwa-jobs-deliverables-cp-status-line{font-size:13px;font-weight:600;line-height:1.25}.pwa-jobs-deliverables-cp-audit{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:100%}.pwa-jobs-deliverables-cp-card--done .pwa-jobs-deliverables-cp-audit .pwa-jobs-form-q-audit-when{color:color-mix(in srgb,var(--color-success) 72%,var(--color-text-muted) 28%)}.pwa-jobs-deliverables-cp-actions{flex-shrink:0}.pwa-jobs-deliverables-cp-btn{border-radius:5px;padding:5px 11px;font-size:11px;font-weight:500;line-height:1.35;cursor:pointer;border:.5px solid transparent;font-family:inherit}.pwa-jobs-deliverables-cp-btn:disabled{cursor:not-allowed;opacity:.55}.pwa-jobs-deliverables-cp-btn--primary{background:var(--color-primary-bg);color:var(--color-primary);border:.5px solid var(--color-primary-outline-border)}.pwa-jobs-deliverables-cp-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary-bg) 88%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 35%,transparent);color:var(--color-primary-hover)}.pwa-jobs-deliverables-cp-btn--ghost{background:var(--color-deliverable-uncheck-bg);color:var(--color-text-faint);border:.5px solid var(--color-border)}.pwa-jobs-deliverables-cp-btn--ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-deliverable-uncheck-bg) 80%,var(--color-surface-hover));color:var(--color-text-muted)}@media(max-width:768px){.pwa-jobs-deliverables-split{flex-direction:column;min-height:min(64dvh,680px)}.pwa-jobs-deliverables-aside{width:100%;min-width:0;max-width:none;max-height:none;flex-shrink:0;border-right:none;border-bottom:1px solid var(--color-border-muted)}.pwa-jobs-deliverables-aside-head{padding:6px 8px 4px;width:100%;max-width:100%;box-sizing:border-box;align-items:center}.pwa-jobs-deliverables-aside-head .pwa-jobs-forms-aside-label{padding:6px 8px 4px;font-size:11px}.pwa-jobs-deliverables-aside-actions{padding:4px 8px 4px 0;flex-wrap:wrap}.pwa-jobs-deliverables-aside-list{display:flex;flex-direction:row;flex-wrap:nowrap;gap:6px;overflow-x:auto;overflow-y:hidden;padding:4px 8px 10px;flex:0 0 auto;width:100%;max-width:100%;box-sizing:border-box;max-height:none;scrollbar-width:none;-ms-overflow-style:none}.pwa-jobs-deliverables-aside-list::-webkit-scrollbar{display:none}.pwa-jobs-deliverables-aside-row{flex:0 0 auto;min-width:80px;max-width:150px;padding:6px 8px 8px;border-radius:6px;border:.5px solid var(--color-border-muted);border-left-width:3px;border-left-style:solid;border-left-color:transparent;width:auto}.pwa-jobs-deliverables-aside-row-frac{display:none}.pwa-jobs-deliverables-aside-row-title{font-size:11px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pwa-jobs-deliverables-aside-row-bar{margin-top:4px;height:2px}.pwa-jobs-deliverables-aside-row.pwa-jobs-deliverables-aside-row--complete:not(.pwa-jobs-deliverables-aside-row--active){border-left-color:var(--color-success)}.pwa-jobs-deliverables-aside-row.pwa-jobs-deliverables-aside-row--active{border-left-color:var(--color-primary);background:var(--color-primary-bg)}.pwa-jobs-deliverables-main{min-height:0;flex:1}.pwa-jobs-deliverables-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-bottom:0}.pwa-jobs-deliverables-grid-cp-divider{margin:12px 0 10px}.pwa-jobs-deliverables-main-head{padding:10px 12px 0}.pwa-jobs-deliverables-main-scroll{padding:10px 12px 12px}.pwa-jobs-deliverables-main-progress-left,.pwa-jobs-deliverables-main-progress-pct{font-size:12px}.pwa-jobs-deliverables-cp-idx{font-size:9px}.pwa-jobs-deliverables-cp-btn{padding:4px 10px;font-size:10px}}.notification-panel-list{display:flex;flex-direction:column;gap:8px}.notification-panel-list--grouped{gap:14px}.notification-panel-shop-group{display:flex;flex-direction:column;gap:8px}.notification-panel-shop-group-title{margin:0;padding:0 2px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary)}.notification-panel-shop-group-items{display:flex;flex-direction:column;gap:8px}.notification-panel-empty{color:var(--color-text-muted);font-size:13px;padding:8px 2px}.notification-panel-item{position:relative;display:flex;gap:10px;width:100%;box-sizing:border-box;padding:10px 12px 10px 14px;border-radius:10px;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);transition:opacity .15s ease}.notification-panel-item--automation{border-left:3px solid #f59e0b;padding-left:12px}.notification-panel-shop-card{position:relative;display:flex;flex-direction:column;gap:10px;width:100%;box-sizing:border-box;padding:14px 14px 10px;border-radius:10px;border:1px solid var(--color-border-muted);background:var(--color-surface-muted);overflow:hidden;transition:opacity .15s ease}.notification-panel-shop-card-accent{position:absolute;top:0;left:0;right:0;height:3px;background:#f59e0b;pointer-events:none}.notification-panel-shop-card--read,.notification-panel-shop-card--dismissed{opacity:.72}.notification-panel-shop-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.notification-panel-shop-card-kicker{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#f59e0b}.notification-panel-shop-card-bolt{flex-shrink:0}.notification-panel-shop-card-time{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.notification-panel-shop-card-message{margin:0;font-size:14px;line-height:1.45;font-weight:500;color:var(--color-text)}.notification-panel-shop-card-job{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:8px;background:var(--color-background-secondary, rgba(0, 0, 0, .22));border:1px solid var(--color-border-tertiary, var(--color-border-muted))}.notification-panel-shop-card-job-icon{flex-shrink:0;margin-top:1px;color:var(--color-text-muted)}.notification-panel-shop-card-job-text{font-size:12px;line-height:1.4;color:var(--color-text-secondary);white-space:normal;word-break:break-word}.notification-panel-shop-card-actor{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--color-text-muted)}.notification-panel-shop-card-actor-icon{flex-shrink:0;opacity:.85}.notification-panel-shop-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px;padding-top:10px;border-top:1px solid var(--color-border-muted)}.notification-panel-shop-card-go{padding:8px 14px;border:none;border-radius:8px;background:var(--color-primary, #2563eb);color:var(--color-on-primary, #fff);font-size:13px;font-weight:600;cursor:pointer}.notification-panel-shop-card-go:hover{filter:brightness(1.06)}.notification-panel-shop-card-dismiss{padding:6px 4px;border:none;background:none;color:var(--color-text-muted);font-size:13px;font-weight:500;text-decoration:none;cursor:pointer}.notification-panel-shop-card-dismiss:hover{color:var(--color-text);text-decoration:underline}.notification-panel-sd-feedback-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--color-border-muted)}.notification-panel-sd-feedback-btn{padding:8px 12px;border-radius:8px;border:1px solid var(--color-border-muted);font-size:12px;font-weight:600;cursor:pointer;background:var(--color-surface);color:var(--color-text)}.notification-panel-sd-feedback-btn:disabled{opacity:.6;cursor:not-allowed}.notification-panel-sd-feedback-btn--primary.notification-panel-sd-feedback-btn--success{background:#16a34a;border-color:#16a34a;color:#fff}.notification-panel-sd-feedback-btn--primary.notification-panel-sd-feedback-btn--warning{background:#d97706;border-color:#d97706;color:#fff}.notification-panel-sd-feedback-btn--primary.notification-panel-sd-feedback-btn--danger{background:#dc2626;border-color:#dc2626;color:#fff}.notification-panel-sd-feedback-btn--primary.notification-panel-sd-feedback-btn--neutral{background:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb);color:var(--color-on-primary, #fff)}.notification-panel-sd-feedback-btn--secondary{background:var(--color-surface-muted)}.notification-panel-sd-feedback-btn--ghost{background:transparent;border-color:transparent;color:var(--color-primary, #2563eb);text-decoration:underline}.notification-panel-sd-feedback-override-wrap{position:relative;display:inline-flex;align-items:center;gap:6px}.notification-panel-sd-feedback-override-select{max-width:180px;padding:6px 8px;border-radius:8px;border:1px solid var(--color-border-muted);font-size:12px;background:var(--color-surface);color:var(--color-text)}.notification-panel-sd-feedback-error{margin:0;font-size:12px;color:#dc2626}.pwa-sd-feedback-email-modal{max-width:min(640px,96vw);max-height:85vh;display:flex;flex-direction:column;gap:0}.pwa-sd-feedback-email-header{margin-bottom:4px}.pwa-sd-feedback-email-header .pwa-jobs-shop-draw-modal-title{margin:0}.pwa-sd-feedback-email-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0 0 14px;padding:12px;border-radius:8px;background:var(--color-background-secondary, rgba(0, 0, 0, .08));border:1px solid var(--color-border-muted);font-size:13px}.pwa-sd-feedback-email-meta dt{margin:0;font-weight:600;color:var(--color-text-muted)}.pwa-sd-feedback-email-meta dd{margin:0;color:var(--color-text);word-break:break-word}.pwa-sd-feedback-email-link{color:var(--color-primary);text-decoration:none}.pwa-sd-feedback-email-link:hover{text-decoration:underline}.pwa-sd-feedback-email-body-wrap{display:flex;flex-direction:column;flex:1;min-height:0}.pwa-sd-feedback-email-body-label{margin:0 0 6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.pwa-sd-feedback-email-body{flex:1;min-height:120px;max-height:50vh;overflow:auto;margin:0;padding:12px;border-radius:8px;background:var(--color-surface, var(--color-background));border:1px solid var(--color-border-muted);font-family:inherit;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--color-text)}.notification-panel-list--grouped .notification-panel-shop-card{margin:0}.notification-panel-item--read{opacity:.72}.notification-panel-unread-dot{position:absolute;left:4px;top:14px;width:7px;height:7px;border-radius:50%;background:#3b82f6;flex-shrink:0}.notification-panel-item-inner{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;margin-left:6px}.notification-panel-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.notification-panel-category{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.02em}.notification-panel-category-icon{font-size:12px;line-height:1}.notification-panel-time{font-size:11px;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.notification-panel-actor-line{margin:0;font-size:13px;line-height:1.4;color:var(--color-text)}.notification-panel-actor-line strong{font-weight:700}.notification-panel-message{margin:0;font-size:12px;line-height:1.45;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.notification-panel-message--automation{font-size:13px;font-weight:700;color:var(--color-text);-webkit-line-clamp:4}.notification-panel-job-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 10px;border-radius:8px;background:var(--color-background-secondary, rgba(0, 0, 0, .2));border:1px solid var(--color-border-tertiary, var(--color-border-muted))}.notification-panel-job-chip-icon{font-size:11px;opacity:.65;flex-shrink:0}.notification-panel-job-chip-text{font-size:11px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-panel-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:11px;color:var(--color-text-secondary)}.notification-panel-meta-item{display:inline-flex;align-items:center;gap:5px;min-width:0}.notification-panel-meta-icon{flex-shrink:0;font-size:11px;opacity:.75}.notification-panel-meta-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.notification-panel-go-job-btn{align-self:flex-start;margin-top:2px;padding:6px 12px;border-radius:8px;border:1px solid var(--color-primary, #3b82f6);background:var(--color-surface, #fff);color:var(--color-primary, #2563eb);font-size:12px;font-weight:600;cursor:pointer}.notification-panel-rule-footer{margin-top:4px;padding-top:8px;border-top:1px solid var(--color-border-muted);font-size:11px;color:var(--color-text-muted);display:flex;align-items:center;gap:5px}.notification-panel-rule-footer-icon{opacity:.7;font-size:10px}.notification-panel-rule-source{font-size:11px;color:var(--color-text-muted);display:flex;align-items:center;gap:5px}.notification-panel-swipe-clear{width:100%;height:100%;border:none;background:var(--color-danger);color:var(--color-on-primary);font-size:12px;font-weight:700;cursor:pointer}.notification-panel-footer{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-muted);display:flex;justify-content:center}.notification-panel-footer-btn{height:32px;padding:0 14px;border-radius:8px;border:1px solid var(--color-border-secondary);background:transparent;color:var(--color-text-secondary);font-size:12px;font-weight:600;cursor:pointer}.notification-panel-footer-btn:disabled{opacity:.45;cursor:not-allowed}.notification-panel-footer-btn--secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.dashboard-kpi-settings-list{display:flex;flex-direction:column;gap:4px;max-height:min(52vh,420px);overflow-y:auto;border:1px solid var(--color-border-secondary);border-radius:8px;padding:4px}.dashboard-kpi-settings-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;background:var(--color-surface);cursor:grab}.dashboard-kpi-settings-row.is-dragging{opacity:.65;background:var(--color-tab-inactive-bg)}.dashboard-kpi-settings-drag{color:var(--color-text-muted);font-size:14px;line-height:1;-webkit-user-select:none;user-select:none}.dashboard-kpi-settings-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary);min-width:0}.dashboard-kpi-settings-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-kpi-settings-category{font-size:11px;color:var(--color-text-muted);white-space:nowrap}
