@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Work+Sans:wght@400;500;600;700&display=swap";:root{--bg-primary: #FFFFFF;--bg-secondary: #F9FAFB;--bg-normally-off: #F3F4F6;--bg-hover: #F3F4F6;--border: #E5E7EB;--border-light: #F3F4F6;--text-primary: #19202C;--text-secondary: #6B7280;--text-muted: #9CA3AF;--accent: #2563EB;--accent-light: #EFF6FF;--accent-hover: #1D4ED8;--ai-blue: #2563EB;--ai-violet: #7C3AED;--ai-violet-deep: #6D28D9;--ai-grad: linear-gradient(135deg, #2563EB 0%, #7C3AED 100%);--ai-grad-vivid: linear-gradient(135deg, #3B82F6 0%, #8B5CF6 55%, #A855F7 100%);--ai-grad-soft: linear-gradient(135deg, rgba(37, 99, 235, .14) 0%, rgba(124, 58, 237, .14) 100%);--ai-glow: rgba(109, 63, 227, .5);--ai-glow-soft: rgba(124, 58, 237, .28);--ai-frame: rgba(124, 58, 237, .32);--ai-pixel: rgba(99, 91, 233, .55);--crew-chip-color: #1E53C5;--crew-chip-bg: #E8F0FE;--warning: #F59E0B;--warning-light: #FEF3C7;--error: #D42E15;--error-light: #FEE2E2;--success: #49BF55;--production-bar: #3B82F6;--milestone: #8B5CF6;--font-display: "Space Grotesk", "Work Sans", sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--sidebar-width: 420px;--header-height: 66px;--row-height: 111px;--day-width: 40px;--radius-sm: 2px;--radius-md: 2px;--radius-lg: 8px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f7f7f4;padding:48px 24px}.login-card{width:min(460px,92vw);padding:44px 44px 40px;display:flex;flex-direction:column;gap:20px;border-radius:20px;border:1px solid #E4E1DB;box-shadow:0 24px 60px #0f172a1f}.login-loading{align-items:center;text-align:center}.login-logo{color:#1f2937}.login-logo svg{width:220px;height:auto;display:block}.login-title{font-family:var(--font-display);font-weight:600;color:#19202c}.login-subtitle{color:#64748b}.login-form{display:grid;gap:14px}.form-input-wrapper{display:flex;flex-direction:column;gap:4px}.form-input-label{font-size:13px;font-weight:500;color:#475569}.form-input{padding:10px 14px;border-radius:12px;border:1px solid #D9D6CF;background:#fafaf7;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s ease}.form-input:focus{border-color:#a16207}.form-input-wrapper.error .form-input{border-color:var(--error)}.form-input-helper{font-size:12px;color:var(--error);min-height:16px}@keyframes spin{to{transform:rotate(360deg)}}.login-submit{font-family:inherit;font-size:14px;font-weight:600;padding:12px;border-radius:12px;border:none;background:#1f2937;color:#fff;cursor:pointer;transition:background .15s ease}.login-submit:hover{background:#19202c}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-footnote{color:#94a3b8;font-size:13px}.login-error{color:var(--error);font-size:13px}@media(max-width:960px){.login-card{padding:36px 28px 32px}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:var(--font-family);color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-size:var(--font-size-base)}button{font-family:var(--font-family)}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.main{flex:1;overflow:hidden}.timeline-table-page{height:100%;background:#fff;display:flex;flex-direction:column}.timeline-table-shell{height:100%;background:#fff;overflow:hidden;display:flex;flex-direction:column}.timeline-table-scroll{flex:1;overflow:auto;scrollbar-gutter:stable both-edges;background:#fff}.ttable-container{width:max-content;min-width:100%}.ttable-thead{display:flex;align-items:stretch;position:sticky;top:0;z-index:5;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.ttable-thead .mlist-th{display:flex;align-items:center;gap:4px;padding:0 12px;height:36px;color:var(--text-secondary);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;border-right:1px solid rgba(25,32,44,.06)}.ttable-thead .mlist-th-text{overflow:hidden;text-overflow:ellipsis;min-width:0}.ttable-thead .mlist-th:last-child{border-right:none}.ttable-thead .mlist-th:hover{background:var(--bg-hover)}.ttable-thead .mlist-th.dragging{background:#dbeafe!important}[data-group-key=plant]{--milestone-group-accent: #1E3A8A;--milestone-group-tint: rgba(37, 99, 235, .08);--milestone-group-tint-strong: rgba(37, 99, 235, .12)}[data-group-key=site]{--milestone-group-accent: #671198;--milestone-group-tint: rgba(103, 17, 152, .08);--milestone-group-tint-strong: rgba(103, 17, 152, .12)}[data-group-key=custom]{--milestone-group-accent: #4C5E78;--milestone-group-tint: rgba(76, 94, 120, .08);--milestone-group-tint-strong: rgba(76, 94, 120, .12)}.ttable-thead .mlist-th.ttable-group-start,.ttable-cell.ttable-group-start,.date-cell.milestone-group-start,.column-header-draggable.milestone-group-start{border-left:2px solid var(--milestone-group-accent, #111827);background-image:linear-gradient(90deg,var(--milestone-group-tint, transparent),transparent 64%)}.timeline-table-group-label,.column-header-draggable.milestone-group-start:before{position:absolute;top:2px;left:8px;font-size:8px;font-weight:700;line-height:1;color:var(--milestone-group-accent, #111827);text-transform:uppercase;letter-spacing:.04em}.timeline-table-group-label+.mlist-th-text{margin-top:8px}.column-header-draggable.milestone-group-start:before{content:attr(data-group-label)}.ttable-tbody{display:flex;flex-direction:column}.ttable-row{display:flex;align-items:stretch;border-bottom:1px solid rgba(25,32,44,.1)}.ttable-row:hover{background:var(--bg-hover)}.ttable-cell{position:relative;display:flex;align-items:center;padding:0 12px;min-height:58px;font-size:12px;font-weight:500;color:var(--text-primary);background:transparent;border-right:1px solid rgba(25,32,44,.06);overflow:hidden}.ttable-cell:last-child{border-right:none}.ttable-cell.empty{color:var(--text-secondary)}.ttable-cell:hover:after{content:"";position:absolute;inset:0;background:#19202c0a;pointer-events:none}.ttable-cell.col-dragging{background:#eff6ff!important}.ttable-project-col{position:sticky;left:0;z-index:3;box-shadow:2px 0 #e2e8f0;background:#fff}.ttable-project-head{position:sticky!important;left:0;z-index:6!important;background:var(--bg-secondary)!important}.ttable-project-head-filter{display:inline-flex;align-items:center;margin-left:auto}.project-header-with-filter{display:flex;align-items:center;justify-self:stretch;gap:4px;width:100%;min-width:0;grid-column:1 / -1;padding:0;margin:0}.project-header-label{margin:0 auto 0 0;padding:0;font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--text-primary)}.project-header-with-filter .project-search-btn+.crew-list-filter-wrapper,.project-header-with-filter .project-search-expanded+.crew-list-filter-wrapper{margin-left:0}.project-header-label{font-size:12px;font-weight:600;color:var(--text-primary);letter-spacing:0;text-transform:none}.project-schedule-filter-wrapper{position:relative;margin-right:auto;min-width:0}.project-schedule-filter-trigger{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 6px;margin:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.2;transition:background .12s ease,border-color .12s ease}.project-schedule-filter-trigger:hover,.project-schedule-filter-trigger.is-open{background:var(--bg-secondary, #F8FAFC);border-color:var(--border, rgba(15, 23, 42, .12))}.project-schedule-filter-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-schedule-filter-chevron{display:inline-flex;align-items:center;color:var(--text-secondary);opacity:0;transition:opacity .12s ease}.project-schedule-filter-trigger:hover .project-schedule-filter-chevron,.project-schedule-filter-trigger.is-open .project-schedule-filter-chevron,.project-schedule-filter-trigger:focus-visible .project-schedule-filter-chevron{opacity:1}.project-schedule-filter-popover{position:fixed;z-index:100;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001a;padding:6px;display:flex;flex-direction:column;gap:2px}.project-schedule-filter-item{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:7px 10px;border:0;border-radius:4px;background:transparent;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;line-height:1.25;text-align:left}.project-schedule-filter-item:hover{background:var(--bg-hover)}.project-schedule-filter-item.is-active{color:var(--text-primary);font-weight:600}.project-schedule-filter-check{color:#16a34a;flex-shrink:0}.sidebar-chrome-btn{box-sizing:border-box;width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border, rgba(15, 23, 42, .12));border-radius:var(--radius-sm);background:var(--bg-primary, #FFFFFF);color:var(--text-secondary);cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.sidebar-chrome-btn:hover:not(:disabled){background:var(--bg-secondary, #F8FAFC);border-color:#0f172a33;color:var(--text-primary)}.sidebar-chrome-btn:disabled{opacity:.45;cursor:not-allowed}.ttable-project-head-filter .crew-list-filter-btn,.project-header-with-filter .crew-list-filter-btn{box-sizing:border-box;width:22px;height:22px;background:var(--bg-primary, #FFFFFF);border:1px solid var(--border, rgba(15, 23, 42, .12));border-radius:var(--radius-sm);color:var(--text-secondary);opacity:1;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,border-color .12s ease,color .12s ease}.project-header-with-filter .crew-list-filter-wrapper,.project-header-with-filter .project-expansion-menu-wrapper,.project-header-with-filter .crew-list-filter-btn{flex-shrink:0}.ttable-project-head-filter .crew-list-filter-btn:hover,.project-header-with-filter .crew-list-filter-btn:hover{background:var(--bg-secondary, #F8FAFC);border-color:#0f172a33;color:var(--text-primary)}.ttable-project-head-filter .crew-list-filter-btn.active,.project-header-with-filter .crew-list-filter-btn.active{background:var(--bg-primary, #FFFFFF);border-color:#0053d4;color:#0053d4}.ttable-project-head-filter .crew-list-filter-btn.active:hover,.project-header-with-filter .crew-list-filter-btn.active:hover{background:#0053d40f}.ttable-project-name{padding:0 16px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.ttable-project-name>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;color:var(--text-primary)}.ttable-project-name>small{display:block;margin-top:2px;color:var(--text-secondary);font-size:11px;font-weight:400}.ttable-unscheduled-divider{cursor:pointer;-webkit-user-select:none;user-select:none;border-top:1px solid #E2E8F0}.ttable-unscheduled-divider:hover{background:var(--bg-hover)}.timeline-table-col-type{display:inline-flex;flex-shrink:0;padding:2px 6px;border-radius:4px;background:#e2e8f0;color:#64748b;font-size:9px;font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:0}.timeline-table-cell.clickable{cursor:pointer}.timeline-table-cell.clickable:hover:after{background:#19202c14}.timeline-table-cell.clickable:focus-visible{box-shadow:inset 0 0 0 2px #2563eb;outline:none}.timeline-table-date-value{display:inline-block;color:var(--text-primary);font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.timeline-table-date-empty{color:var(--text-secondary);font-size:12px}.timeline-table-cell-content{display:flex;flex-direction:column;gap:6px;white-space:nowrap;min-width:0;max-width:100%}.timeline-table-duration-badge{margin-left:6px;color:var(--text-secondary);font-size:11px;font-weight:500}.timeline-table-crew-chips{display:flex;flex-wrap:wrap;gap:4px}.timeline-table-crew-chip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;background:#eff6ff;color:#2563eb;font-size:11px;font-weight:600;box-sizing:border-box;white-space:nowrap}.timeline-table-cell.state-overdue .timeline-table-date-value{color:#ef4444}.timeline-table-cell.state-in-progress .timeline-table-date-value{color:#0053d4;font-weight:600}.timeline-table-date-dash{color:#cbd5e1;font-size:12px}.timeline-table-set-date{display:none;color:#94a3b8;font-size:12px;font-weight:500;cursor:pointer}.timeline-table-cell:hover .timeline-table-set-date{display:inline}.timeline-table-cell .timeline-table-date-empty{min-height:20px;display:flex;align-items:center}.timeline-table-unscheduled-toggle{padding:10px 12px;display:flex;align-items:center;gap:6px;font-size:10px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.timeline-table-unscheduled-count{color:var(--text-secondary);font-size:10px;font-weight:500}.timeline-table-empty{height:100%;display:grid;place-items:center;color:#64748b;font-size:14px;font-weight:500}.connection-status-banner{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;line-height:1.35;z-index:1300;animation:connection-banner-slide-in .25s ease-out}@keyframes connection-banner-slide-in{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.connection-status-banner.disconnected{background:#b91c1c;color:#fff;box-shadow:0 2px 8px #7f1d1d4d}.connection-status-banner.reconnected{background:#16a34a;color:#fff;box-shadow:0 2px 8px #15803d4d;animation:connection-banner-slide-in .25s ease-out,connection-banner-fade-out .5s ease-in 2.5s forwards}@keyframes connection-banner-fade-out{0%{opacity:1}to{opacity:0}}.connection-status-icon{font-size:14px;flex-shrink:0}.connection-status-text{white-space:nowrap}.save-error-toast{position:fixed;left:50%;bottom:16px;transform:translate(-50%);max-width:min(92vw,360px);padding:8px 12px;border-radius:8px;background:#b91c1c;color:#fff;font-size:12px;font-weight:600;line-height:1.35;box-shadow:0 8px 20px #7f1d1d59;z-index:1200;pointer-events:none}.milestone-created-toast{position:fixed;right:16px;bottom:16px;padding:8px 12px;border-radius:8px;background:#16a34ad1;color:#fff;font-size:12px;font-weight:600;line-height:1.35;box-shadow:0 8px 20px #15803d47;z-index:1200;pointer-events:none}.timeline-skeleton{height:100%;display:grid;grid-template-columns:minmax(320px,var(--sidebar-width)) 1fr;background:var(--bg-primary)}.timeline-skeleton-sidebar{border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0}.timeline-skeleton-sidebar-header{min-height:103px;padding:var(--space-4);border-bottom:1px solid var(--border);display:grid;grid-template-columns:minmax(0,1fr) 68px 68px;align-items:center;gap:var(--space-2)}.timeline-skeleton-sidebar-body{flex:1;overflow:hidden}.timeline-skeleton-sidebar-row{height:var(--row-height);display:grid;grid-template-columns:minmax(0,1fr) 68px 68px;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border-bottom:1px solid var(--border-light)}.timeline-skeleton-grid{display:flex;flex-direction:column;min-width:0}.timeline-skeleton-grid-header{border-bottom:1px solid var(--border)}.timeline-skeleton-months-row{height:52px;padding:0 var(--space-4);display:flex;align-items:center;gap:var(--space-3)}.timeline-skeleton-days-row{height:51px;display:grid;grid-template-columns:repeat(24,minmax(0,1fr))}.timeline-skeleton-grid-body{flex:1;overflow:hidden;position:relative}.timeline-skeleton-grid-row{height:var(--row-height);display:grid;grid-template-columns:repeat(24,minmax(0,1fr));border-bottom:1px solid var(--border-light);position:relative}.timeline-skeleton-grid-cell{border-right:1px solid var(--border-light)}.timeline-skeleton-grid-cell:last-child{border-right:none}.timeline-skeleton-day-cell{border-right:1px solid var(--border-light);position:relative}.timeline-skeleton-day-cell:nth-child(6n),.timeline-skeleton-day-cell:nth-child(7n){background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(148,163,184,.12) 4px,rgba(148,163,184,.12) 8px)}.timeline-skeleton-day-cell:last-child{border-right:none}.timeline-skeleton-block,.timeline-skeleton-bar,.timeline-skeleton-marker{position:relative;overflow:hidden;background:linear-gradient(100deg,#f3f4f6 18%,#e5e7eb 42%,#f3f4f6 68%);background-size:220% 100%;animation:timeline-skeleton-wave 1.25s ease-in-out infinite}.timeline-skeleton-project-heading{height:16px;border-radius:2px;width:42%}.timeline-skeleton-date-heading{height:12px;border-radius:2px;width:100%}.timeline-skeleton-project-name{height:14px;border-radius:2px}.timeline-skeleton-date-pill{height:22px;border-radius:2px}.timeline-skeleton-month-block{height:16px;border-radius:2px;width:22%;min-width:120px}.timeline-skeleton-bar{position:absolute;top:22px;height:24px;border-radius:var(--radius-sm)}.timeline-skeleton-marker{position:absolute;top:28px;width:12px;height:12px;transform:translate(-50%) rotate(45deg);border-radius:2px}.timeline-skeleton-marker-end{opacity:.8}.timeline-skeleton-today-line{position:absolute;top:0;bottom:0;width:2px;background:#2563eb59}.project-unavailable-state{position:relative;height:100%;overflow:hidden;background:var(--bg-primary)}.app-access-denied-panel{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:24px;text-align:center;background:var(--bg-primary)}.app-access-denied-panel h2{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.app-access-denied-panel p{margin:0;max-width:420px;font-size:13px;color:var(--text-secondary)}.project-unavailable-skeleton{position:absolute;inset:0;opacity:.72}.project-unavailable-skeleton .timeline-skeleton-block,.project-unavailable-skeleton .timeline-skeleton-bar,.project-unavailable-skeleton .timeline-skeleton-marker{animation:none;background:#e9edf2}.project-unavailable-overlay{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:var(--space-6);background:#f8fafc94}.project-unavailable-warning{width:min(420px,100%);padding:var(--space-8);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-primary);box-shadow:0 12px 32px #0f172a14}.project-unavailable-icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;color:var(--warning);border-radius:50%;background:var(--warning-light)}.project-unavailable-title{color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-xl);font-weight:600;line-height:1.3}.project-unavailable-message{max-width:340px;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;line-height:1.5}.project-unavailable-retry{margin-top:var(--space-2);padding:var(--space-2) var(--space-4)}@media(max-width:600px){.project-unavailable-overlay{padding:var(--space-4)}.project-unavailable-warning{padding:28px 22px}}@keyframes timeline-skeleton-wave{0%{background-position:100% 0}to{background-position:-100% 0}}@media(max-width:960px){.timeline-skeleton{grid-template-columns:1fr}.timeline-skeleton-sidebar{display:none}}.header{display:flex;flex-direction:column;background:var(--bg-primary);flex-shrink:0}.header-title-bar{display:flex;align-items:center;justify-content:space-between;padding:16px var(--space-4);background:#19202c}.header-title-bar .header-title{color:#fff}.header-title-group{display:flex;align-items:center;gap:12px}.header-title-bar .app-switcher-trigger{color:#ffffffd9;border-color:transparent}.header-title-bar .app-switcher-trigger:hover{background:#ffffff1a;color:#fff;border-color:#ffffff26}.header-title-bar .app-switcher-trigger[aria-expanded=true]{background:#ffffff29;color:#fff;border-color:#ffffff40}.header-title-bar .app-switcher-title{color:#fff}.header-title-actions{display:flex;align-items:center;gap:var(--space-3)}.header-title-actions .btn-secondary{background:transparent;border-color:#fff3;color:#fff}.header-title-actions .btn-secondary:hover{background:#ffffff1a}.header-title-actions .header-icon-btn{background:#ffffff24;border:none;color:#fff}.header-title-actions .header-icon-btn:hover{background:#ffffff38}.header-title-actions .header-icon-btn.has-unread{background:#f8717152;color:#ef4444}.header-title-actions .header-icon-btn.has-unread:hover{background:#f871716b;color:#ef4444}.header-title-actions .notification-badge{background:#ef4444}.header-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px var(--space-4);border-bottom:1px solid var(--border)}.header-left{display:flex;align-items:center;gap:12px}.header-right{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3)}.header-title{display:inline-flex;align-items:center;font-family:var(--font-family);font-size:20px;font-weight:600;color:#19202c;line-height:28px}.view-mode-toggle{display:inline-flex;align-items:stretch;border:1px solid #E8EAED;border-radius:2px;overflow:hidden;background:#fff;height:28px;box-sizing:border-box}.view-mode-btn{display:inline-flex;align-items:center;gap:4px;border:none;background:#fff;color:#19202c;font-size:var(--font-size-sm);font-weight:500;line-height:16px;padding:0 8px;cursor:pointer;transition:color .15s ease,background .15s ease}.view-mode-btn+.view-mode-btn{border-left:1px solid #E8EAED}.view-mode-btn:hover:not(.active){background:#f8fafc}.view-mode-btn.active{color:#0053d4}.header-tabs-row{display:flex;align-items:stretch;background:var(--bg-primary);border-bottom:1px solid var(--border)}.page-tabs{display:flex;align-items:center;gap:10px;height:48px;padding:0 var(--space-4);flex:1;min-width:0}.crew-schedule-search{display:flex;align-items:center;gap:8px;padding:0 8px;margin:auto 16px;background:#f0f2f5;border-radius:2px;border:2px solid transparent;height:30px;box-sizing:border-box;min-width:240px;transition:background .15s,border-color .15s}.crew-schedule-search:focus-within{background:#fff;border-color:#0053d4}.crew-schedule-search .search-icon{color:#19202c;flex-shrink:0}.crew-schedule-search input{border:none;background:transparent;padding:0;font-size:12px;font-weight:500;color:var(--text-primary);outline:none;flex:1;min-width:0}.crew-schedule-search input::placeholder{color:#9ca3af}.crew-schedule-search .search-clear{display:flex;align-items:center;justify-content:center;width:12px;height:12px;background:none;border:none;padding:0;cursor:pointer;color:#6b7280;flex-shrink:0}.crew-schedule-search .search-clear:hover{color:#19202c}.page-tab{position:relative;display:flex;align-items:center;gap:4px;height:24px;padding:4px 8px 4px 4px;border:none;border-radius:2px;background:transparent;color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:color .15s ease,background .15s ease}.page-tab:hover{background:var(--bg-hover)}.page-tab:hover:not(.active){color:var(--text-primary)}.page-tab.active{color:#0053d4}.page-tab.active:after{content:"";position:absolute;left:0;bottom:-12px;width:100%;height:2px;background:#0053d4}.crew-mgmt-grid-row{display:grid!important;gap:8px}.crew-tag-square{display:inline-block;width:8px;height:8px;border-radius:2px;flex-shrink:0}.crew-tag-cell{display:inline-flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--text-secondary)}.crew-actions-cell{display:flex!important;justify-content:flex-end!important;position:sticky;right:0;background:inherit;padding-right:16px!important;z-index:1}.crew-modal-tag-wrapper{position:relative}.crew-modal-tag-dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;background:var(--bg-primary);border:1px solid var(--border);border-top:none;border-radius:0 0 2px 2px;box-shadow:0 4px 12px #00000014;max-height:180px;overflow-y:auto}.crew-modal-tag-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;text-align:left}.crew-modal-tag-option:hover{background:var(--bg-secondary)}.crew-modal-tag-create{border-top:1px solid var(--border-light, #F3F4F6)}.crew-modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.crew-modal{background:var(--bg-primary);border-radius:2px;width:420px;max-width:90vw;box-shadow:0 8px 32px #00000029}.crew-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.crew-modal-header h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.crew-modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:2px}.crew-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.crew-modal-body{padding:20px 24px}.crew-modal-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);margin-bottom:6px}.crew-modal-input{width:100%;padding:10px 12px;font-family:var(--font-family);font-size:14px;color:var(--text-primary);background:#f3f4f6;border:2px solid transparent;border-radius:2px;outline:none;box-sizing:border-box;transition:border-color .15s ease,background .15s ease}.crew-modal-input:focus{background:var(--bg-primary);border-color:var(--accent)}.crew-modal-input::placeholder{color:var(--text-secondary)}.crew-modal-error{font-size:11px;color:#d42e15;margin-top:4px}.crew-modal-footer{padding:0 24px 20px}.crew-modal-submit{width:100%;padding:10px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.crew-modal-submit:disabled{opacity:.4;cursor:not-allowed}.crew-modal-color-btn.selected{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary)}.crew-row-menu-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.crew-row-menu-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);border-radius:2px;cursor:pointer;opacity:0;transition:all .1s ease}.mlist-row:hover .crew-row-menu-btn,.crew-mgmt-grid-row:hover .crew-row-menu-btn{opacity:1}.crew-row-menu-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.crew-row-menu-dropdown{position:fixed;z-index:1000;background:var(--bg-primary);border:1px solid var(--border);border-radius:2px;box-shadow:0 4px 12px #0000001a;min-width:160px;padding:4px 0}.crew-row-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;text-align:left}.crew-row-menu-item:hover{background:var(--bg-secondary)}.crew-row-menu-item.crew-row-menu-delete{color:#d42e15}.crew-row-menu-item.crew-row-menu-delete:hover{background:#fef2f2}.crew-mgmt-topbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 var(--space-4);margin-top:-45px;height:45px;pointer-events:none}.crew-mgmt-topbar>*{pointer-events:auto}.crew-mgmt-search input{border:none;outline:none;background:transparent;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);width:100%;line-height:20px}.crew-mgmt-search input::placeholder{color:var(--text-secondary)}.mlist-row:hover .crew-mgmt-actions,.crew-mgmt-grid-row:hover .crew-mgmt-actions{opacity:1}.crew-mgmt-actions button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary);border-radius:2px;cursor:pointer;transition:all .15s ease}.crew-mgmt-actions button:hover{background:var(--bg-secondary);color:var(--text-primary)}.crew-mgmt-actions button.crew-delete-btn:hover{color:#dc2626;background:#fef2f2}.crew-mgmt-add-row input{border:1px solid var(--accent);border-radius:2px;padding:4px 8px;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);outline:none;width:200px}.crew-mgmt-sidebar-card{padding:16px;border-bottom:1px solid var(--border)}.crew-mgmt-sidebar-card h4{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin:0 0 8px}.crew-mgmt-sidebar-stat{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.crew-mgmt-sidebar-stat span:last-child{font-weight:600;color:var(--text-primary)}.crew-mgmt-sidebar:not(.collapsed){width:360px}.crew-block-count{min-width:26px;padding:2px 7px;color:var(--text-secondary);text-align:center;border-radius:999px;background:var(--bg-secondary)}.crew-block-count.active{color:#174ea6;font-weight:700;background:#e8f0fe}.crew-assignment-card{padding-top:18px}.crew-assignment-heading{display:flex;align-items:center;gap:9px;margin-bottom:16px}.crew-assignment-heading .crew-tag-square{width:10px;height:10px}.crew-assignment-heading h4{margin:0}.crew-assignment-heading span:last-child{display:block;margin-top:2px;color:var(--text-secondary);font-size:11px}.crew-assignment-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.crew-assignment-title-row h5{color:var(--text-primary);font-size:12px;font-weight:650}.crew-assignment-title-row>span{min-width:24px;padding:2px 7px;color:#174ea6;font-size:11px;font-weight:700;text-align:center;border-radius:999px;background:#e8f0fe}.crew-assignment-list{display:flex;flex-direction:column;gap:8px;max-height:360px;padding-right:2px;overflow-y:auto}.crew-assignment-item{padding:10px 11px;border:1px solid var(--border-light);border-left:3px solid #0053D4;border-radius:4px;background:#fff}.crew-assignment-item.past{border-left-color:#94a3b8;opacity:.68}.crew-assignment-project{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--text-primary);font-size:11px;font-weight:700}.crew-assignment-project small{overflow:hidden;color:var(--text-secondary);font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.crew-assignment-block-name{margin-top:5px;color:var(--text-primary);font-size:12px;font-weight:600}.crew-assignment-block-name span{display:block;margin-top:2px;color:var(--text-secondary);font-size:11px;font-weight:500}.crew-assignment-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:7px;color:var(--text-secondary);font-size:10px}.crew-assignment-empty{padding:16px 10px;color:var(--text-secondary);font-size:12px;line-height:1.4;text-align:center;border:1px dashed var(--border);border-radius:4px}.crew-confirm-delete{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fef2f2;border-bottom:1px solid #FECACA;font-size:var(--font-size-sm);color:#dc2626}.crew-confirm-delete button{font-family:var(--font-family);font-size:var(--font-size-xs, 11px);font-weight:500;padding:2px 8px;border-radius:2px;cursor:pointer;border:1px solid}.crew-confirm-delete .crew-confirm-yes{background:#dc2626;color:#fff;border-color:#dc2626}.crew-confirm-delete .crew-confirm-no{background:#fff;color:var(--text-primary);border-color:var(--border)}.crew-timeline-wrapper{display:flex;flex:1;min-height:0;height:100%;background:var(--bg-primary)}.crew-timeline-sidebar{flex-shrink:0;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.crew-timeline-sidebar-header{padding:0 12px;font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;align-items:center;flex-shrink:0}.crew-timeline-main .timeline-cell:hover{background:transparent!important}.crew-timeline-main .timeline-cell.normally-off:hover{background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(148,163,184,.08) 3px,rgba(148,163,184,.08) 6px)!important}.crew-timeline-main .timeline-row .timeline-cell:after{display:none}.crew-timeline-sidebar-row.hovered{background:var(--bg-secondary)}.crew-timeline-main .timeline-row.crew-row-hovered{background:#00000005}.crew-timeline-sidebar-row[draggable=true]{cursor:grab}.crew-timeline-sidebar-row[draggable=true]:active{cursor:grabbing}.crew-timeline-sidebar-row.dragging{opacity:.4}.crew-timeline-sidebar-row.drop-above{box-shadow:inset 0 2px 0 0 var(--accent)}.crew-timeline-sidebar-row.drop-below{box-shadow:inset 0 -2px 0 0 var(--accent)}.crew-timeline-sidebar-row{display:flex;align-items:center;padding:0 12px;border-bottom:1px solid var(--border-light, #F3F4F6)}.crew-timeline-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.crew-timeline-main .timeline-body{scrollbar-width:none}.crew-timeline-main .timeline-body::-webkit-scrollbar{display:none}.crew-timeline-main .timeline-body{cursor:grab}.crew-timeline-main .timeline-body:active{cursor:grabbing}.crew-timeline-sidebar-body{flex:1;overflow:hidden}.crew-timeline-sidebar-info{display:flex;flex-direction:column;gap:1px}.crew-timeline-sidebar-name{display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--text-primary)}.crew-timeline-group-head{display:flex;align-items:center;gap:6px;width:100%;padding:0 12px;border:0;border-bottom:1px solid var(--border-light, #F3F4F6);background:var(--bg-secondary, #F8FAFC);color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;text-align:left;cursor:pointer;flex-shrink:0}.crew-timeline-group-head:hover{color:var(--text-primary)}.crew-timeline-group-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-timeline-group-count{margin-left:auto;font-weight:500;color:var(--text-secondary)}.crew-timeline-group-band{border-bottom:1px solid var(--border-light, #F3F4F6);background:var(--bg-secondary, #F8FAFC);cursor:pointer}.crew-timeline-line-row{cursor:default}.crew-timeline-empty-row{display:flex;align-items:center;height:40px;padding:0 12px;border-bottom:1px solid var(--border-light, #F3F4F6);color:var(--text-secondary);font-size:11px}.crew-line-booking-bar{cursor:default}.crew-timeline-overlap-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:5px;color:var(--error, #D42E15);flex-shrink:0;cursor:help}.crew-timeline-task-count{font-size:11px;font-weight:400;color:var(--text-secondary)}.crew-timeline-sidebar-row.drop-target,.timeline-row.crew-drop-target{background:#eff6ff}.crew-event-bar{display:flex;align-items:center;overflow:hidden}.crew-event-bar[draggable=true]:active{cursor:grabbing;opacity:.7}.crew-event-bar-content{display:flex;flex-direction:column;gap:1px;padding:3px 8px;min-width:0;overflow:hidden;width:100%}.crew-event-bar-top{display:flex;align-items:center;gap:4px}.crew-event-bar-milestone{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-event-bar-badge{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;font-size:10px;font-weight:600;opacity:.7}.crew-event-bar-project{font-size:10px;font-weight:400;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-calendar-cell.outside{background:var(--bg-secondary)}.crew-calendar-cell.weekend{background:#fafbfc}.crew-calendar-cell.today{background:#f0f6ff}.crew-calendar-date-num.today{background:#0053d4;color:#fff;border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0}.crew-list-selector{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;color:#111827;background:var(--bg-primary);border:1px solid var(--border);border-radius:2px;padding:0 10px;height:30px;cursor:pointer;appearance:none;min-width:140px;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.crew-list-selector:focus{outline:none;border-color:var(--accent)}.crew-multi-select{position:relative}.crew-multi-dropdown{position:absolute;top:100%;left:0;z-index:100;background:var(--bg-primary);border:1px solid var(--border);border-radius:2px;box-shadow:0 4px 12px #00000014;min-width:180px;max-height:240px;overflow-y:auto;margin-top:2px}.crew-multi-option{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;border:none;background:transparent;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);cursor:pointer;text-align:left}.crew-multi-option:hover{background:var(--bg-secondary)}.crew-multi-option:first-child{border-bottom:1px solid var(--border-light, #F3F4F6);font-weight:500}.crew-checkbox{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid var(--border);border-radius:2px;background:var(--bg-primary);flex-shrink:0;transition:all .1s ease}.crew-checkbox.checked{background:#0053d4;border-color:#0053d4}.crew-checkbox.checked:after{content:"";width:8px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) translateY(-1px)}.crew-schedule-wrapper{display:flex;flex-direction:row;height:calc(100vh / var(--app-zoom, 1) - 120px);background:var(--bg-primary);position:relative}.crew-schedule-main{flex:1;min-width:0;display:flex;flex-direction:column}.crew-schedule-toolbar{display:flex;align-items:center;gap:12px;padding:6px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.crew-schedule-toolbar-filters{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.crew-schedule-toolbar .view-mode-toggle{height:30px}.crew-schedule-toolbar .nav-arrow{width:30px;height:30px;color:#111827}.crew-schedule-toolbar .current-month,.crew-schedule-toolbar .header-action-btn{height:30px;color:#111827}.crew-schedule-toolbar .crew-list-selector{height:30px}.crew-schedule-toolbar .crew-list-filter-btn,.crew-schedule-toolbar .view-mode-btn{color:#111827}.crew-schedule-toolbar .view-mode-btn.active{color:#0053d4}.crew-schedule-split{display:flex;flex:1;min-height:0;background:var(--bg-primary)}.crew-list-toggle-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;box-sizing:border-box;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);cursor:pointer;color:var(--text-secondary);transition:background .1s,color .1s}.crew-list-toggle-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.crew-list-toggle-btn.active{background:#f2f6fd;color:#0053d4;border-color:#c5d8f8}.crew-list-toggle-btn:disabled{cursor:not-allowed;background:var(--bg-secondary);color:var(--text-muted);border-color:var(--border)}.crew-list-toggle-btn:disabled:hover{background:var(--bg-secondary);color:var(--text-muted)}.header-settings-wrapper{position:relative}.header-settings-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:280px;padding:12px 14px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 12px 32px #0f172a29;max-height:calc(100vh / var(--app-zoom, 1) - 120px);overflow-y:auto;overscroll-behavior:contain}.header-settings-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.header-settings-row:has(.header-settings-segmented){flex-direction:column;align-items:stretch;gap:8px}.header-settings-row:has(.header-settings-segmented) .header-settings-segmented{align-self:flex-start}.header-settings-row+.header-settings-row{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.header-settings-row.disabled{opacity:.45;cursor:not-allowed}.header-settings-row.disabled .header-settings-label,.header-settings-row.disabled .header-settings-switch{cursor:not-allowed}.header-settings-label{display:flex;flex-direction:column;gap:2px;font-size:13px;font-weight:500;color:var(--text-primary);cursor:pointer}.header-settings-hint{font-size:11px;font-weight:400;color:var(--text-muted);line-height:1.35}.header-settings-switch{flex-shrink:0;width:34px;height:20px;padding:2px;border:none;border-radius:10px;background:var(--border);cursor:pointer;transition:background .15s ease;position:relative}.header-settings-switch.on{background:var(--accent)}.header-settings-switch-thumb{display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:transform .15s ease;transform:translate(0)}.header-settings-switch.on .header-settings-switch-thumb{transform:translate(14px)}.header-settings-segmented{flex-shrink:0;display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--bg-secondary, #f5f5f5)}.header-settings-segmented-btn{border:none;background:transparent;padding:4px 10px;font-size:11px;font-weight:500;color:var(--text-secondary, #555);cursor:pointer;transition:background .15s ease,color .15s ease}.header-settings-segmented-btn+.header-settings-segmented-btn{border-left:1px solid var(--border)}.header-settings-segmented-btn:hover{background:#2563eb0f}.header-settings-segmented-btn.active{background:var(--accent);color:#fff}.creation-drag-preview{position:absolute;z-index:6;border-radius:2px;background:#2563eb14;outline:1.5px dashed rgba(37,99,235,.5);outline-offset:1px;pointer-events:none}.creation-drag-preview.picker-focused{background:#2563eb29;outline:1.5px solid rgba(37,99,235,.7);box-shadow:0 0 0 3px #2563eb1a,0 2px 10px #2563eb2e;animation:picker-focused-pulse 1.6s ease-in-out infinite}@keyframes picker-focused-pulse{0%,to{box-shadow:0 0 0 3px #2563eb1a,0 2px 10px #2563eb2e}50%{box-shadow:0 0 0 5px #2563eb24,0 2px 14px #2563eb42}}.crew-list-resize-handle{width:4px;cursor:col-resize;background:transparent;transition:background .15s;position:absolute;top:0;bottom:0;z-index:10}.crew-list-resize-handle:hover,.crew-list-resize-handle:active{background:#c5d8f8}.crew-schedule-left{flex:none;display:flex;flex-direction:column;overflow-y:auto;background:#fff;border-left:1px solid var(--border);scrollbar-width:thin;scrollbar-color:transparent transparent}.crew-schedule-left:hover{scrollbar-color:rgba(0,0,0,.2) transparent}.crew-list-panel-header{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.crew-list-panel-header .crew-list-close-btn{margin-left:auto}.crew-list-date-filter{display:inline-flex;align-items:center;gap:6px;font-size:12px;border-radius:4px;padding:4px 8px}.crew-list-date-filter.active{font-weight:600;color:var(--text-primary);background:#f0f2f5}.crew-list-date-filter button{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:#6b7280}.crew-list-date-filter button:hover{color:#19202c}.crew-list-filter-chips{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden;flex-wrap:wrap;margin-right:8px}.crew-list-filter-wrapper{position:relative}.header-icon-btn,.crew-list-filter-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);cursor:pointer;color:var(--text-secondary);transition:all .15s}.header-icon-btn:hover,.crew-list-filter-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.header-icon-btn.active,.crew-list-filter-btn.active{color:#0053d4;border-color:#0053d4;background:#f0f4ff}.crew-list-filter-popover{position:fixed;z-index:100;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0000001a;padding:16px;display:flex;flex-direction:column;gap:16px;min-width:200px;max-height:80vh;overflow-y:auto}.project-milestone-sort-popover{width:240px}.project-milestone-sort-popover select:disabled{opacity:.5;cursor:not-allowed}.project-milestone-sort-apply{width:100%;border:none;border-radius:6px;background:#0053d4;color:#fff;font-size:12px;font-weight:600;padding:6px 10px;cursor:pointer}.project-milestone-sort-apply:hover{background:#0046b0}.project-milestone-sort-apply:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.project-expansion-menu{min-width:172px;gap:4px;padding:6px}.project-expansion-menu-item{width:100%;border:0;border-radius:4px;background:transparent;color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:500;line-height:1.25;padding:7px 8px;text-align:left}.project-expansion-menu-item:hover{background:var(--bg-hover)}.project-expansion-menu-btn:disabled{cursor:not-allowed;opacity:.45}.header-tabs-row .crew-list-filter-wrapper{align-self:center;margin-right:16px}.crew-list-filter-section>label{display:block;font-size:10px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.crew-list-filter-checkbox-row input[type=checkbox]{margin:0;cursor:pointer}.crew-list-filter-section select{width:100%;padding:0 28px 0 10px;height:30px;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:#111827;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 256 256'%3E%3Cpath d='M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z' fill='%23111827'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.crew-list-filter-section select:focus{border-color:#0053d4}.crew-list-filter-section input[type=text]{width:100%;padding:0 10px;height:30px;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:#111827;outline:none;box-sizing:border-box}.crew-list-filter-section input[type=text]:focus{border-color:#0053d4}.filter-multi-select{position:relative}.filter-multi-select .crew-list-selector{min-width:0;width:100%}.filter-multi-select .crew-multi-dropdown{position:fixed;z-index:200;max-height:200px;overflow-y:auto;scrollbar-width:thin;min-width:200px}.crew-list-clear-filters{border:none;background:none;font-size:11px;color:#0053d4;cursor:pointer;padding:2px 4px;white-space:nowrap}.crew-list-clear-filters:hover{text-decoration:underline}.crew-list-sort-option.active{color:#0053d4;font-weight:600}.crew-list-close-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:2px;border:1px solid var(--border);background:#fff;cursor:pointer;color:#111827;flex-shrink:0}.crew-list-close-btn:hover{background:#f3f4f6;color:#111827}.crew-schedule-right{scrollbar-width:thin;scrollbar-color:transparent transparent}.crew-schedule-right:hover{scrollbar-color:rgba(0,0,0,.2) transparent}.crew-schedule-right{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;border-right:none}.cs-list-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;text-align:center;color:#9ca3af;font-size:12px}.cs-list-empty-icon{color:#d1d5db}.cs-list-day-group{padding:0 16px}.cs-list-day-heading{display:flex;align-items:center;gap:8px;height:28px;margin:0 -16px;padding:0 16px;background:var(--bg-secondary)}.cs-list-day-label{font-size:10px;font-weight:700;color:#19202c;text-transform:uppercase;letter-spacing:.05em}.cs-list-today-badge{font-size:11px;font-weight:600;color:#4b5563;background:#e5e7eb;border-radius:4px;padding:2px 7px;letter-spacing:.03em}.cs-list-item{display:flex;align-items:center;gap:8px;min-height:72px;padding:10px 0;box-sizing:border-box;border-bottom:1px solid var(--border);cursor:pointer;position:relative}.cs-list-item--no-border{border-bottom:none}.cs-list-item--full-border{margin:0 -16px;padding-left:16px;padding-right:16px}.cs-list-bar{width:3px;height:56px;border-radius:2px;flex-shrink:0;position:relative;z-index:1}.cs-list-item:hover:before,.cs-list-item.highlighted:before{content:"";position:absolute;inset:0 -16px;background:#e5e7eb;z-index:0}.cs-list-item--full-border:hover:before,.cs-list-item--full-border.highlighted:before{left:0;right:0}.cs-list-item>*{position:relative;z-index:1}.cs-list-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cs-list-item-top{display:flex;align-items:baseline;gap:6px}.cs-list-project-name{font-size:12px;font-weight:600;color:#19202c}.cs-list-project-code{font-size:12px;color:#9ca3af}.cs-list-milestone-name{font-size:12px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;min-width:0}.cs-list-address{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;min-width:0}.cs-drilldown{display:flex;flex-direction:column;padding:0}.cs-drilldown-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-primary, #ffffff);z-index:2}.cs-drilldown-back{display:inline-flex;align-items:center;gap:4px;background:none;border:none;padding:4px 6px;margin:0;font-size:12px;font-weight:500;color:#4b5563;cursor:pointer;border-radius:4px}.cs-drilldown-back:hover{background:#f3f4f6;color:#111827}.cs-drilldown-section{padding:14px 16px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.cs-drilldown-section:last-child{border-bottom:none}.cs-drilldown-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.cs-drilldown-milestone-name{font-size:14px;font-weight:600;color:#111827;line-height:1.3}.cs-drilldown-project-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.cs-drilldown-project-name{font-size:12px;font-weight:600;color:#111827}.cs-drilldown-project-code{font-size:12px;color:#9ca3af}.cs-drilldown-address{font-size:12px;color:#0053d4;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.cs-drilldown-address:hover{text-decoration:underline}.cs-drilldown-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280;cursor:pointer;border-radius:4px;padding:2px 0}.cs-drilldown-meta:hover .cs-drilldown-date-link{text-decoration:underline}.cs-drilldown-date-link{color:#111827}.cs-drilldown-meta-item{display:inline-flex;align-items:center;gap:4px}.cs-drilldown-meta-divider{color:#d1d5db}.cs-drilldown-crew-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.cs-drilldown-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.cs-drilldown-section-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.cs-drilldown-section-count{font-size:11px;font-weight:500;color:#9ca3af}.cs-drilldown-subtask-list{display:flex;flex-direction:column;gap:6px}.cs-drilldown-subtask{display:flex;align-items:center;gap:8px;font-size:12px;color:#111827}.cs-drilldown-subtask.completed .cs-drilldown-subtask-label{color:#9ca3af;text-decoration:line-through}.subtask-checkbox.readonly{cursor:default;pointer-events:none}.cs-drilldown-subtask-label{flex:1;min-width:0}.cs-drilldown-subtask-due{display:inline-flex;align-items:center;gap:3px;color:#6b7280;font-size:11px;font-weight:500;white-space:nowrap}.cs-drilldown-readiness-list{display:flex;flex-direction:column;gap:6px}.cs-drilldown-readiness-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f9fafb;border:1px solid var(--border-light, #F3F4F6);border-radius:6px;position:relative;overflow:hidden}.cs-drilldown-readiness-bar{width:3px;align-self:stretch;border-radius:2px;flex-shrink:0}.cs-drilldown-readiness-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cs-drilldown-clickable{cursor:pointer;transition:background .1s ease,border-color .1s ease}.cs-drilldown-clickable:hover{background:#f2f6fd;border-color:#bfdbfe}.cs-drilldown-readiness-name{font-size:12px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-drilldown-readiness-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:#6b7280}.cs-drilldown-show-more{background:none;border:none;padding:4px 0;font-size:12px;font-weight:500;color:#0053d4;cursor:pointer;text-align:left;align-self:flex-start}.cs-drilldown-show-more:hover{text-decoration:underline}.crew-cal-view-btn.active{background:#f2f6fd;color:#0053d4;font-weight:600}.crew-cal-view-btn:hover:not(.active){background:var(--bg-secondary)}.crew-week-view{flex:1;display:flex;flex-direction:column;overflow:auto}.crew-week-header{display:grid;grid-template-columns:100px repeat(7,1fr);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1;background:var(--bg-primary)}.crew-week-sidebar-header{border-right:1px solid var(--border)}.crew-week-day-header{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 0;border-right:1px solid var(--border-light, #F3F4F6);cursor:pointer;transition:background .1s}.crew-week-day-header:hover,.crew-week-day-header.selected{background:#e8f0fe}.crew-week-day-header.off{color:var(--text-muted, #C1C9D4)}.crew-week-day-name{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:inherit}.crew-week-day-num{font-size:16px;font-weight:600;color:inherit}.crew-week-day-num.today{background:#0053d4;color:#fff;border-radius:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}.crew-week-row{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid var(--border-light, #F3F4F6);min-height:80px}.crew-week-sidebar{display:flex;align-items:center;padding:0 10px;font-size:12px;font-weight:500;color:#4c5e78;border-right:1px solid var(--border)}.crew-week-cells-wrapper{display:grid;grid-template-columns:repeat(7,1fr);grid-column:2 / -1;position:relative;min-height:80px}.crew-week-cell{border-right:1px solid var(--border-light, #F3F4F6);grid-row:1}.crew-week-cell.normally-off{background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(148,163,184,.08) 3px,rgba(148,163,184,.08) 6px)}.crew-week-cell.today:not(.normally-off){background:transparent}.crew-week-holiday-row{display:grid;grid-template-columns:100px repeat(7,1fr);border-bottom:1px solid var(--border-light, #F3F4F6);min-height:24px;background:var(--bg-secondary)}.crew-week-sidebar-label{display:flex;align-items:center;padding:0 12px;font-size:10px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;border-right:1px solid var(--border-light, #F3F4F6)}.crew-week-holiday-cell{border-right:1px solid var(--border-light, #F3F4F6);display:flex;align-items:center;justify-content:center}.crew-week-holiday-cell.has-holiday{background:#e5e7eb}.crew-week-holiday-label{font-size:10px;font-weight:600;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px}.crew-week-event{display:flex;flex-direction:column;gap:0;padding:3px 8px;border-radius:2px;border-left:3px solid transparent;font-size:10px;line-height:14px;cursor:pointer;overflow:hidden;position:relative;grid-row:1;align-self:start;margin:4px 2px;z-index:1;transition:filter .1s ease}.crew-week-event:hover{filter:brightness(.95)}.crew-week-event.highlighted{outline:2px solid #0053D4;outline-offset:-1px;z-index:2}.crew-week-event.continues-right{border-radius:2px 0 0 2px;margin-right:-2px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);padding-right:16px}.crew-week-event.continues-left{border-radius:0 2px 2px 0;margin-left:0;border-left-width:0}.crew-cal-day-names{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-primary, #ffffff);z-index:5}.crew-cal-day-name{padding:6px 0;text-align:center;font-size:10px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.crew-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1}.crew-cal-day-names.weekends-hidden,.crew-cal-grid.weekends-hidden,.crew-week-cells-wrapper.weekends-hidden{grid-template-columns:repeat(5,1fr)}.crew-week-header.weekends-hidden,.crew-week-holiday-row.weekends-hidden{grid-template-columns:100px repeat(5,1fr)}.crew-cal-cell{min-height:90px;border-right:1px solid var(--border-light, #F3F4F6);border-bottom:1px solid var(--border-light, #F3F4F6);padding:2px 4px;display:flex;flex-direction:column;cursor:pointer;transition:background .1s ease}.crew-cal-cell:nth-child(7n){border-right:none}.crew-cal-cell:hover:not(:has(.crew-cal-event:hover)){background:#f0f4ff;cursor:pointer}.crew-cal-cell.normally-off:hover:not(:has(.crew-cal-event:hover)){background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(0,83,212,.08) 3px,rgba(0,83,212,.08) 6px)}.crew-cal-cell.outside{background:var(--bg-secondary)}.crew-cal-cell.normally-off{background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(148,163,184,.08) 3px,rgba(148,163,184,.08) 6px)}.crew-cal-cell.today{background:#f0f6ff}.crew-cal-cell.today.normally-off{background:repeating-linear-gradient(-45deg,#f0f6ff,#f0f6ff 3px,#0053d414 3px 6px)}.crew-cal-cell.selected{box-shadow:inset 0 0 0 2px var(--accent)}.crew-cal-date-row{display:flex;align-items:center;justify-content:space-between}.crew-cal-holiday-label{font-size:9px;font-weight:600;color:#4b5563;background:#e5e7eb;padding:1px 4px;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.crew-cal-date-num{font-size:12px;font-weight:500;color:var(--text-secondary);padding:2px 4px;line-height:18px;align-self:flex-end}.crew-cal-date-num.today{background:#0053d4;color:#fff;border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-weight:600}.crew-cal-events{display:flex;flex-direction:column;gap:3px;flex:1;overflow:visible;margin-top:2px}.crew-cal-event{display:flex;flex-direction:column;gap:0;padding:3px 8px;border-radius:2px;font-size:10px;line-height:14px;cursor:pointer;overflow:hidden;border-left:3px solid transparent;transition:filter .1s ease;position:relative;height:34px;flex-shrink:0;box-sizing:border-box}.crew-cal-event:before{content:"";position:absolute;inset:0;border-top:1px solid var(--event-border, transparent);border-bottom:1px solid var(--event-border, transparent);border-radius:inherit;pointer-events:none}.crew-cal-event:not(.multiday):before,.crew-cal-event.multiday.start:before,.crew-cal-event.multiday.week-start:before{border-left:1px solid var(--event-border, transparent)}.crew-cal-event:not(.multiday):before,.crew-cal-event.multiday.end:before,.crew-cal-event.multiday.week-end:before{border-right:1px solid var(--event-border, transparent)}.crew-cal-event-placeholder{height:34px;flex-shrink:0;pointer-events:none;box-sizing:border-box}.crew-cal-event.highlighted{z-index:2;outline:none!important;overflow:visible}.crew-cal-event.highlighted:after{content:"";position:absolute;inset:-1px;border-top:2px solid #0053D4;border-bottom:2px solid #0053D4;pointer-events:none;z-index:3}.crew-cal-event.highlighted:not(.multiday):after,.crew-cal-event.multiday.highlighted.start.end:after{border-left:2px solid #0053D4;border-right:2px solid #0053D4}.crew-cal-event.multiday.highlighted.start:not(.end):after,.crew-cal-event.multiday.highlighted.week-start:not(.end):after{border-left:2px solid #0053D4}.crew-cal-event.multiday.highlighted.end:not(.start):not(.week-start):after,.crew-cal-event.multiday.highlighted.week-end:not(.start):after{border-right:2px solid #0053D4}.crew-cal-event.multiday{border-radius:0;margin-left:-5px;margin-right:-5px;padding-left:8px;border-left-width:0;position:relative;z-index:1}.crew-cal-event.multiday.start{border-radius:2px 0 0 2px;margin-left:0;border-left-width:3px}.crew-cal-event.multiday.end{border-radius:0 2px 2px 0;margin-right:0}.crew-cal-event.multiday:not(.start):not(.week-start) .crew-cal-event-text,.crew-cal-event.multiday:not(.start):not(.week-start) .crew-cal-event-crew{visibility:hidden}.crew-cal-event.multiday.week-start{border-left-width:3px;border-radius:0;margin-left:-5px;padding-left:11px}.crew-cal-event.start.end{border-radius:2px;margin-left:0;margin-right:0;border-left-width:3px}.crew-cal-event-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;font-size:10px;color:#19202c!important}.crew-cal-event-crew{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:10px;color:#4c5e78!important}.crew-day-segment{position:absolute;top:2px;bottom:2px;z-index:3;cursor:pointer;border:1.5px dashed transparent;border-radius:3px;transition:border-color .12s,background .12s;box-sizing:border-box}.crew-event-bar{overflow:visible!important}.crew-day-segment:hover{border-color:#0006;background:#0000000f}.crew-day-segment.off{background:#ffffff8c;border-color:#0003}.crew-day-segment.off:hover{background:var(--event-bar-color, rgba(0, 83, 212, .15));border-color:#00000059}.crew-day-segment:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);bottom:auto;left:50%;transform:translate(-50%);background:#19202c;color:#fff;font-size:11px;font-weight:500;white-space:nowrap;padding:5px 10px;border-radius:6px;pointer-events:none;opacity:0;transition:opacity .1s;z-index:200}.crew-day-segment:hover:after{opacity:1}.crew-event-bar:hover{z-index:100!important}.crew-timeline-main .timeline-row:has(.crew-day-segment:hover){z-index:10;position:relative}.crew-cal-event.past-event,.crew-week-event.past-event{opacity:1}.crew-cal-events.has-drilldown .crew-cal-event:not(.drilldown-active),.crew-week-event:not(.drilldown-active).drilldown-sibling{opacity:.9}.crew-cal-event.off-day{opacity:.5}.crew-week-offday-mark{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(148,163,184,.35) 3px,rgba(148,163,184,.35) 5px);pointer-events:none;z-index:2}.cs-list-nonwork-badge{font-size:10px;font-weight:600;color:#ef4444;margin-left:auto}.crew-cal-more{font-size:10px;font-weight:500;color:var(--text-secondary);padding:1px 4px;background:none;border:none;cursor:pointer;text-align:left;border-radius:3px;margin-top:1px;align-self:flex-start}.crew-cal-more:hover{background:#94a3b82e;color:var(--text-primary)}.crew-cal-more.crew-cal-less{margin-top:4px}.crew-cal-cell.expanded{min-height:unset;height:auto}.crew-popover{position:fixed;z-index:1000;width:280px;background:var(--bg-primary);border:1px solid var(--border);border-radius:2px;box-shadow:0 4px 16px #0000001f;font-size:var(--font-size-sm)}.crew-popover-header{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 14px 8px;border-left:3px solid var(--accent)}.crew-popover-milestone{font-weight:600;font-size:15px;color:var(--text-primary);line-height:1.3}.crew-popover-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;border-radius:2px;flex-shrink:0;margin:-2px -4px 0 8px}.crew-popover-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.crew-popover-body{padding:0 14px 12px}.crew-popover-info{font-weight:500;font-size:13px;color:var(--text-primary);line-height:1.4}.crew-popover-address{font-weight:400;color:var(--text-secondary);font-size:12px;margin-bottom:8px;line-height:1.4}.crew-popover-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);font-weight:500;margin-top:4px}.crew-popover-crew-chip{padding:2px 8px;border-radius:2px;font-size:11px;font-weight:600}.crew-agenda-toggle.active{color:#0053d4;border-color:#0053d4;background:#f2f6fd}.crew-mini-cal-day.outside{color:var(--text-muted, #D1D5DB)}.crew-mini-cal-day.today{font-weight:700;color:#0053d4}.crew-mini-cal-day.selected{background:#0053d4;color:#fff;font-weight:600}.crew-mini-cal-day.selected .crew-mini-cal-dot{background:#fff}.crew-schedule-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:calc(100vh / var(--app-zoom, 1) - 200px);color:var(--text-secondary);text-align:center}.crew-schedule-placeholder h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.crew-schedule-placeholder p{font-size:var(--font-size-sm);margin:0;max-width:320px}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-primary);border:1px solid var(--border);border-radius:2px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;box-sizing:border-box}.header-icon-btn:hover{background:var(--bg-hover)}.submenu-option.selected{background:var(--accent-light);color:var(--accent)}.submenu-option.selected:hover{background:var(--accent-light)}.submenu-checkbox-option input[type=checkbox],.status-filter-item input[type=checkbox]{width:14px;height:14px;margin:0;accent-color:var(--accent)}.tabs{display:flex;gap:var(--space-1)}.tab{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.tab:hover{color:var(--text-primary);background:var(--bg-hover)}.tab.active{color:var(--text-primary);background:var(--bg-secondary)}.btn-secondary{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:2px;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:var(--bg-hover)}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary:disabled:hover{background:var(--bg-primary)}.header-action-btn{display:inline-flex;align-items:center;gap:var(--space-2);height:32px;box-sizing:border-box}.header-logout-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:2px;background:#ffffff24;color:#fff;cursor:pointer;flex-shrink:0}.header-logout-btn:hover{background:#ffffff38}.btn-primary{display:inline-flex;align-items:center;gap:4px;padding:var(--space-2) var(--space-4);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;color:#fff;background:var(--accent);border:none;border-radius:2px;cursor:pointer;transition:all .15s ease}.btn-primary:hover{background:var(--accent-hover)}.month-nav{display:flex;align-items:center;gap:var(--space-2)}.nav-arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:2px;cursor:pointer;transition:all .15s ease}.nav-arrow:hover{color:var(--text-primary);background:var(--bg-hover)}.current-month{min-width:120px;text-align:center;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);background:none;border:none;cursor:default}.current-month.clickable{cursor:pointer;border-radius:var(--radius-sm);padding:4px 8px;transition:background .15s ease}.current-month.clickable:hover{background:var(--bg-secondary)}.month-nav{position:relative}.month-picker-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:12px;z-index:1000;min-width:200px}.month-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-light)}.month-picker-year{font-weight:600;font-size:var(--font-size-base);color:var(--text-primary)}.month-picker-nav{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s ease}.month-picker-nav:hover{background:var(--bg-secondary);color:var(--text-primary)}.month-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.month-picker-item{padding:8px 12px;background:none;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.month-picker-item:hover{background:var(--bg-secondary);color:var(--text-primary)}.month-picker-item.current{background:var(--accent);color:#fff}.month-picker-item.current:hover{background:var(--accent-hover)}.project-view{display:flex;height:100%}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg-primary);flex-shrink:0;position:relative;min-width:280px;max-width:800px}.sidebar-resize-handle{position:absolute;right:-3px;top:0;bottom:0;width:6px;cursor:col-resize;z-index:10;background:transparent;transition:background .15s ease}.sidebar-resize-handle:hover,.sidebar-resize-handle.resizing{background:var(--accent)}.sidebar-header{background:var(--bg-secondary)}.sidebar-row{display:grid;grid-template-columns:24px minmax(0,1fr) repeat(var(--pinned-columns, 2),76px);align-items:center;height:var(--row-height);padding:0 var(--space-4);gap:var(--space-2)}.sidebar-row.header-row{height:51px;border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-primary);letter-spacing:0;text-transform:none;align-items:center;padding-bottom:0}.sidebar-row.header-row span{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-row.header-row span:nth-child(2){text-align:left;min-width:0}.column-header-draggable.dragging,.date-cell.column-dragging{opacity:.4}.sidebar.column-dragging .project-row{pointer-events:none}.sidebar.column-dragging .column-header-draggable{pointer-events:auto}.sidebar-body{flex:1;overflow:hidden;position:relative}.checkbox-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}.project-row{display:grid;grid-template-columns:24px minmax(0,1fr) repeat(var(--pinned-columns, 2),76px);align-items:center;height:var(--row-height);padding:0 var(--space-4);gap:var(--space-2);border-bottom:1px solid #F0F1F4;position:relative;transition:background .1s ease}.project-row.menu-open{z-index:30}.project-row.dragging{background:var(--accent-light);box-shadow:0 0 0 1px var(--accent);z-index:10}.project-row[draggable=true]{cursor:default}.project-row[draggable=true]:active{cursor:grabbing}.project-row.archived{opacity:.5}.project-name{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);min-width:0;position:relative}.project-name-info{display:flex;flex-direction:column;min-width:0;gap:4px;align-items:flex-start}.project-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.project-number-text{font-size:var(--font-size-xs);font-weight:400;color:var(--text-muted);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-id{font-size:var(--font-size-xs);font-weight:400;color:var(--text-muted)}.archived-badge{font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted);padding:2px 6px;background:var(--bg-secondary);border-radius:var(--radius-sm)}.project-sqft-badge{font-size:10px;font-weight:500;color:var(--text-muted);white-space:nowrap;flex-shrink:0;letter-spacing:.2px;line-height:1.3}.project-meta-stack{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:auto;flex-shrink:0}.project-name-info-gantt{flex-direction:column;gap:4px;flex:1;min-width:0}.project-name-info-gantt .project-name-row{display:flex;align-items:center;gap:8px;min-width:0;line-height:1.2}.project-name-info-gantt .project-name-row .project-name-text{font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.2;display:inline-flex;align-items:center}.project-name-info-gantt .project-meta-row .project-number-text,.project-name-info-gantt .project-meta-row .project-sqft-badge{font-size:11px;font-weight:600;letter-spacing:0;line-height:1.3}.project-name-info-gantt .project-meta-row{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap;row-gap:2px}.project-name-info-gantt .project-meta-row>*+*:before{content:"·";margin-right:6px;color:var(--text-muted)}.gantt-mode .project-name-info-gantt .schedule-status-tag{font-size:10px;font-weight:600;padding:1px 6px;line-height:14px;letter-spacing:.3px;gap:3px;border-width:1px;align-self:center;transform:translateY(-1px)}.gantt-mode .project-name-info-gantt .schedule-status-tag .status-tag-chevron svg{width:7px;height:7px}.schedule-status-tag{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:1px 5px;border-radius:2px;border:1px solid var(--border);cursor:pointer;flex-shrink:0;background:var(--bg-primary);line-height:18px;transition:all .15s ease;text-transform:uppercase;letter-spacing:.3px}.schedule-status-tag.draft{color:var(--text-muted);border-color:var(--border)}.schedule-status-tag.draft:hover{background:var(--bg-hover)}.schedule-status-tag.confirmed{color:#2563eb;border-color:#ccddf6;background:#eff6ff}.schedule-status-tag.confirmed:hover{background:#dbeafe}.schedule-status-tag .status-tag-chevron svg{color:currentColor}.schedule-status-tag .status-tag-chevron svg path,.schedule-status-tag .status-tag-chevron svg polyline,.schedule-status-tag .status-tag-chevron svg polygon{fill:currentColor;stroke:currentColor}.project-category-tag{display:inline-flex;align-items:center;font-size:10px;font-weight:500;padding:1px 6px;border-radius:2px;flex-shrink:0;line-height:18px;letter-spacing:.02em;pointer-events:none}.project-category-tag.production{color:#5e6ad2;background:#eef0ff}.project-category-tag.prospect{color:#b45309;background:#fef3c7}.project-category-tag.demo{color:#64748b;background:#f1f5f9}.status-tag-chevron{color:var(--text-secondary);display:flex;align-items:center;margin-left:-1px}.status-dropdown-wrapper{position:relative}.status-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:120px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #0000001a;z-index:50;padding:4px;overflow:hidden}.status-dropdown-item{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:5px;font-size:11px;font-weight:500;cursor:pointer;color:var(--text-primary)}.status-dropdown-item:hover{background:var(--bg-hover)}.status-dropdown-item.active{background:var(--accent);color:#fff}.status-dropdown-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-dropdown-dot.confirmed{background:#2563eb}.status-dropdown-item.active .status-dropdown-dot.confirmed{background:#93c5fd}.status-dropdown-dot.draft{background:var(--text-muted)}.status-dropdown-item.active .status-dropdown-dot.draft{background:#fff9}.schedule-status-tag.draft .status-tag-dot{background:var(--text-muted)}.schedule-status-tag.confirmed .status-tag-dot{background:#2563eb}.conflict-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;position:relative;cursor:default;flex-shrink:0;color:var(--error)}.conflict-badge.clickable{cursor:pointer}.conflict-badge.clickable:hover{color:var(--error-hover, #c0392b);transform:scale(1.15)}.conflict-detail-modal{background:var(--bg-primary);border-radius:12px;box-shadow:0 20px 60px #0000004d;width:420px;max-width:90vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.conflict-detail-body{padding:16px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.conflict-detail-item{border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg-secondary)}.conflict-detail-crew{display:flex;align-items:center;gap:8px;margin-bottom:8px}.conflict-detail-icon{color:var(--error);flex-shrink:0}.conflict-detail-crew-name{font-weight:600;font-size:13px;color:var(--text-primary)}.conflict-detail-badge{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;margin-left:auto;text-transform:uppercase;letter-spacing:.03em}.conflict-detail-badge.same-project{background:#f5a62326;color:#d97706}.conflict-detail-same-project,.conflict-detail-cross-project{padding-left:22px}.conflict-detail-project-header{font-weight:600;font-size:12px;color:var(--text-primary);margin-bottom:6px}.conflict-detail-assignments{display:flex;flex-direction:column;gap:4px}.conflict-detail-assignment{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.conflict-detail-assignment-row{display:flex;align-items:center;gap:8px;font-size:12px}.conflict-detail-project-name{font-weight:500;color:var(--text-primary);flex-shrink:0}.conflict-detail-milestone-name{color:var(--text-primary);font-weight:500}.conflict-detail-range{color:var(--text-secondary);font-size:11px;margin-left:auto;white-space:nowrap}.conflict-detail-vs{font-size:11px;color:var(--text-secondary);font-style:italic;padding:2px 0}.project-row:hover .pin-project-btn{opacity:1}.pin-project-btn.pinned{opacity:1;color:var(--blue-500)}.pin-project-btn.pinned:hover{background:var(--blue-50);color:var(--blue-600)}.sidebar.timeline-v1 .sidebar-row,.sidebar.timeline-v1 .project-row.timeline-v1,.sidebar.timeline-v1 .header-row.timeline-v1{grid-template-columns:1fr}.sidebar.timeline-v1 .header-row.timeline-v1 span{text-align:left;padding-left:0}.date-cell.empty{color:var(--text-muted)}.date-cell.empty:hover{background:#e5e7eb;color:var(--text-secondary)}.date-cell.warning{display:flex;align-items:center;justify-content:center;gap:2px;background:var(--warning-light);color:var(--warning)}.date-cell.warning:hover{background:#e5e7eb}.date-cell.disabled{cursor:default;pointer-events:none}.date-cell.disabled:hover{background:transparent;color:var(--text-primary)}.timeline-container{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.zoom-controls{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.zoom-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:500;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border);border-radius:2px;cursor:pointer;transition:all .15s ease}.zoom-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.zoom-btn:disabled{opacity:.4;cursor:not-allowed}.zoom-controls.header-zoom{padding:0;background:transparent;border-bottom:none;gap:0;border:1px solid var(--border);border-radius:2px;overflow:hidden}.zoom-controls.header-zoom .zoom-btn{border:none;border-radius:0;width:32px;height:30px;display:flex;align-items:center;justify-content:center;padding:0;line-height:0;font-size:0}.zoom-controls.header-zoom .zoom-btn:first-child{border-right:1px solid var(--border)}.header-toolbar-divider{width:1px;align-self:stretch;background:var(--border-light, #F3F4F6);margin:0 4px}.header-right .crew-list-toggle-btn,.header-right .crew-list-filter-btn,.header-right .header-icon-btn{width:32px;height:30px;border-radius:2px}.timeline-header{display:flex;flex-direction:column;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;overflow-x:hidden;overflow-y:hidden;overflow-anchor:none;-webkit-user-select:none;user-select:none;scrollbar-width:none;-ms-overflow-style:none}.timeline-header::-webkit-scrollbar{display:none}.timeline-header.right-pan-ready,.timeline-body.right-pan-ready{cursor:grab}.timeline-header.right-pan-active,.timeline-body.right-pan-active{cursor:grabbing;-webkit-user-select:none;user-select:none}.timeline-header.right-pan-active *,.timeline-body.right-pan-active *{cursor:grabbing!important}.timeline-header.right-pan-active *,.timeline-body.right-pan-active *{pointer-events:none!important;transition:none!important}.timeline-header-scroll{display:flex;flex-direction:column;min-width:max-content;position:relative}.timeline-months-row{display:flex;border-bottom:1px solid var(--border-light)}.timeline-month-span{position:relative;font-size:var(--font-size-xs);font-weight:600;color:var(--text-primary);border-right:1px solid var(--border-light);white-space:nowrap;overflow:visible}.month-label-sticky{position:sticky;left:0;display:inline-block;padding:var(--space-2) var(--space-3);background:var(--bg-secondary);z-index:1}.timeline-month-span:last-child{border-right:none}.timeline-weeks-row{display:flex}.timeline-week{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-1);border-right:1px solid var(--border-light)}.timeline-week:last-child{border-right:none}.timeline-week-number{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.timeline-week-range{font-size:var(--font-size-xs);color:var(--text-muted)}.timeline-days-row{display:flex}.timeline-day-cell{display:flex;align-items:center;justify-content:center;padding:var(--space-1) 0;border-right:1px solid var(--border-light);font-size:var(--font-size-xs);color:var(--text-secondary)}.timeline-day-cell:last-child{border-right:none}.timeline-day-cell:hover{background:#2563eb0a}.timeline-day-cell.selected-day{background:#2563eb14}.timeline-day-cell.selected-day .day-number{color:#2563eb;font-weight:600}.timeline-day-cell.selected-day .day-number.today{color:#fff}.timeline-day-cell.normally-off{background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(148,163,184,.15) 3px,rgba(148,163,184,.15) 6px)}.timeline-day-cell.normally-off .day-number:not(.today){color:var(--text-muted)}.day-number{font-size:10px;font-weight:500;letter-spacing:.01em;white-space:nowrap}.day-name{font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted);margin-left:1px}.day-number.today{background:var(--accent);color:#fff;border-radius:4px;padding:1px 5px;font-weight:600;display:inline-flex;align-items:center;gap:2px}.timeline-body{flex:1;overflow:auto;position:relative;overflow-anchor:none;-webkit-user-select:none;user-select:none}.timeline-body-scroll{min-width:max-content;min-height:100%;position:relative;display:flex;flex-direction:column}.timeline-row{display:flex;height:var(--row-height);border-bottom:1px solid #F0F1F4;position:relative}.timeline-cell{height:100%;flex-shrink:0;border-right:1px solid #F0F1F4}.timeline-cell:last-child{border-right:none}.timeline-cell.normally-off{background-image:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(148,163,184,.08) 3px,rgba(148,163,184,.08) 6px)}.today-line{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);z-index:1;pointer-events:none;margin-left:-1px}.out-of-view{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 2px 8px #00000014;z-index:20;cursor:pointer;transition:all .15s ease}.out-of-view.left{position:sticky;left:8px}.out-of-view.right{position:sticky;right:8px;margin-left:auto}.out-of-view:hover{background:var(--bg-hover);border-color:var(--border-hover);box-shadow:0 4px 12px #0000001f}.out-of-view:hover .out-of-view-arrow{color:var(--text-primary)}.out-of-view.right:hover .out-of-view-arrow{transform:translate(2px)}.out-of-view.left:hover .out-of-view-arrow{transform:translate(-2px)}.out-of-view.inline{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);box-shadow:none;gap:var(--space-2)}.out-of-view.inline .out-of-view-dates{font-size:var(--font-size-xs)}.out-of-view-overlay{position:absolute;left:0;right:0;bottom:0;pointer-events:none;z-index:25}.out-of-view-indicator{position:absolute;display:flex;align-items:center;gap:var(--space-1);line-height:1;cursor:pointer;pointer-events:auto;transition:opacity .15s ease}.out-of-view-indicator.left{left:8px}.out-of-view-indicator.right{right:8px}.out-of-view-indicator:hover{opacity:.7}.indicator-arrow{font-size:11px;color:var(--text-muted);flex-shrink:0;display:flex;align-items:center}.indicator-date{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;display:flex;align-items:center}.indicator-name{font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;display:flex;align-items:center}.crew-filter-option.selected{color:var(--accent)}.summary-item.conflict .summary-value{color:var(--warning)}.crew-name{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);flex-shrink:0}.crew-assignment.past{opacity:.5}.assignment-type.backframing{color:#5e6ad2;background:#5e6ad21a}.assignment-type.roofInstall{color:#8b5cf6;background:#8b5cf61a}.date-badge.today{background:var(--accent);color:#fff}.date-value.today{color:var(--accent);font-weight:500}.crew-view-toggle-btn.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 2px #0000000d}.utilization-fill.medium{background:var(--warning)}.utilization-fill.high{background:var(--success)}.assignment-type.backframing{color:#5e6ad2;background:#5e6ad21f}.assignment-type.roofInstall{color:#8b5cf6;background:#8b5cf61f}.crew-assignment.conflict{background:var(--warning-light);border-radius:var(--radius-sm)}.date-badge.weekend{background:#f59e0b;color:#fff;display:inline-flex;align-items:center;gap:3px}.date-badge.conflict{background:var(--warning);color:#fff}.calendar-day{min-height:0;padding:var(--space-1);border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);background:var(--bg-primary);overflow:hidden}.calendar-day:nth-child(7n){border-right:none}.calendar-day.other-month{background:var(--bg-secondary)}.calendar-day.other-month .calendar-day-number{color:var(--text-muted)}.calendar-day.today{background:var(--accent-light)}.calendar-day.today .calendar-day-number{color:var(--accent);font-weight:600}.calendar-day.off-day{background:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(148,163,184,.15) 3px,rgba(148,163,184,.15) 6px)}.calendar-event.conflict{position:relative;box-shadow:inset 0 0 0 2px var(--warning);padding-right:20px}.calendar-day.off-day .calendar-event{border:1px dashed #F59E0B}.event-popover.dragging{animation:none;cursor:grabbing}@keyframes popover-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.event-popup-status.scheduled{background:var(--accent-light);color:var(--accent)}.event-popup-status.completed{background:#10b9811a;color:#10b981}.event-popup-status.unscheduled{background:var(--bg-secondary);color:var(--text-secondary)}.event-popup-status.in_progress{background:#f59e0b1a;color:#d97706}.crew-legend-name.inactive{opacity:.5}.modal-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:flex-start;justify-content:center;padding-top:100px;z-index:100}.date-picker-weekdays span{font-size:10px;font-weight:500;color:var(--text-muted);text-align:center;padding:var(--space-1);white-space:nowrap}.date-picker-day.normally-off{background:var(--bg-normally-off)}.date-picker-day.selected{background:var(--accent);color:#fff}.date-picker-day.today{border:1px solid var(--accent)}.date-picker-tab.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.date-picker-copy-content .copy-search-wrapper input{flex:1;border:none;background:none;font-size:var(--font-size-sm);color:var(--text-primary);outline:none}.date-picker-copy-content .copy-search-wrapper input::placeholder{color:var(--text-muted)}.copy-project-item svg{color:var(--text-muted);flex-shrink:0}.copy-template-item .template-delete-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);opacity:0;transition:all .15s ease}.copy-template-item:hover .template-delete-btn{opacity:1}.copy-template-item .template-delete-btn:hover{color:var(--error);background:var(--bg-hover)}.date-picker-copy-content .save-template-input-wrapper input{flex:1;border:none;background:none;font-size:var(--font-size-sm);color:var(--text-primary);outline:none}.crew-modal{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;min-width:360px;max-width:420px}.crew-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);border-bottom:1px solid var(--border)}.feedback-modal-overlay{align-items:center;padding-top:0;z-index:1100}.feedback-modal{width:560px;max-width:calc(100vw - 28px);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 20px 50px #0003}.feedback-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:1px solid var(--border)}.feedback-modal-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.feedback-modal-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4)}.admin-tools-modal{width:min(1500px,calc(100vw - 24px));height:min(960px,calc(100vh - 24px));max-height:calc(100vh - 24px);display:flex;flex-direction:column}.admin-tools-body{display:flex;flex-direction:column;flex:1;gap:var(--space-3);min-height:0;overflow:hidden}.admin-tools-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-tools-section h4{margin:0 0 var(--space-2);font-size:var(--font-size-md);font-weight:600;color:var(--text-primary)}.milestone-config-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-3);flex:1;min-height:0}.milestone-config-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);flex:1;min-height:0}.milestone-config-column{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-primary);overflow:hidden;min-height:0;display:flex;flex-direction:column;transition:border-color .15s ease,box-shadow .15s ease}.milestone-config-column.is-drop-target{border-color:var(--milestone-group-accent, #0053D4);box-shadow:inset 0 0 0 2px var(--milestone-group-tint-strong, #EFF6FF)}.milestone-config-column-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.milestone-template-modal .admin-tools-label{font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.milestone-config-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);overflow-y:auto}.milestone-config-section-divider{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1);padding:4px 6px;border-left:3px solid var(--milestone-group-accent, #111827);border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--milestone-group-tint-strong, transparent),transparent 70%);color:var(--milestone-group-accent, #111827);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.milestone-config-section-divider:after{content:"";flex:1;border-top:1px solid var(--milestone-group-accent, #CBD5E1);opacity:.35}.milestone-config-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);cursor:grab;box-shadow:inset 3px 0 0 var(--milestone-group-accent, #CBD5E1)}.milestone-config-card:active{cursor:grabbing}.milestone-config-card.is-dragging{opacity:.45}.milestone-config-card.is-selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent),0 0 0 2px #2563eb1a}.milestone-config-card-main{min-width:0;display:flex;flex-direction:column;gap:2px}.milestone-config-card-main strong{color:var(--text-primary);font-size:var(--font-size-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.milestone-config-card-main span{color:var(--text-tertiary);font-size:var(--font-size-xs)}.milestone-config-card-tags{display:flex;align-items:center;gap:4px;flex-shrink:0}.milestone-config-card-badge{flex-shrink:0;padding:2px 6px;border-radius:var(--radius-sm);background:var(--milestone-group-tint, #F1F5F9);color:var(--milestone-group-accent, var(--text-tertiary));font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.milestone-config-subtasks{display:flex;flex-direction:column;gap:var(--space-2);min-height:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-primary)}.milestone-config-subtasks-header{display:flex;flex-direction:column;gap:2px;padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light)}.milestone-config-subtasks-header strong{color:var(--text-primary);font-size:var(--font-size-md)}.milestone-config-subtask-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.milestone-config-subtask-add .btn-secondary{display:inline-flex;align-items:center;gap:4px;min-height:36px}.milestone-config-subtask-list{display:flex;flex:1;min-height:72px;flex-direction:column;gap:var(--space-2);overflow-y:auto}.milestone-config-subtask-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-sm)}.milestone-config-subtask-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.milestone-config-subtask-delete{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-muted);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer}.milestone-config-subtask-delete:hover{color:var(--error);border-color:var(--error)}@media(max-width:720px){.admin-tools-modal{width:calc(100vw - 12px);height:calc(100vh - 12px);max-height:calc(100vh - 12px)}.milestone-config-layout{grid-template-columns:1fr;overflow-y:auto}.milestone-config-board{grid-template-columns:1fr;min-height:520px}.milestone-config-subtasks{min-height:280px}}.milestone-template-modal{max-height:calc(100vh - 24px)}.milestone-template-subtitle,.project-template-subtitle{margin:4px 0 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.milestone-template-body{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--space-4);flex:1;min-height:0;overflow:hidden}.milestone-template-sidebar{display:flex;flex-direction:column;gap:var(--space-2);min-height:0;padding-right:var(--space-3);border-right:1px solid var(--border)}.milestone-template-create,.milestone-template-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:center}.milestone-template-list{display:flex;flex-direction:column;gap:var(--space-2);min-height:0;overflow-y:auto}.milestone-template-list-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:12px;font-weight:500;text-align:left;cursor:pointer;min-width:0}.milestone-template-list-item-main{display:flex;flex-direction:column;gap:1px;min-width:0}.milestone-template-list-item-actions{display:inline-flex;gap:4px;flex-shrink:0}.milestone-template-list-item-actions .milestone-template-icon-btn{opacity:0;transition:opacity .12s ease}.milestone-template-list-item:hover .milestone-template-icon-btn,.milestone-template-list-item:focus-within .milestone-template-icon-btn,.milestone-template-list-item.is-active .milestone-template-icon-btn{opacity:1}.milestone-template-list-item.is-active{border-color:#0053d4;background:#eff6ff;box-shadow:inset 3px 0 #0053d4}.milestone-template-list-item small{color:var(--text-tertiary);font-size:12px;font-weight:400}.milestone-template-editor{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;overflow:hidden}.milestone-template-empty{min-height:220px;display:flex;align-items:center;justify-content:center}.milestone-template-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);align-items:end}.milestone-template-name-field{display:flex;flex-direction:column;gap:var(--space-1)}.milestone-template-delete-template{height:34px;display:inline-flex;align-items:center;gap:var(--space-1)}.milestone-template-board{grid-template-columns:minmax(240px,1fr) minmax(240px,1fr);min-height:0;overflow:hidden}.milestone-template-column{min-height:0}.milestone-template-column.factory,.milestone-template-column.site{background:var(--bg-primary)}.milestone-template-column-hint{color:var(--text-tertiary);font-size:11px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.35;display:block;margin-top:2px}.milestone-template-milestone-card .milestone-template-icon-btn,.milestone-template-simple-row .milestone-template-icon-btn{opacity:0;transition:opacity .12s ease}.milestone-template-milestone-card:hover .milestone-template-icon-btn,.milestone-template-simple-row:hover .milestone-template-icon-btn{opacity:1}.milestone-template-column .milestone-config-column-header{gap:var(--space-2)}.milestone-template-column .milestone-config-column-header>div{display:flex;flex-direction:column;gap:2px;min-width:0}.milestone-template-milestone-list{max-height:none;min-height:0;flex:1}.milestone-template-simple-list{gap:0}.milestone-template-milestone-card{border-bottom:1px solid rgba(15,23,42,.16);transition:background .12s ease}.milestone-template-milestone-card:last-child{border-bottom:0}.milestone-template-milestone-card:not(.is-selected):hover{background:#0f172a06}.milestone-template-milestone-card.is-selected{background:transparent}.milestone-template-simple-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto 28px;align-items:center;gap:6px;padding:6px 10px}.milestone-template-milestone-row{cursor:default}.milestone-template-milestone-card.is-factory .milestone-template-milestone-row{cursor:pointer}.milestone-template-expand-chevron{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-muted);transition:transform .15s ease}.milestone-template-expand-chevron.open{transform:rotate(180deg);color:var(--accent)}.milestone-template-expand-chevron.is-spacer{visibility:hidden}.milestone-template-simple-input{width:auto;max-width:100%;min-width:0;height:30px;border:0;background:transparent;color:var(--text-primary);font-family:inherit;font-size:12px;font-weight:500;line-height:1.25;outline:none;box-sizing:border-box;justify-self:start}.milestone-template-simple-input:focus{background:var(--bg-primary);box-shadow:inset 0 0 0 1px #2563eb47;border-radius:var(--radius-sm);padding:0 var(--space-2)}.milestone-template-production-pill{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-pill, 999px);padding:2px 8px;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;justify-self:center}.milestone-template-production-pill.is-spacer{visibility:hidden;border-color:transparent;background:transparent}.milestone-template-production-inline{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:var(--space-2);align-items:end;padding:0;background:transparent;border:none}.milestone-template-production-default-label{display:flex;flex-direction:column;gap:2px;min-width:0}.milestone-template-production-default-label:not(:last-child){margin-bottom:var(--space-2)}.milestone-template-field-helper{margin-top:4px;color:var(--text-tertiary);font-size:11px;font-weight:400;line-height:1.35}.milestone-template-production-field{display:flex;flex-direction:column;gap:2px;min-width:0}.milestone-template-production-field .admin-tools-select{width:100%}.milestone-template-production-short .admin-tools-select{text-transform:uppercase;text-align:center;letter-spacing:.05em;max-width:80px}.milestone-template-production-qty .admin-tools-select{text-align:right;font-variant-numeric:tabular-nums}.milestone-template-production-help{grid-column:1 / -1;margin:4px 0 0;font-size:11px;font-weight:400;color:var(--text-muted);line-height:1.4}.milestone-template-add-row{padding:var(--space-2);border-top:1px solid var(--border);background:#ffffffbd}.milestone-template-icon-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0}.milestone-template-icon-btn.small{width:22px;height:22px}.project-template-modal{width:min(620px,calc(100vw - 32px))}.project-template-body{display:flex;flex-direction:column;gap:var(--space-2);max-height:min(520px,calc(100vh - 180px));overflow-y:auto}.project-template-empty{min-height:160px;display:flex;align-items:center;justify-content:center;text-align:center}.project-template-option{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);text-align:left;cursor:pointer}.project-template-option:hover{border-color:#0053d4;background:#f8fbff}.project-template-option strong,.project-template-option span{display:block}.project-template-option strong{font-size:var(--font-size-sm)}.project-template-option span{margin-top:2px;color:var(--text-tertiary);font-size:var(--font-size-xs)}.project-template-counts{display:flex;flex-wrap:wrap;gap:var(--space-1);justify-content:flex-end}.project-template-counts span{margin-top:0;padding:3px 7px;border-radius:var(--radius-sm);font-weight:700;color:var(--text-secondary)}.project-template-counts .factory{background:#2563eb14;color:#2563eb}.project-template-counts .site{background:#10b98114;color:#10a36d}.milestone-category-add{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:#ffffffdb;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.milestone-category-add:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-primary)}.milestone-add-gutter{display:flex;align-items:center;justify-content:flex-start;gap:8px;height:34px;width:100%;padding:0 12px 0 36px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;font-size:11.5px;font-weight:500;opacity:.5;transition:opacity .15s ease,background-color .15s ease,color .15s ease}.milestone-add-gutter:hover{background:#2563eb0f;color:var(--accent);opacity:1}.milestone-add-gutter-label{font-size:11.5px;letter-spacing:0}.gantt-subrow.gantt-subrow-add-gutter{background:transparent;pointer-events:none}@media(max-width:720px){.milestone-template-body{grid-template-columns:1fr;overflow-y:auto}.milestone-template-sidebar{padding-right:0;padding-bottom:var(--space-3);border-right:none;border-bottom:1px solid var(--border)}.milestone-template-toolbar,.milestone-template-board{grid-template-columns:1fr}}.admin-tools-empty{padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-secondary)}.admin-tools-plan-list>li{padding:var(--space-3);border-top:1px solid var(--border)}.admin-tools-plan-list>li:first-child{border-top:none}.admin-tools-plan-changes>li{line-height:1.5}.admin-tools-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.admin-tools-select{width:100%;padding:var(--space-2) var(--space-3);height:34px;font-family:var(--font-family);font-size:var(--font-size-sm);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);outline:none}.admin-tools-select:focus{border-color:#0053d4}.admin-tools-plan-changes>li.is-conflict{color:#92400e}.modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .1s ease}.modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.dcr-overlay{align-items:center;padding-top:0;z-index:1100}.dcr-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 12px;border-bottom:1px solid var(--border)}.dcr-title{font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.dcr-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border)}.crew-modal-body{padding:var(--space-4)}.crew-modal-label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);text-transform:none;letter-spacing:0;margin-bottom:6px}.crew-modal-footer{display:flex;justify-content:flex-end;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--bg-secondary)}.tooltip{position:fixed;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:#fff;background:var(--text-primary);border-radius:var(--radius-sm);pointer-events:none;z-index:1000;max-width:240px;white-space:nowrap}.milestone-tooltip{position:fixed;transform:translate(-50%,-100%);padding:8px 12px;background:var(--bg-primary);border:none;border-radius:var(--radius-md);box-shadow:0 2px 12px #0000001f;pointer-events:none;min-width:100px;z-index:1000}.milestone-tooltip .tooltip-name{font-size:11px;font-weight:600;color:var(--text-primary);margin-bottom:2px}.milestone-tooltip .tooltip-date{font-size:11px;font-weight:400;color:var(--text-muted);margin-bottom:2px}.milestone-tooltip .tooltip-status{font-size:10px;font-weight:500;color:var(--text-muted)}.milestone-tooltip .tooltip-status.completed{color:var(--success)}.milestone-tooltip .tooltip-status.late{color:var(--error)}.milestone-tooltip .tooltip-crew{font-size:10px;font-weight:400;color:var(--text-primary);margin-top:6px;padding-top:6px;border-top:1px solid var(--border-light)}.milestone-tooltip .tooltip-crew-label{color:var(--text-muted)}.milestone-tooltip .tooltip-crew.unassigned{color:var(--text-muted);font-style:italic}.milestone-tooltip:has(.tooltip-items){pointer-events:auto}.milestone-tooltip .tooltip-items{display:flex;flex-direction:column;gap:0}.milestone-tooltip .tooltip-item{display:flex;align-items:center;gap:var(--space-2);padding:6px 8px;border-bottom:1px solid var(--border);border-radius:var(--radius-sm);transition:background .1s ease}.milestone-tooltip .tooltip-item.clickable{cursor:pointer}.milestone-tooltip .tooltip-item.clickable:hover{background:#3b82f614}.milestone-tooltip .tooltip-item.clickable:hover .tooltip-item-arrow{opacity:1;color:var(--accent)}.milestone-tooltip .tooltip-item:last-child{border-bottom:none}.milestone-tooltip .tooltip-item-arrow{flex-shrink:0;opacity:.3;color:var(--text-muted);transition:opacity .1s ease,color .1s ease}.milestone-tooltip .tooltip-item-icon{width:10px;height:10px;flex-shrink:0}.milestone-tooltip .tooltip-item-icon path{fill:var(--text-muted)}.milestone-tooltip .tooltip-item-icon.filled path{fill:var(--success)}.milestone-tooltip .tooltip-item-content{flex:1;min-width:0}.milestone-tooltip .tooltip-item-name-row{display:flex;align-items:center;gap:var(--space-2)}.milestone-tooltip .tooltip-item-name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.milestone-tooltip .tooltip-item-crew-row{display:flex;flex-wrap:wrap;gap:3px;margin-top:3px}.milestone-tooltip .tooltip-item-crew-tag{font-size:10px;font-weight:500;color:var(--crew-chip-color);background:var(--crew-chip-bg);padding:2px 8px;border-radius:4px;white-space:nowrap}.milestone-tooltip .tooltip-item-date{font-size:var(--font-size-xs);color:var(--text-secondary)}.milestone-picker-backdrop{position:fixed;inset:0;z-index:100}.milestone-picker-dropdown{position:fixed;transform:translate(-50%);min-width:200px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 4px 16px #0000001f;overflow:hidden;z-index:101}.milestone-picker-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-secondary)}.milestone-picker-title{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.milestone-picker-date{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.milestone-picker-section{padding:var(--space-2) 0}.milestone-picker-section-label{padding:var(--space-1) var(--space-4);font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.milestone-picker-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);cursor:pointer;transition:background .15s ease}.milestone-picker-option:hover{background:var(--bg-hover)}.milestone-picker-option .option-icon{font-size:14px;width:18px;text-align:center}.milestone-picker-option .option-icon.unscheduled{color:var(--text-muted)}.milestone-picker-option .option-icon.scheduled{color:var(--milestone)}.milestone-picker-option .option-label{flex:1;font-size:var(--font-size-sm);color:var(--text-primary)}.milestone-picker-option .option-current-date,.milestone-picker-option .option-move-indicator{font-size:var(--font-size-xs);color:var(--text-muted)}.milestone-picker-option.scheduled{opacity:.85}.milestone-picker-option.scheduled:hover{opacity:1}.milestone-picker-option.restore-option{background:#3b82f60d}.milestone-picker-option.restore-option:hover{background:#3b82f61a}.milestone-picker-option .option-icon.deleted{color:var(--text-muted);opacity:.6}.milestone-picker-option .option-restore-hint{font-size:var(--font-size-xs);color:var(--accent);font-weight:500}.milestone-picker-create-top{border-bottom:1px solid var(--border);padding:var(--space-2) 0}.milestone-picker-option.create-option{color:var(--text-secondary)}.milestone-picker-option.create-option:hover{color:var(--text-primary)}.milestone-picker-create-form{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.milestone-picker-input{flex:1;min-width:0;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--accent);border-radius:var(--radius-sm);outline:none}.milestone-picker-input::placeholder{color:var(--text-muted)}.milestone-picker-create-btn{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-weight:500;color:#fff;background:var(--accent);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.milestone-picker-create-btn:hover:not(:disabled){background:var(--accent-hover)}.milestone-picker-create-btn:disabled{opacity:.5;cursor:default}.milestone-picker-suggestions{display:flex;flex-wrap:wrap;gap:4px;padding:4px 8px 8px}.milestone-picker-suggestion{font-size:11px;padding:2px 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all .15s ease}.milestone-picker-suggestion:hover{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.milestone-picker-copy-section{border-bottom:1px solid var(--border);padding-bottom:var(--space-2);margin-bottom:var(--space-1)}.milestone-picker-option.copy-toggle-option{color:var(--text-secondary)}.milestone-picker-option.copy-toggle-option:hover{color:var(--text-primary)}.milestone-picker-copy-content{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-2)}.milestone-picker-copy-content .copy-search-wrapper{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border)}.milestone-picker-copy-content .copy-search-wrapper:focus-within{border-color:var(--accent)}.milestone-picker-copy-content .copy-search-wrapper svg{color:var(--text-muted);flex-shrink:0}.milestone-picker-copy-content .copy-search-wrapper input{flex:1;border:none;background:none;font-size:var(--font-size-sm);color:var(--text-primary);outline:none}.milestone-picker-copy-content .copy-search-wrapper input::placeholder{color:var(--text-muted)}.milestone-picker-copy-content .copy-project-list,.milestone-picker-copy-content .copy-template-list{display:flex;flex-direction:column;gap:var(--space-1);max-height:150px;overflow-y:auto}.milestone-picker-copy-content .copy-project-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);font-size:var(--font-size-sm);color:var(--text-primary);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .15s ease;width:100%}.milestone-picker-copy-content .copy-project-item:hover{background:var(--bg-hover)}.milestone-picker-copy-content .copy-project-item svg{color:var(--text-muted);flex-shrink:0}.milestone-picker-copy-content .copy-project-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.milestone-picker-copy-content .copy-project-item.save-template{color:var(--text-secondary);border:1px dashed var(--border)}.milestone-picker-copy-content .copy-project-item.save-template:hover{color:var(--accent);border-color:var(--accent);background:transparent}.milestone-picker-copy-content .copy-template-item{display:flex;align-items:center;gap:var(--space-1)}.milestone-picker-copy-content .copy-template-item .copy-project-item{flex:1}.milestone-picker-copy-content .copy-template-item .template-delete-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);opacity:0;transition:all .15s ease}.milestone-picker-copy-content .copy-template-item:hover .template-delete-btn{opacity:1}.milestone-picker-copy-content .copy-template-item .template-delete-btn:hover{color:var(--error);background:var(--bg-hover)}.milestone-picker-copy-content .copy-empty-message{font-size:var(--font-size-sm);color:var(--text-muted);text-align:center;padding:var(--space-2)}.milestone-picker-copy-content .save-template-input-wrapper{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border)}.milestone-picker-copy-content .save-template-input-wrapper:focus-within{border-color:var(--accent)}.milestone-picker-copy-content .save-template-input-wrapper input{flex:1;border:none;background:none;font-size:var(--font-size-sm);color:var(--text-primary);outline:none}.milestone-picker-copy-content .save-template-confirm{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--accent);border:none;color:#fff;cursor:pointer;border-radius:var(--radius-sm);transition:opacity .15s ease}.milestone-picker-copy-content .save-template-confirm:disabled{opacity:.5;cursor:not-allowed}.scheduling-sidebar-overlay{position:fixed;inset:0;z-index:999;background:linear-gradient(270deg,#0f172a24,#0f172a00 54%)}.scheduling-sidebar{position:fixed;top:0;right:0;bottom:0;width:400px;background:#fff;border-left:1px solid #E2E8F0;box-shadow:-8px 0 24px #02061714;z-index:1001;display:flex;flex-direction:column;overflow:hidden;isolation:isolate;transform:translate(100%);transition:transform .2s ease,box-shadow .2s ease}.scheduling-sidebar:before,.scheduling-sidebar:after{display:none}.scheduling-sidebar.open{transform:translate(0)}.project-view.right-pan-dragging .scheduling-sidebar,.project-view.right-pan-dragging .scheduling-sidebar *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.project-view.right-pan-dragging .scheduling-sidebar{box-shadow:-10px 0 24px #02061724}.project-view.right-pan-dragging .milestone-tooltip{display:none!important}.scheduling-panel{display:flex;flex-direction:column;flex:1;min-height:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;position:relative;z-index:1}.scheduling-panel-title{height:32px;flex-shrink:0;padding:0 12px;display:flex;align-items:center;gap:0;font-size:11px;font-weight:500;color:var(--text-primary);background:#fff;border-bottom:1px solid #E2E8F0;border-radius:0;min-width:0;white-space:nowrap}.scheduling-panel-title-project{font-weight:600;overflow:hidden;text-overflow:ellipsis;min-width:0;flex-shrink:1}.scheduling-panel-title-separator{padding:0 4px;color:var(--text-secondary);flex-shrink:0}.scheduling-panel-title-event{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;min-width:0;flex-shrink:1}.scheduling-panel-title .scheduling-panel-close{margin-left:auto;flex-shrink:0}.scheduling-panel-close{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;border-radius:4px;cursor:pointer;color:var(--text-primary)}.scheduling-panel-close:hover{background:var(--bg-hover)}.scheduling-panel-content{padding:12px;display:flex;flex-direction:column;gap:10px;position:relative;overflow-y:auto;scrollbar-gutter:stable;flex:1}.scheduling-panel-content.milestone-panel-v2-properties{padding:0;gap:0}.scheduling-panel-content.milestone-panel-v2-properties>.milestone-panel-v2-property+.milestone-panel-v2-property{border-top:0}.scheduling-panel-content.milestone-panel-v2-properties>.milestone-panel-v2-property.is-section{border-top:1px solid var(--border-light)}.scheduling-panel-content.milestone-panel-v2-properties .scheduling-panel-subtask-item{display:grid;grid-template-columns:142px 1fr auto;column-gap:12px;align-items:center}.scheduling-panel-content.milestone-panel-v2-properties .scheduling-panel-subtask-item .subtask-leading{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.scheduling-panel-content.milestone-panel-v2-properties .scheduling-panel-subtask-item .subtask-due-date-control{justify-self:start}.scheduling-panel-content.milestone-panel-v2-properties .milestone-panel-v2-popover{position:absolute!important;left:154px}.block-panel-crew-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 6px 0 4px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);font-size:12px;font-weight:500;color:var(--text-primary);line-height:1;transition:border-color .12s ease,background .12s ease}.block-panel-crew-chip:hover{border-color:#0f172a33;background:var(--bg-secondary, #F8FAFC)}.block-panel-crew-chip.conflict{border-color:#dc262659;color:#b91c1c}.block-panel-crew-chip-avatar{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:9px;font-weight:700;color:#fff;letter-spacing:.02em;flex-shrink:0}.block-panel-crew-chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.block-panel-crew-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:0;border-radius:2px;background:transparent;color:var(--text-muted);cursor:pointer;margin-left:2px}.block-panel-crew-chip-remove:hover{background:#0f172a14;color:var(--text-primary)}.scheduling-panel-content.milestone-panel-v2-properties .milestone-panel-v2-property-detail{background:transparent;border:1px solid var(--border);border-radius:2px}.scheduling-panel-content.milestone-panel-v2-properties .scheduling-panel-row.working-days-row:before,.scheduling-panel-content.milestone-panel-v2-properties .scheduling-panel-working-days-header{display:none}.scheduling-panel-content.milestone-panel-v2-properties .scheduling-panel-row.working-days-row{padding-top:0}.scheduling-panel-content.milestone-panel-v2-properties .milestone-panel-v2-popover-row .subtask-due-date-control input[type=date]{flex:1;height:auto;border:0;border-radius:0;padding:0;background:transparent;font-family:inherit;font-size:12px;font-weight:500;color:var(--text-primary)}.scheduling-panel-content.milestone-panel-v2-properties .milestone-panel-v2-popover-row .subtask-due-date-control input[type=date]:focus{box-shadow:none;border-color:transparent}.scheduling-panel-content.milestone-panel-v2-properties .scheduling-panel-crew-accordion{grid-column:1 / -1;margin-top:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);box-shadow:0 8px 24px #0f172a1a;padding:8px;max-height:280px;overflow:hidden;display:flex;flex-direction:column}.scheduling-panel-content.milestone-panel-v2-properties .scheduling-panel-crew-accordion .scheduling-panel-search{margin-bottom:6px}.scheduling-panel-content.milestone-panel-v2-properties .scheduling-panel-crew-accordion .scheduling-panel-dropdown-list{overflow-y:auto}.scheduling-panel-content.milestone-panel-v2-properties .scheduling-panel-crew-accordion .scheduling-panel-dropdown-item.crew-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border-radius:4px}.scheduling-panel-content.milestone-panel-v2-properties .scheduling-panel-crew-accordion .crew-item-left{display:inline-flex;align-items:center;gap:8px;min-width:0}.scheduling-panel-content.milestone-panel-v2-properties .scheduling-panel-crew-accordion .crew-item-right{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.subtask-due-date-input::-webkit-calendar-picker-indicator{display:none}.scheduling-panel-content.milestone-panel-v2-properties>.milestone-panel-v2-property:not(.is-section){grid-template-columns:142px 1fr}.block-panel-production-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:100%;min-width:0;position:relative}.block-panel-production-row .milestone-panel-v2-property-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}.block-panel-production-input{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);font-size:12px;font-weight:500;line-height:1;transition:border-color .12s ease,background .12s ease}.block-panel-production-input:hover,.block-panel-production-input:focus-within{border-color:#0f172a33;background:var(--bg-secondary, #F8FAFC)}.block-panel-production-input-num{border:0;background:transparent;outline:none;field-sizing:content;min-width:14px;padding:0;font:inherit;color:var(--text-primary);text-align:left;-moz-appearance:textfield}.block-panel-production-input-num::-webkit-outer-spin-button,.block-panel-production-input-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.block-panel-production-input:focus-within .block-panel-production-input-num{-moz-appearance:auto}.block-panel-production-input:focus-within .block-panel-production-input-num::-webkit-outer-spin-button,.block-panel-production-input:focus-within .block-panel-production-input-num::-webkit-inner-spin-button{-webkit-appearance:auto}.block-panel-production-input-uom{font:inherit;color:var(--text-muted)}.block-panel-add-production-trigger{appearance:none;display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border:1px dashed var(--border, rgba(15, 23, 42, .18));border-radius:2px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.block-panel-add-production-trigger:hover:not(:disabled){border-color:#0f172a66;background:var(--bg-secondary, #F8FAFC);color:var(--text-primary)}.block-panel-add-production-trigger:disabled{cursor:not-allowed;opacity:.55}.block-panel-add-production-editor{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.block-panel-add-production-input{height:26px;padding:0 8px;border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:2px;background:var(--bg-primary);font:inherit;font-size:12px;font-weight:500;color:var(--text-primary);outline:none;-moz-appearance:textfield}.block-panel-add-production-input::-webkit-outer-spin-button,.block-panel-add-production-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.block-panel-add-production-input.uom{width:56px}.block-panel-add-production-input.num{width:64px}.block-panel-add-production-input.type{width:140px}.block-panel-add-production-input:focus{border-color:var(--accent, #2563EB)}.scheduling-panel-content.milestone-panel-v2-properties>.scheduling-panel-row--padded{padding:10px 16px;border-bottom:1px solid var(--border-light)}.scheduling-panel-row{position:relative;display:flex;align-items:center;gap:8px}.scheduling-panel-row.date-row{gap:8px}.scheduling-panel-production-preview.active{color:var(--accent);background:#d5e3f9;border-color:#2563eb73}.scheduling-panel-production-custom-toggle input[type=checkbox]{margin:0;cursor:pointer}.scheduling-panel-section.collapsed{gap:0}.milestone-subrow-label-short{font-variant-numeric:tabular-nums;letter-spacing:.4px;font-weight:700;color:var(--accent)}.scheduling-panel-row.workdays-row{height:33px;background:#fff;border:1px solid rgba(148,163,184,.2);box-shadow:0 12px 24px -24px #0f172a57,inset 0 1px #ffffff6b;border-radius:var(--radius-md);padding:0 4px}.scheduling-panel-row.crew-row{z-index:5;flex-direction:column;align-items:stretch;padding-top:10px}.scheduling-panel-row.crew-row:before{content:"";position:absolute;top:0;left:-12px;right:-12px;height:1px;background:var(--border)}.scheduling-panel-crew-add-btn svg{width:12px;height:12px;flex-shrink:0}.scheduling-panel-crew-chip.conflict{color:var(--warning);background:var(--warning-light)}.scheduling-panel-crew-chip.conflict svg{flex-shrink:0}.scheduling-panel-crew-accordion{border:1px solid rgba(148,163,184,.2);border-radius:var(--radius-md);background:#ffffff57;box-shadow:0 12px 24px -24px #0f172a57,inset 0 1px #ffffff6b;-webkit-backdrop-filter:blur(11px) saturate(150%);backdrop-filter:blur(11px) saturate(150%);overflow:hidden;display:flex;flex-direction:column;margin-top:4px}.scheduling-panel-crew-accordion .scheduling-panel-dropdown-list{max-height:160px;overflow-y:auto}.daily-sidebar{flex:none;display:flex;flex-direction:column;background:#fff;border-left:1px solid var(--border)}.daily-sidebar .crew-list-panel-header{flex-shrink:0}.daily-sidebar .crew-list-filter-chips{position:relative}.daily-sidebar-resize-handle{width:4px;cursor:col-resize;background:transparent;transition:background .15s;flex-shrink:0}.daily-sidebar-resize-handle:hover,.daily-sidebar-resize-handle:active{background:#c5d8f8}.daily-sidebar-content{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent}.daily-sidebar-content:hover{scrollbar-color:rgba(0,0,0,.2) transparent}.daily-sidebar-header{display:flex;align-items:stretch;justify-content:space-between;flex-shrink:0;border-bottom:1px solid var(--border);padding-right:8px}.daily-sidebar-header .crew-list-close-btn{border:none;background:transparent;align-self:center}.daily-sidebar-header .crew-list-close-btn:hover{background:var(--bg-hover, #F3F4F6)}.daily-sidebar-tabs{display:flex;align-items:stretch;gap:0;flex:1;min-width:0}.daily-sidebar-tab{appearance:none;background:transparent;border:none;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-muted);cursor:pointer;position:relative;transition:color .1s ease}.daily-sidebar-tab:hover,.daily-sidebar-tab.active{color:var(--text-primary)}.daily-sidebar-tab.active:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.sidebar-strip{flex:none;width:32px;display:flex;flex-direction:column;align-items:stretch;background:#fff;border-left:1px solid var(--border)}.sidebar-strip-toggle{appearance:none;background:transparent;border:none;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:background .1s ease,color .1s ease}.sidebar-strip-toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-strip-item{appearance:none;background:transparent;border:none;padding:12px 0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);transition:background .1s ease}.sidebar-strip-item:hover{background:var(--bg-secondary)}.sidebar-strip-rotated{writing-mode:vertical-rl;transform:rotate(180deg);display:inline-flex;align-items:center;gap:6px}.sidebar-strip-count{font-size:12px;font-weight:700;line-height:1;color:var(--text-primary)}.sidebar-strip-label{font-size:11px;font-weight:600;letter-spacing:.2px;color:var(--text-secondary);white-space:nowrap}.overtime-project-heading{align-items:center;justify-content:space-between;padding-right:16px;min-height:32px}.overtime-project-name{font-size:12px;font-weight:700;color:#19202c;letter-spacing:0;text-transform:none}.overtime-project-code{font-size:11px;color:#9ca3af}.overtime-milestone-section{padding:6px 16px 8px;border-bottom:1px solid var(--border-light)}.overtime-milestone-section:last-child{border-bottom:none}.overtime-milestone-label{font-size:12px;font-weight:600;color:#19202c;margin:4px 0 4px 12px}.overtime-day-row{appearance:none;background:transparent;border:none;width:100%;display:flex;align-items:center;gap:10px;padding:4px 0 4px 12px;cursor:pointer;text-align:left;border-radius:4px;transition:background .1s ease}.overtime-day-row:hover{background:var(--bg-secondary)}.overtime-day-bar{width:3px;height:18px;border-radius:2px;background:#ff8c28e6;flex-shrink:0}.overtime-day-text{font-size:12px;color:#19202c;flex:1}.overtime-day-pill{font-size:11px;font-weight:600;color:#b4500af2;background:#ff8c282e;border-radius:2px;padding:2px 10px}.unsched-list{padding:0}.unsched-group{border-bottom:1px solid var(--border)}.unsched-group:last-child{border-bottom:none}.unsched-group-header{appearance:none;background:var(--bg-secondary);border:none;border-bottom:1px solid var(--border);width:100%;display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:600;color:var(--text-primary);cursor:pointer;text-align:left}.unsched-group-header:hover{background:var(--bg-hover)}.unsched-group-caret{display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);width:14px}.unsched-group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unsched-group-code{font-size:11px;font-weight:400;color:var(--text-muted);flex-shrink:0}.unsched-row{position:relative;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;cursor:grab;-webkit-user-select:none;user-select:none}.unsched-row:hover{background:var(--bg-hover)}.unsched-row:active{cursor:grabbing}.unsched-row-handle{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-muted);opacity:0;transition:opacity .1s ease;flex-shrink:0}.unsched-row:hover .unsched-row-handle{opacity:1}.unsched-row-color{display:inline-block;width:12px;height:12px;border-radius:3px;flex-shrink:0}.unsched-row-color[data-color=blue]{background:#6fa1f2}.unsched-row-color[data-color=cyan]{background:#58b99d}.unsched-row-color[data-color=purple]{background:#c285ff}.unsched-row-color[data-color$=-draft]{background:#94a3b82e;border:1px dashed rgba(148,163,184,.7);box-sizing:border-box}.unsched-row-label{flex:1;min-width:0;font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unsched-row-menu-btn{appearance:none;background:transparent;border:1px solid transparent;border-radius:4px;padding:2px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .1s ease,background .1s ease,border-color .1s ease;flex-shrink:0}.unsched-row:hover .unsched-row-menu-btn{opacity:1}.unsched-row-menu-btn:hover{background:var(--bg-hover)}.unsched-row-menu-btn:focus-visible,.unsched-row-menu-btn:active{background:var(--bg-hover);border-color:var(--accent);opacity:1}.unsched-row-menu{position:absolute;right:8px;top:calc(100% - 4px);z-index:20;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0f172a1f;padding:4px;display:flex;flex-direction:column;min-width:160px}.unsched-row-menu button{appearance:none;background:transparent;border:none;padding:8px 10px;font-size:13px;color:var(--text-primary);display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer;border-radius:4px}.unsched-row-menu button:hover{background:var(--bg-hover)}.unsched-row-menu .unsched-row-menu-danger{color:#d42e15}.unsched-row-renaming,.unsched-row-adding{cursor:default;border:1px solid var(--accent);border-radius:6px;margin:4px 8px;padding:4px 6px 4px 4px;background:#fff;box-shadow:0 0 0 3px #0053d414}.unsched-row-renaming:hover,.unsched-row-adding:hover{background:#fff}.unsched-row-rename-input{flex:1;min-width:0;appearance:none;border:none;outline:none;background:transparent;font-size:13px;font-weight:500;color:var(--text-primary);padding:2px 0}.unsched-row-cancel-btn{appearance:none;background:transparent;border:none;padding:2px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;border-radius:4px;flex-shrink:0}.unsched-row-cancel-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.unsched-row-suggestions{position:absolute;left:0;right:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--border);border-radius:6px;padding:4px;box-shadow:0 8px 24px #0f172a1f;z-index:5;display:flex;flex-direction:column}.unsched-row-suggestion{appearance:none;background:transparent;border:none;padding:6px 8px;font-size:12px;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:4px}.unsched-row-suggestion:hover{background:var(--bg-hover)}.unsched-add-btn{appearance:none;background:transparent;border:none;padding:8px 12px;font-size:12px;font-weight:500;color:var(--accent);display:flex;align-items:center;gap:6px;cursor:pointer;width:100%;text-align:left}.unsched-add-btn:hover{background:var(--bg-hover)}.timeline-cell.drop-target{background:#0053d414;outline:1.5px dashed rgba(37,99,235,.5);outline-offset:-2px}.out-of-view-mini-slot{position:absolute;display:flex;align-items:center;pointer-events:none;z-index:26}.out-of-view-mini-slot.left{left:8px}.out-of-view-mini-slot.right{right:8px}.out-of-view-indicator-mini{position:static;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;pointer-events:auto;padding:0;transition:background .12s ease,color .12s ease}.out-of-view-indicator-mini:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-drop-cell-highlight{position:absolute;background:#0053d41f;outline:1.5px dashed rgba(37,99,235,.6);outline-offset:-2px;pointer-events:none;z-index:6}.project-row-container.dimmed-by-sidebar-drag,.timeline-row-container.dimmed-by-sidebar-drag{opacity:.35;pointer-events:none;transition:opacity .12s ease}.gantt-subrows{display:flex;flex-direction:column;background:var(--bg-secondary)}.gantt-group-header-row{position:relative;box-sizing:border-box;height:26px;min-height:26px;display:flex;align-items:center;border-bottom:1px solid #F0F1F4;border-left:4px solid var(--milestone-group-accent, #111827);background:var(--milestone-group-tint, transparent);color:var(--milestone-group-accent, #111827);box-shadow:inset -1px 0 #c1c9d4;z-index:2}.gantt-group-header-row.timeline{border-left:0;background:var(--milestone-group-tint, transparent);box-shadow:none}.gantt-group-header-row.collapsed,.gantt-group-header-row.timeline.collapsed{background:var(--milestone-group-tint, transparent)}.gantt-group-toggle{appearance:none;border:0;background:transparent;color:inherit;height:100%;display:inline-flex;align-items:center;gap:15px;padding:0 8px 0 16px;margin:0;cursor:pointer;font-size:10px;font-weight:700;line-height:1;letter-spacing:.04em;text-transform:uppercase}.gantt-group-header-row.has-project-toggle .gantt-group-toggle{padding-left:40px}.gantt-group-header-row.timeline .gantt-group-toggle{position:sticky;left:8px;z-index:3;height:24px;border-radius:4px}.gantt-group-toggle:hover{background:transparent}.gantt-group-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-group-project-name{min-width:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:0;text-transform:none}.gantt-group-project-name:before{content:"·";margin-right:6px;color:var(--text-muted)}.gantt-group-count{margin-left:-11px;min-width:16px;height:16px;padding:0 5px;border-radius:2px;background:#ffffffb8;color:inherit;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.gantt-mode .timeline-body{scrollbar-width:none}.gantt-mode .timeline-body::-webkit-scrollbar{display:none}.gantt-subrow{position:relative;display:flex;border-bottom:1px solid var(--border)}.gantt-subrow.selected{background:#2563eb0b;box-shadow:inset 3px 0 0 var(--accent)}.gantt-subrow .lane-bar{position:absolute}.app.gantt-mode .expand-toggle{display:flex!important}.milestone-subrow{height:30px;align-items:center;background:var(--bg-primary)}.milestone-subrow:hover{background:var(--bg-hover)}.milestone-row-menu-wrap{position:relative;display:inline-flex;flex-shrink:0;margin-left:auto}.milestone-subrow-menu-btn{appearance:none;background:var(--bg-primary, #FFFFFF);border:1px solid var(--border, rgba(15, 23, 42, .12));border-radius:var(--radius-sm);width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease,border-color .12s ease,color .12s ease;flex-shrink:0}.milestone-subrow:hover .milestone-subrow-menu-btn,.milestone-subrow-menu-btn[aria-expanded=true]{opacity:1}.milestone-subrow-menu-btn:hover{background:var(--bg-secondary, #F8FAFC);border-color:#0f172a33;color:var(--text-primary)}.milestone-row-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:80;min-width:200px;background:var(--bg-primary, #fff);border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:6px;box-shadow:0 8px 24px #0f172a24;padding:4px;display:flex;flex-direction:column;gap:2px}.milestone-row-menu-item{appearance:none;text-align:left;display:inline-flex;align-items:center;gap:8px;padding:6px 8px;border:0;background:transparent;border-radius:4px;font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer}.milestone-row-menu-item:hover:not(:disabled){background:var(--bg-hover, rgba(0, 0, 0, .05))}.milestone-row-menu-item:disabled{color:var(--text-muted);cursor:not-allowed}.milestone-row-menu-item.danger{color:#b91c1c}.milestone-row-menu-item.danger:hover:not(:disabled){background:#dc262614}.milestone-row-menu-divider{height:1px;background:var(--border-light, rgba(15, 23, 42, .08));margin:4px 0}.milestone-subrow.cross-group-drop-target:before{content:"";position:absolute;top:0;left:8px;right:8px;height:2px;background:var(--accent, #2563EB);border-radius:1px;pointer-events:none;z-index:7}.gantt-subrow-unscheduled-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#fcb900;pointer-events:auto;z-index:6;box-shadow:0 0 0 2px #fcb9002e}.gantt-subrow-unscheduled-dot.selected{background:var(--accent);box-shadow:0 0 0 4px #2563eb2e}.subtask-due-diamond{position:absolute;width:14px;height:14px;transform:translate(-50%,-50%);z-index:7;pointer-events:auto;display:flex;align-items:center;justify-content:center;transition:width .12s ease,height .12s ease,transform .18s cubic-bezier(.34,1.56,.64,1),filter .18s ease}.subtask-due-diamond.free{width:20px;height:20px;cursor:grab}.subtask-due-diamond.dragging{cursor:grabbing;z-index:10}.subtask-due-diamond.overlapping{width:10px;height:10px}.subtask-due-diamond.hovered{z-index:9;transform:translate(-50%,-50%) scale(1.2)}.subtask-due-diamond .diamond-icon{width:100%;height:100%;fill:#fef3c7;stroke:#f59e0b;stroke-width:1.6;filter:drop-shadow(0 0 2px rgba(245,158,11,.25));transition:filter .18s ease,stroke-width .18s ease}.subtask-due-diamond.hovered .diamond-icon{filter:drop-shadow(0 0 5px rgba(245,158,11,.6));stroke-width:1.9}.subtask-due-diamond.completed .diamond-icon{fill:#dbf2dd;stroke:#49bf55;filter:drop-shadow(0 0 2px rgba(73,191,85,.25))}.subtask-due-diamond.completed.hovered .diamond-icon{filter:drop-shadow(0 0 5px rgba(73,191,85,.55))}.subtask-connector-line{position:absolute;z-index:5;pointer-events:none;overflow:visible}@keyframes subtask-connector-draw-in{0%{stroke-dashoffset:24;opacity:0}to{stroke-dashoffset:0;opacity:1}}.subtask-connector-line line{animation:subtask-connector-draw-in .32s ease-out both}@keyframes subtask-target-highlight-in{0%{opacity:0;transform:scale(.92);box-shadow:0 0 #f59e0b00,0 0 #f59e0b00}to{opacity:1;transform:scale(1);box-shadow:0 0 0 2px #f59e0ba6,0 0 14px 2px #f59e0b59}}.subtask-target-highlight{position:absolute;z-index:6;border-radius:3px;pointer-events:none;transform-origin:center;animation:subtask-target-highlight-in .32s cubic-bezier(.34,1.56,.64,1) both}.milestone-subrow-date{font-size:11px;font-weight:500;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;padding:0 8px 0 0;text-align:right}.milestone-subrow-date-unscheduled{color:var(--text-muted);font-style:italic}button.milestone-subrow-date{border:none;background:transparent;cursor:default;font-family:inherit}button.milestone-subrow-date.is-clickable{cursor:pointer;border-radius:4px;transition:color .12s ease,background .12s ease}button.milestone-subrow-date.is-clickable:hover{color:var(--accent);background:transparent}.project-anchor-date{appearance:none;border:none;background:transparent;font-family:inherit;font-size:11px;font-weight:500;color:var(--text-muted);white-space:nowrap;flex-shrink:0;padding:0 4px;border-radius:4px;cursor:pointer;transition:color .12s ease}.project-anchor-date:hover{color:var(--accent)}.lane-bar-inline-label.stacked{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.05}.milestone-subrow-delete{appearance:none;position:absolute;right:8px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;margin:0;background:var(--bg-primary, #FFFFFF);border:1px solid var(--border, rgba(15, 23, 42, .12));border-radius:var(--radius-sm, 4px);color:var(--text-secondary);cursor:pointer;opacity:0;z-index:2;transition:opacity .12s ease,background .12s ease,border-color .12s ease}.milestone-subrow:hover .milestone-subrow-delete{opacity:1}.milestone-subrow-delete:hover{background:var(--bg-hover, rgba(15, 23, 42, .06));color:var(--text-primary)}.milestone-subrow-status{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-size:12px;color:var(--text-secondary)}.project-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;position:absolute;right:0;top:4px;bottom:4px;padding:0;pointer-events:auto;z-index:2}.gantt-row-action-btn{appearance:none;background:var(--bg-primary, #FFFFFF);border:1px solid var(--border, rgba(15, 23, 42, .12));border-radius:var(--radius-sm);width:22px;height:22px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease,border-color .12s ease,color .12s ease;flex-shrink:0}.project-row:hover .gantt-row-action-btn,.project-row:focus-within .gantt-row-action-btn,.project-row-actions:hover .gantt-row-action-btn{opacity:1}.gantt-row-action-btn.pin-action.pinned{opacity:1}.gantt-row-action-btn:hover{background:var(--bg-secondary, #F8FAFC);border-color:#0f172a33;color:var(--text-primary)}.gantt-row-action-btn.pin-action.pinned{opacity:1;color:var(--blue-500)}.gantt-row-action-btn.pin-action.pinned:hover{background:var(--blue-50);color:var(--blue-600);border-color:var(--blue-300, var(--accent))}.project-kebab-wrapper{position:relative;display:inline-flex}.project-kebab-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:80;min-width:200px;background:var(--bg-primary, #fff);border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:6px;box-shadow:0 8px 24px #0f172a24;padding:4px;display:flex;flex-direction:column;gap:2px}.project-kebab-menu.open-upward{top:auto;bottom:calc(100% + 4px)}.project-row-actions:has(.project-kebab-menu){z-index:40}.project-kebab-item{appearance:none;text-align:left;display:inline-flex;align-items:center;gap:8px;padding:6px 8px;border:0;background:transparent;border-radius:4px;font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;white-space:nowrap}.project-kebab-item:hover:not(:disabled){background:var(--bg-hover, rgba(0, 0, 0, .05))}.project-kebab-item:disabled{color:var(--text-muted);cursor:not-allowed}.project-kebab-item.danger{color:#b91c1c}.project-kebab-item.danger:hover:not(:disabled){background:#dc262614}.scheduling-panel-row.subtask-row{z-index:4;flex-direction:column;align-items:stretch;padding-top:10px}.scheduling-panel-row.subtask-row:before{content:"";position:absolute;top:0;left:-12px;right:-12px;height:1px;background:var(--border)}.scheduling-panel-subtask-list{display:flex;flex-direction:column;gap:2px;margin-top:6px}.scheduling-panel-subtask-item{display:flex;align-items:center;gap:8px;padding:5px 4px;border-radius:var(--radius-sm);transition:background .12s}.scheduling-panel-subtask-item.related{cursor:default;padding:4px}.scheduling-panel-subtask-item.related:hover{background:#f59e0b14}.subtask-related-marker{width:10px;height:10px;flex-shrink:0;background:#fef3c7;border:1.5px solid #F59E0B;transform:rotate(45deg)}.subtask-related-marker.completed{background:#dbf2dd;border-color:#49bf55}.subtask-related-source{color:var(--text-muted);font-weight:400;font-size:var(--font-size-xs)}.subtask-related-due{margin-left:auto;font-size:var(--font-size-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.scheduling-panel-subtask-item:hover{background:#94a3b814}.subtask-checkbox{width:18px;height:18px;border-radius:50%;border:1.5px solid #CBD5E1;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;transition:all .15s}.subtask-checkbox:hover{border-color:var(--blue-500)}.subtask-checkbox.checked{border-color:transparent;background:transparent;padding:0}.subtask-label{font-size:13px;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduling-panel-subtask-item.completed .subtask-label{text-decoration:line-through;color:var(--text-muted)}.subtask-due-date-control{width:132px;height:26px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-primary);display:flex;align-items:center;gap:6px;padding:0 10px;flex-shrink:0}.subtask-due-date-control:focus-within{border-color:var(--blue-500);background:var(--bg-primary)}.subtask-due-date-control svg{color:currentColor;flex-shrink:0}.subtask-due-date-input{width:100%;min-width:0;border:0;background:transparent;color:inherit;font-family:inherit;font-size:12px;font-weight:500;outline:none;padding:0}.subtask-delete-btn{width:20px;height:20px;border-radius:var(--radius-sm);border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);opacity:0;transition:all .12s;flex-shrink:0;padding:0}.scheduling-panel-subtask-item:hover .subtask-delete-btn{opacity:1}.subtask-delete-btn:hover{background:#ef44441a;color:#ef4444}.scheduling-panel-subtask-add{margin-top:4px;display:flex;align-items:center;gap:8px}.subtask-add-input{flex:1;min-width:0;height:32px;border:1px solid rgba(148,163,184,.3);border-radius:var(--radius-sm);padding:6px 8px;font-size:13px;color:var(--text-primary);background:#ffffff80;outline:none;transition:border-color .15s}.subtask-add-input:focus{border-color:var(--blue-500)}.subtask-add-input::placeholder{color:var(--text-muted)}.subtask-add-date-control{height:32px;background:#ffffffb8}.scheduling-panel-row.working-days-row{z-index:3;flex-direction:column;align-items:stretch;padding-top:10px}.scheduling-panel-row.working-days-row:before{content:"";position:absolute;top:0;left:-12px;right:-12px;height:1px;background:var(--border)}.scheduling-panel-working-days-header{display:flex;align-items:center;justify-content:space-between;height:24px}.scheduling-panel-working-days-label{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.scheduling-panel-working-days-count{font-size:11px;font-weight:500;color:var(--text-secondary);background:#2563eb1a;padding:1px 6px;border-radius:10px}.scheduling-panel-working-days-list{display:flex;flex-direction:column;gap:2px;max-height:184px;overflow-y:auto;padding-right:2px;margin-top:6px}.scheduling-panel-working-day{min-height:30px;display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s}.scheduling-panel-working-day:hover{background:#94a3b814}.scheduling-panel-working-day.checked{color:var(--text-primary)}.scheduling-panel-working-day.factory-off{background:#f59e0b0f}.scheduling-panel-working-day.factory-off:hover{background:#f59e0b1a}.scheduling-panel-working-day.overtime{background:#f59e0b1a;color:#92400e}.scheduling-panel-working-day.overtime:hover{background:#f59e0b24}.scheduling-panel-working-day input{width:16px;height:16px;margin:0;accent-color:var(--blue-500);flex-shrink:0;cursor:pointer}.scheduling-panel-working-day-date{flex:1;min-width:0;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduling-panel-working-day-tags{display:flex;align-items:center;gap:4px;flex-shrink:0}.scheduling-panel-working-day-tag{font-size:10px;font-weight:600;line-height:16px;color:var(--text-muted);background:#94a3b81f;border-radius:2px;padding:0 6px}.scheduling-panel-working-day-tag.off{color:#b45309;background:#f59e0b24}.scheduling-panel-working-day-tag.overtime{color:#92400e;background:#f59e0b2e}.scheduling-panel-row.lock-row{justify-content:space-between;padding:4px 0}.scheduling-panel-dropdown{flex:1;height:33px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid rgba(148,163,184,.2);box-shadow:0 12px 24px -24px #0f172a57,inset 0 1px #ffffff6b;border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s ease}.scheduling-panel-dropdown:hover{border-color:var(--text-muted)}.scheduling-panel-dropdown.focused{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb1a}.scheduling-panel-dropdown-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.scheduling-panel-diamond{flex-shrink:0;color:var(--accent)}.scheduling-panel-diamond-small{flex-shrink:0;color:var(--text-muted)}.scheduling-panel-dropdown-label{font-size:12px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.scheduling-panel-dropdown-label.placeholder{color:var(--text-muted);white-space:nowrap}.scheduling-panel-dropdown>svg{color:var(--text-muted);flex-shrink:0}.scheduling-panel-dropdown.milestone-title{height:40px;padding:0 10px;background:#fff;border:1px solid rgba(148,163,184,.22);box-shadow:0 12px 26px -24px #0f172a61,inset 0 1px #ffffff75;border-radius:var(--radius-md)}.scheduling-panel-dropdown.milestone-title .scheduling-panel-dropdown-label{font-size:15px;font-weight:600}.scheduling-panel-dropdown.milestone-title.locked{cursor:default;background:#f8fafce6;border-color:#94a3b852}.scheduling-panel-dropdown.milestone-title.locked:hover{background:#f8fafce6}.scheduling-panel-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-md);box-shadow:0 16px 30px #0f172a2e,0 6px 12px #0f172a1a;z-index:100;max-height:280px;overflow:hidden;display:flex;flex-direction:column}.scheduling-panel-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.scheduling-panel-search svg{color:var(--text-muted);flex-shrink:0}.scheduling-panel-search input{flex:1;border:none;background:none;font-size:13px;color:var(--text-primary);outline:none}.scheduling-panel-search input::placeholder{color:var(--text-muted)}.scheduling-panel-dropdown-list{overflow-y:auto;max-height:220px;padding:4px 0}.scheduling-panel-dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;transition:background .1s ease}.scheduling-panel-dropdown-item:hover,.scheduling-panel-dropdown-item.highlighted{background:var(--bg-secondary)}.scheduling-panel-dropdown-item.selected{background:#2563eb14}.scheduling-panel-dropdown-item.selected>svg{color:var(--accent)}.scheduling-panel-dropdown-item.scheduled{opacity:.6}.scheduling-panel-dropdown-item.already-scheduled{color:var(--text-secondary)}.scheduling-panel-dropdown-item.already-scheduled .scheduling-panel-dropdown-item-left{flex:1}.scheduling-panel-scheduled-tag{margin-left:6px;padding:1px 6px;font-size:10px;font-weight:500;color:var(--text-muted);background:var(--bg-secondary);border-radius:2px;letter-spacing:.2px;text-transform:uppercase}.milestone-scheduled-badge{font-size:10px;color:var(--text-muted);background:var(--bg-secondary);padding:1px 6px;border-radius:var(--radius-sm);margin-left:auto}.scheduling-panel-dropdown-item-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.scheduling-panel-dropdown-item.create-item{color:var(--accent);gap:6px;justify-content:flex-start}.scheduling-panel-dropdown-item.create-item svg{color:var(--accent)}.scheduling-panel-dropdown-empty{padding:20px;text-align:center;font-size:13px;color:var(--text-muted)}.scheduling-panel-dropdown-divider{height:1px;background:var(--border-light);margin:4px 8px}.scheduling-panel-dropdown-item.saved-custom{color:var(--text-secondary)}.scheduling-panel-dropdown-item.saved-custom:hover{color:var(--accent)}.scheduling-panel-dropdown-item.crew-item{flex-wrap:nowrap}.scheduling-panel-dropdown-item.crew-item .crew-item-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.scheduling-panel-dropdown-item.crew-item input[type=checkbox]{width:16px;height:16px;margin:0;flex-shrink:0;accent-color:var(--accent)}.scheduling-panel-dropdown-item.crew-item .crew-item-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.scheduling-panel-dropdown-item.crew-item .crew-status{font-size:11px;flex-shrink:0}.scheduling-panel-dropdown-item.crew-item .crew-status.available{color:var(--success)}.scheduling-panel-dropdown-item.crew-item .crew-status.busy{color:var(--error)}.scheduling-panel-dropdown-item.crew-item.busy{opacity:1}.scheduling-panel-dropdown-item.crew-item .crew-more-btn{display:flex;visibility:hidden;width:24px;height:24px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);align-items:center;justify-content:center;flex-shrink:0}.scheduling-panel-dropdown-item.crew-item:hover .crew-more-btn{visibility:visible}.scheduling-panel-dropdown-item.crew-item .crew-more-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.crew-menu-popover{position:fixed;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:8px;z-index:10002;width:180px;display:flex;flex-direction:column;gap:8px}.crew-menu-input{height:33px;padding:0 10px;font-size:12px;font-family:Inter,sans-serif;font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--accent);border-radius:var(--radius-sm);outline:none;box-shadow:0 0 0 2px #2563eb26}.crew-menu-input.error{border-color:var(--error);box-shadow:0 0 0 2px #ef444426}.crew-menu-error{font-size:11px;color:var(--error);padding:0 2px}.crew-menu-delete{display:flex;align-items:center;gap:8px;height:33px;padding:0 10px;font-size:12px;font-weight:500;color:var(--error);background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease}.crew-menu-delete:hover{background:#ef44441a}.warning-dialog-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.warning-dialog{background:var(--bg-primary);border-radius:var(--radius-lg);padding:32px 40px;max-width:420px;text-align:center;box-shadow:0 20px 60px #0000004d}.warning-dialog-icon{width:56px;height:56px;border-radius:50%;background:#fef3c7;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#f59e0b}.warning-dialog-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.warning-dialog-message{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0 0 24px}.warning-dialog-message strong{color:var(--text-primary);font-weight:600}.warning-dialog-options{display:flex;flex-direction:column;gap:12px;margin:0 0 20px;padding:12px;background:#0f172a08;border-radius:6px;border:1px solid rgba(15,23,42,.06)}.warning-dialog-option{display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.45}.warning-dialog-option strong{color:var(--text-primary);font-weight:600}.warning-dialog-option span{color:var(--text-secondary)}.warning-dialog-buttons{display:flex;flex-direction:column;gap:8px}.warning-dialog-btn{height:44px;font-size:13px;font-weight:600;letter-spacing:.5px;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.warning-dialog-btn.primary{background:var(--accent);color:#fff;border:none}.warning-dialog-btn.primary:hover{background:var(--accent-hover)}.warning-dialog-btn.secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border)}.warning-dialog-btn.secondary:hover{background:var(--bg-secondary)}.overtime-dialog-customize-link{height:36px;font-size:13px;font-weight:500;border:none;background:transparent;color:var(--accent);cursor:pointer;padding:0;text-align:center;transition:opacity .15s ease}.overtime-dialog-customize-link:hover{opacity:.7}.overtime-dialog-bulk-btn.active{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-secondary)}.overtime-dialog-day-list{list-style:none;margin:0 0 24px;padding:0;max-height:240px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.overtime-dialog-day-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border)}.overtime-dialog-day-row:last-child{border-bottom:none}.overtime-dialog-day-label{font-size:13px;color:var(--text-primary);font-weight:500}.overtime-dialog-day-toggle{display:inline-flex;background:var(--bg-secondary);border-radius:var(--radius-md);padding:2px;gap:2px}.overtime-dialog-toggle-btn{padding:4px 12px;font-size:12px;font-weight:500;border:none;border-radius:calc(var(--radius-md) - 2px);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.overtime-dialog-toggle-btn.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 2px #00000014}.scheduling-panel-date-box.focused{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb1a}input.scheduling-panel-date-box{min-width:0;width:0;text-align:center;outline:none;font-family:inherit;box-sizing:border-box}input.scheduling-panel-date-box::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}input.scheduling-panel-date-box::placeholder{color:var(--text-muted)}.scheduling-panel-calendar-hint{margin:8px 0 0;padding:0 4px;font-size:11px;font-weight:400;color:var(--text-muted);text-align:center;line-height:1.4}.scheduling-panel-date-box.placeholder{color:var(--text-muted)}.scheduling-panel-add-end svg{color:var(--accent)}.scheduling-panel-calendar{background:#ffffff59;border:1px solid rgba(148,163,184,.2);box-shadow:inset 0 1px #ffffff6b;-webkit-backdrop-filter:blur(11px) saturate(150%);backdrop-filter:blur(11px) saturate(150%);border-radius:var(--radius-md);padding:10px}.scheduling-panel-calendar-reset{display:block;margin:8px auto 0;padding:4px 10px;font-size:11px;font-weight:500;color:var(--text-secondary);background:transparent;border:1px solid rgba(148,163,184,.4);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.scheduling-panel-calendar-reset:hover{background:#94a3b81f;color:var(--text-primary);border-color:#94a3b8a6}.scheduling-panel-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.scheduling-panel-calendar-header button{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.scheduling-panel-calendar-header button:hover{background:var(--bg-primary);color:var(--text-primary)}.scheduling-panel-calendar-header span{font-size:12px;font-weight:600;color:var(--text-primary)}.scheduling-panel-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}.scheduling-panel-calendar-weekdays span{text-align:center;font-size:10px;color:var(--text-muted);padding:2px 0}.scheduling-panel-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);column-gap:0;row-gap:1px}.scheduling-panel-calendar-day{aspect-ratio:1.15;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-primary);background:none;border:none;border-radius:0;cursor:pointer;transition:all .1s ease}.scheduling-panel-calendar-day:hover:not(:disabled):not(.empty):not(.hover-end):not(.hover-start):not(.selected){background:var(--bg-primary)}.scheduling-panel-calendar-day.empty{cursor:default}.scheduling-panel-calendar-day.weekend{color:var(--text-muted)}.scheduling-panel-calendar-day.selected{background:var(--accent);color:#fff}.scheduling-panel-calendar-day.selected.start{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.scheduling-panel-calendar-day.selected.end{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.scheduling-panel-calendar-day.selected.start.end{border-radius:var(--radius-sm)}.scheduling-panel-calendar-day.in-range{background:#2563eb26;border-radius:0}.scheduling-panel-calendar-day.hover-range{background:#2563eb14;border-radius:0}.scheduling-panel-calendar-day.hover-end{background:var(--accent);color:#fff;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.scheduling-panel-calendar-day.hover-start{background:var(--accent);color:#fff;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.scheduling-panel-calendar-day.selected.hover-end,.scheduling-panel-calendar-day.selected.hover-start{border-radius:var(--radius-sm)}.scheduling-panel-calendar-day.start-date{background:#2563eb4d;color:var(--accent)}.scheduling-panel-calendar-day.in-range.off-day,.scheduling-panel-calendar-day.off-day{background-image:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(148,163,184,.22) 3px,rgba(148,163,184,.22) 6px);background-color:transparent;color:var(--text-muted)}.scheduling-panel-calendar-day.in-range.overtime-day,.scheduling-panel-calendar-day.overtime-day{background-color:#fde6be;background-image:none;color:#92400e}.scheduling-panel-calendar-day.selected.overtime-day{background-color:#f59e0b;background-image:none;color:#fff}.scheduling-panel-calendar-day.in-range,.scheduling-panel-calendar-day.selected{border-top:1px solid var(--accent);border-bottom:1px solid var(--accent)}.scheduling-panel-calendar-day.selected.start{border-left:1px solid var(--accent)}.scheduling-panel-calendar-day.selected.end{border-right:1px solid var(--accent)}.scheduling-panel-calendar-day.selected.overtime-day{border-color:#d97706}.scheduling-panel-calendar-day.manager-flipped,.scheduling-panel-row.date-row{position:relative}.scheduling-panel-datepicker-popup.above{top:auto;bottom:calc(100% + 4px)}.scheduling-panel-lock-left{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--text-primary)}.scheduling-panel-lock-left svg{color:var(--text-muted)}.scheduling-panel-switch{position:relative;display:inline-block;width:40px;height:22px}.scheduling-panel-switch input{opacity:0;width:0;height:0}.scheduling-panel-switch-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border);transition:.2s;border-radius:22px}.scheduling-panel-switch-slider:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.2s;border-radius:50%;box-shadow:0 1px 3px #0003}.scheduling-panel-switch input:checked+.scheduling-panel-switch-slider{background-color:var(--accent)}.scheduling-panel-switch input:checked+.scheduling-panel-switch-slider:before{transform:translate(18px)}.scheduling-panel-schedule-btn{height:40px;width:100%;font-size:13px;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.scheduling-panel-schedule-btn:hover:not(:disabled){background:var(--accent-hover)}.scheduling-panel-schedule-btn:disabled{opacity:.5;cursor:not-allowed}.scheduling-panel-unschedule-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;width:100%;font-size:12px;font-weight:600;color:var(--error, #dc2626);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease}.scheduling-panel-unschedule-btn:hover{background:#ef444414;border-color:var(--error, #dc2626)}.scheduling-panel-mode-badge{margin-left:6px;padding:2px 6px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:#2563eb1a;border-radius:4px}.scheduling-panel-footer{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:12px;border-top:1px solid rgba(148,163,184,.18);background:#ffffff57;-webkit-backdrop-filter:blur(12px) saturate(145%);backdrop-filter:blur(12px) saturate(145%)}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.scheduling-sidebar{background:var(--bg-primary)}.scheduling-sidebar:before{display:none}.scheduling-panel-dropdown-menu,.scheduling-panel-footer{background:var(--bg-primary)}}.timeline-cell{cursor:pointer;transition:background .1s ease}.timeline-cell:hover{background-color:#2563eb14!important}.timeline-row .timeline-cell{position:relative}.timeline-row .timeline-cell:after{content:"+";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;font-weight:600;color:var(--accent);opacity:0;transition:opacity .15s ease;pointer-events:none}.timeline-row .timeline-cell:hover:after{opacity:.5}.timeline-cell.normally-off:hover{background-color:#2563eb14!important}.timeline-row>.timeline-cell{cursor:default}.timeline-row>.timeline-cell:hover,.timeline-row>.timeline-cell.normally-off:hover{background-color:transparent!important}.timeline-row>.timeline-cell:hover:after{opacity:0!important}.timeline-row.cell-focused{background:#2563eb0a}.timeline-row.milestone-editor-selected{background:#2563eb09}.timeline-row.milestone-editor-selected:not(.timeline-row-hidden-main){box-shadow:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.panel-unschedule-btn svg{flex-shrink:0}.status-badge.green{color:var(--success);background:#0596691a}.status-badge.blue{color:var(--accent);background:var(--accent-light)}.status-badge.yellow{color:var(--warning);background:var(--warning-light)}.status-badge.gray{color:var(--text-muted);background:var(--bg-secondary)}.crew-option input[type=checkbox]{accent-color:var(--accent)}.crew-picker-search .search-icon{color:var(--text-muted);flex-shrink:0}.crew-picker-option:hover,.crew-picker-option.highlighted{background:var(--bg-hover)}.crew-picker-option.selected{background:var(--accent-light)}.crew-picker-option.selected .option-checkbox{background:var(--accent);border-color:var(--accent);color:#fff}.crew-picker-option .option-checkbox.create{border-color:var(--accent);color:var(--accent)}.crew-picker-separator span{font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.crew-picker.disabled{opacity:.6;cursor:not-allowed}.crew-picker.disabled .crew-picker-display{cursor:not-allowed;pointer-events:none}.crew-picker.disabled .crew-picker-display:hover{border-color:transparent}.crew-picker.disabled .crew-picker-placeholder{font-style:italic}.status-picker-option.selected{background:var(--accent-light)}.project-row .status-picker{flex-shrink:0}.project-row .status-picker-trigger{padding:var(--space-1)}.project-row .status-picker-dropdown{left:0;top:calc(100% + 2px)}.milestone-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-sm);transition:background .15s ease}.milestone-row:hover{background:var(--bg-hover)}.milestone-info{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0}.panel-milestone-diamond .diamond-icon path{fill:#fff;stroke:var(--text-muted);stroke-width:1.5}.panel-milestone-diamond.blue .diamond-icon path{fill:#fff;stroke:var(--accent)}.panel-milestone-diamond.cyan .diamond-icon path{fill:#fff;stroke:#06b6d4}.panel-milestone-diamond.purple .diamond-icon path{fill:#fff;stroke:#8b5cf6}.panel-milestone-diamond.green .diamond-icon path{fill:#fff;stroke:var(--success)}.panel-milestone-diamond.red .diamond-icon path{fill:#fff;stroke:var(--warning)}.panel-milestone-diamond.filled .diamond-icon path{stroke-width:1.5}.panel-milestone-diamond.filled.green .diamond-icon path{fill:var(--success);stroke:var(--success)}.panel-milestone-diamond.filled.red .diamond-icon path{fill:var(--warning);stroke:var(--warning)}.panel-milestone-diamond.filled.blue .diamond-icon path{fill:var(--accent);stroke:var(--accent)}.panel-milestone-diamond.filled.purple .diamond-icon path{fill:#8b5cf6;stroke:#8b5cf6}.panel-milestone-diamond.filled.cyan .diamond-icon path{fill:#06b6d4;stroke:#06b6d4}.milestone-name{font-size:var(--font-size-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.milestone-date{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.milestone-date:hover{background:var(--bg-primary);border-color:var(--border)}.milestone-date .date-value{display:flex;align-items:center;gap:var(--space-1);color:var(--text-primary)}.milestone-date .empty-date{color:var(--text-muted);font-style:italic}.milestone-date.warning .date-value{color:var(--warning)}.milestone-date .warning-icon{color:var(--warning);flex-shrink:0}.milestone-row.has-warning{background:#f59e0b14}.milestone-date-editor{display:flex;align-items:center;gap:var(--space-2)}.milestone-date-editor input[type=date]{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--accent);border-radius:var(--radius-sm);outline:none}.milestone-date-editor .done-btn{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:500;color:var(--accent);background:transparent;border:none;cursor:pointer}.milestone-actions{display:flex;align-items:center;gap:var(--space-1)}.milestone-row:hover .lock-btn{opacity:1}.lock-btn.locked{opacity:1;color:var(--accent)}.lock-btn.locked:hover{color:var(--accent-hover)}.tentative-btn.tentative{color:var(--accent);border-color:var(--accent);border-style:solid;background:var(--accent-light)}.tentative-btn.tentative:hover{background:#2563eb26}.milestones-header>span:first-child{flex:1}.sort-toggle-btn:hover,.sort-toggle-btn.active{color:var(--text-primary);background:var(--bg-hover)}.sort-option.active{color:var(--accent)}.sort-option span{flex:1}.copy-schedule-btn:hover,.copy-schedule-btn.active{color:var(--text-primary);background:var(--bg-hover)}.copy-search-wrapper input{flex:1;border:none;background:transparent;font-size:var(--font-size-sm);color:var(--text-primary);outline:none}.copy-search-wrapper input::placeholder{color:var(--text-muted)}.template-item{display:flex;align-items:center}.template-item .dropdown-item{flex:1}.template-delete-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;opacity:0;transition:all .15s ease}.template-item:hover .template-delete-btn{opacity:1}.template-delete-btn:hover{color:var(--error);background:var(--error-light)}.save-template-input-wrapper input{flex:1;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);outline:none}.save-template-input-wrapper input:focus{border-color:var(--accent)}.milestone-menu-container{position:relative}.milestone-menu-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;opacity:.4;transition:all .15s ease}.milestone-row:hover .milestone-menu-btn{opacity:1}.milestone-menu-btn:hover{background:var(--bg-primary);color:var(--text-secondary)}.milestone-menu-btn.active{opacity:1;background:var(--bg-primary);color:var(--text-primary)}.milestone-menu{position:absolute;top:100%;right:0;z-index:100;min-width:140px;padding:var(--space-1);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a}.milestone-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--text-primary);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .15s ease}.milestone-menu-item:hover{background:var(--bg-hover)}.milestone-menu-item.delete{color:var(--error)}.milestone-menu-item.delete:hover{background:var(--error-light)}.milestone-name-input,.milestone-rename-input{flex:1;min-width:0;padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--accent);border-radius:var(--radius-sm);outline:none}.milestone-name-input::placeholder{color:var(--text-muted)}.milestone-rename-input{max-width:150px}.milestone-add-row{background:var(--bg-hover)}.milestone-drag-handle{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-muted);cursor:grab;opacity:0;transition:opacity .15s ease;flex-shrink:0}.milestone-row:hover .milestone-drag-handle{opacity:.6}.milestone-drag-handle:hover{opacity:1!important;color:var(--text-secondary)}.milestone-drag-handle:active{cursor:grabbing}.milestone-row.dragging{background:var(--accent-light);box-shadow:0 0 0 1px var(--accent);z-index:10;opacity:.8}.milestone-row[draggable=true]{cursor:default}.milestone-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.milestone-action-btn.cancel{color:var(--text-muted)}.milestone-action-btn.cancel:hover{color:var(--text-primary);background:var(--bg-primary)}.milestone-action-btn.confirm{color:var(--text-muted)}.milestone-action-btn.confirm:hover:not(:disabled){color:var(--success);background:#0596691a}.milestone-action-btn.confirm:disabled{opacity:.4;cursor:default}.archive-btn.unarchive:hover{color:var(--success)}.project-row.selected{background:var(--accent-light)}.timeline-row.selected{background:#2563eb0a}.timeline-row.flash{animation:timeline-row-flash 1.8s ease-out}@keyframes timeline-row-flash{0%{background:#3b82f652}20%{background:#3b82f647}to{background:#3b82f600}}.timeline-crew-picker-overlay{position:fixed;inset:0;z-index:1000}.timeline-crew-picker{position:fixed;width:296px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 4px 20px #00000026;z-index:1001}.timeline-crew-picker .scheduling-panel-dropdown-menu{position:static;border:none;border-radius:0;box-shadow:none;background:none;z-index:auto;max-height:none}.notification-bell{position:relative}.notification-bell.has-unread{color:inherit}.notification-bell-btn{position:relative}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;background:var(--error);border-radius:9px;font-size:10px;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:center;line-height:1}.notification-list{overflow-y:auto;flex:1}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8);color:var(--text-muted)}.notification-empty span{font-size:var(--font-size-sm)}.notification-list>div+div:not(.notification-section-header){border-top:1px solid var(--border)}.notification-section-header+div{border-top:none!important}.notification-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);transition:background .15s ease}.notification-item:hover{background:var(--bg-hover)}.notification-item-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--accent-light);border-radius:var(--radius-md);color:var(--accent);flex-shrink:0;margin-top:2px}.notification-item-content{flex:1;min-width:0}.notification-item-project{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item-change{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:2px;line-height:1.4}.notification-item-time{font-size:10px;color:var(--text-muted);margin-top:var(--space-1)}.notification-item-dismiss{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0}.notification-item:hover .notification-item-dismiss{opacity:1}.notification-item-dismiss:hover{background:var(--bg-normally-off);color:var(--text-primary)}.expand-toggle{position:relative;width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);flex-shrink:0;padding:0;margin-right:var(--space-1);transition:all .15s ease}.expand-toggle:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-muted);color:var(--text-primary)}.expand-toggle.template-select-toggle{background:var(--accent-light);border-color:#bfdbfe;color:var(--accent)}.expand-toggle.template-select-toggle:hover:not(:disabled){background:#dbeafe;border-color:#93c5fd;color:var(--accent-hover)}.expand-toggle.disabled,.expand-toggle:disabled{opacity:.35;cursor:default;pointer-events:none}.project-row-container{display:flex;flex-direction:column}.project-virtual-spacer,.timeline-virtual-spacer{flex:0 0 auto;pointer-events:none}.project-row.pin-animating{opacity:.6;transition:opacity .2s ease}.project-row.expanded{border-bottom-color:transparent}.project-row.project-row-hidden-main,.timeline-row.timeline-row-hidden-main{height:4px!important;min-height:4px;box-sizing:border-box;padding:0;border-top:3px solid #111827;border-bottom:0;background:var(--bg-primary);cursor:default;overflow:hidden}.project-row.project-row-hidden-main{padding:0;gap:0}.project-row.project-row-hidden-main:hover,.timeline-row.timeline-row-hidden-main:hover{background:var(--bg-primary)}.project-row.project-row-hidden-main>*,.timeline-row.timeline-row-hidden-main>*{display:none!important}.milestone-subrows{display:flex;flex-direction:column;background:var(--bg-secondary)}.milestone-subrow{height:30px;display:flex;align-items:center;padding-left:47px;padding-right:16px;border-bottom:1px solid #F0F1F4;background:var(--bg-secondary);position:relative}.app.gantt-mode .milestone-subrow{height:30px}.milestone-subrow.milestone-group-start,.gantt-subrow.milestone-group-start{border-top:2px solid var(--milestone-group-accent, #111827)}.milestone-subrow.milestone-group-start:before,.gantt-subrow.milestone-group-start:before{content:attr(data-group-label);position:absolute;top:1px;left:8px;z-index:4;color:var(--milestone-group-accent, #111827);font-size:9px;font-weight:700;line-height:1;text-transform:uppercase;letter-spacing:.04em;pointer-events:none}.milestone-subrow.milestone-group-start:after,.gantt-subrow.milestone-group-start:after{content:"";position:absolute;inset:0;z-index:1;border-left:4px solid var(--milestone-group-accent, #111827);background:linear-gradient(90deg,var(--milestone-group-tint, transparent),transparent 48%);pointer-events:none}.milestone-subrow.has-project-toggle{padding-left:64px}.milestone-subrow.has-project-toggle.milestone-group-start:before{left:64px}.milestone-subrow-collapse-toggle{position:absolute;left:8px;top:50%;transform:translateY(-50%);margin-right:0;z-index:5}.milestone-subrow.has-project-toggle .milestone-subrow-handle{left:45px}.milestone-subrow-handle{position:absolute;left:20px;top:50%;transform:translateY(-50%);width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab;opacity:0;transition:opacity .12s ease,color .12s ease}.milestone-subrow:hover .milestone-subrow-handle{opacity:1}.milestone-subrow-handle:hover{color:var(--text-primary)}.milestone-subrow-handle:active{cursor:grabbing}.milestone-subrow{cursor:default}.milestone-subrow-set-production{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;background:transparent;border:1px dashed rgba(15,23,42,.32);border-radius:2px;color:var(--text-tertiary);font-size:10.5px;font-weight:500;letter-spacing:.2px;cursor:pointer;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .12s ease,border-color .12s ease,color .12s ease,background-color .12s ease}.milestone-subrow:hover .milestone-subrow-set-production{opacity:1;pointer-events:auto}.milestone-subrow-set-production:hover{border-color:var(--accent);color:var(--accent);background:#2563eb0f}.milestone-subrow-production-editor{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 4px;background:var(--bg-primary);border:1px solid var(--accent);border-radius:4px;flex-shrink:0}.milestone-subrow-production-editor input{height:18px;border:none;outline:none;background:transparent;font-size:11px;color:var(--text-primary);padding:0 2px;-moz-appearance:textfield}.milestone-subrow-production-editor input::-webkit-outer-spin-button,.milestone-subrow-production-editor input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.milestone-subrow-production-editor-qty{width:40px;text-align:right}.milestone-subrow-production-editor-code{width:32px;text-align:center;font-weight:600}.milestone-subrow-label.clickable{cursor:pointer;border-radius:4px;padding:1px 4px;margin:-1px -4px;transition:background-color .12s ease,color .12s ease}.milestone-subrow-label.clickable:hover{background:#2563eb14;color:var(--accent)}.milestone-subrow.selected{background:#2563eb14;box-shadow:inset 3px 0 0 var(--accent)}.milestone-subrow.selected:hover{background:#2563eb1a}.milestone-subrow.milestone-subrow-creating{background:var(--bg-primary);box-shadow:inset 0 0 0 1.5px var(--blue-500);border-radius:var(--radius-sm)}.milestone-subrow-name-input{flex:1;min-width:0;border:none;outline:none;background:transparent;padding:0;font:inherit;color:var(--text-primary)}.milestone-subrow-name-input::placeholder{color:var(--text-muted)}.milestone-subrow-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-3);white-space:nowrap;overflow:hidden;min-width:0;flex:0 1 auto}.milestone-subrow-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.milestone-subrow-duration{flex-shrink:0;margin-left:var(--space-2);padding:1px 6px;font-size:10px;font-weight:600;color:var(--text-muted);background:var(--bg-primary);border:1px solid var(--border);border-radius:2px;letter-spacing:.3px;line-height:16px}.milestone-subrow-crews{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}.milestone-subrow-crew{font-size:var(--font-size-xs);font-weight:600;color:var(--accent);background:#fff;border:1px solid var(--gray-200, #E5E7EB);padding:2px 6px;border-radius:2px;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background .1s ease,border-color .1s ease;display:inline-flex;align-items:center;gap:4px}.milestone-subrow-crew-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #fff9}.milestone-subrow-crew:hover{background:var(--gray-100, #F3F4F6);border-color:var(--gray-300, #D1D5DB)}.milestone-subrow-crews-overflow{font-size:10px;font-weight:600;color:var(--text-muted);background:var(--border);padding:2px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.milestone-subrow-production{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:1px 6px;border-radius:2px;background:#2563eb1a;color:var(--accent);font-size:10.5px;font-weight:600;line-height:14px;letter-spacing:.2px;white-space:nowrap;flex-shrink:0}.milestone-subrow-production.complete{background:#16a34a24;color:var(--green-600, #16A34A)}.milestone-subrow-production-count{font-variant-numeric:tabular-nums}.milestone-subrow-production-total.editable{cursor:text;border-radius:3px;padding:0 2px;transition:background .1s ease,box-shadow .1s ease}.milestone-subrow-production-total.editable:hover{background:var(--bg-primary, #fff);box-shadow:inset 0 -1px 0 currentColor}.milestone-subrow-production-total-input{appearance:none;width:3.2em;min-width:28px;padding:0 4px;margin:0;border:1px solid currentColor;border-radius:3px;background:var(--bg-primary, #fff);color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:center}.milestone-subrow-production-total-input::-webkit-inner-spin-button,.milestone-subrow-production-total-input::-webkit-outer-spin-button{appearance:none;margin:0}.milestone-subrow-production-type{font-weight:500;opacity:.85}.milestone-subrow-chunks{display:inline-flex;align-items:center;gap:3px;margin-left:6px;flex-shrink:1;min-width:0;overflow:hidden}.milestone-subrow-chunk{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;letter-spacing:.2px;color:var(--accent);background:#fff;border:1px solid rgba(37,99,235,.35);border-radius:3px;padding:1px 5px;white-space:nowrap;font-variant-numeric:tabular-nums}.milestone-subrow-chunk.completed{background:#16a34a1a;border-color:#16a34a73;color:var(--green-600, #16A34A)}.timeline-row-container{display:flex;flex-direction:column;position:relative}.timeline-row.expanded{border-bottom-color:transparent}.lane-bar.focus-pulse{animation:lane-bar-focus-pulse 2.4s cubic-bezier(0,0,.2,1) 1;z-index:6}@keyframes lane-bar-focus-pulse{0%{box-shadow:0 0 #3b82f68c}40%{box-shadow:0 0 0 8px #3b82f633}to{box-shadow:0 0 0 14px #3b82f600}}.timeline-row.project-row-focus-pulse{animation:project-row-focus-pulse 2.4s cubic-bezier(0,0,.2,1) 1}@keyframes project-row-focus-pulse{0%{background-color:#3b82f62e}40%{background-color:#3b82f61a}to{background-color:#3b82f600}}.duration-select.compact{width:auto;min-width:0;padding:2px 6px 2px 4px;font-size:10px;text-align:right;background:var(--bg-tertiary);border:1px solid var(--border-light)}.reset-duration-btn.inline{width:16px;height:16px;font-size:12px;margin-left:2px;flex-shrink:0}.milestone-date-range{display:flex;align-items:center;gap:0}.milestone-date-range .milestone-date{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:8px}.milestone-date-range .reset-duration-btn.inline{height:26px;width:20px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--bg-tertiary);border:1px solid var(--border-light);border-left:none;margin-left:0}.floating-date-picker .picker-header button{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:16px;font-weight:600}.floating-date-picker .picker-header button:hover{background:var(--bg-hover);color:var(--text-primary)}.floating-date-picker .picker-header span{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.floating-date-picker .picker-weekdays span{font-size:10px;font-weight:600;color:var(--text-muted);text-align:center;padding:4px 0}.floating-date-picker .picker-day:hover:not(.disabled):not(.empty){background:var(--accent-light);color:var(--accent)}.floating-date-picker .picker-day.off{color:var(--text-muted);background:repeating-linear-gradient(-45deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px)}.floating-date-picker .picker-day.disabled{color:var(--text-muted);opacity:.4;cursor:not-allowed}.floating-date-picker .picker-day.empty{cursor:default}.notification-wrapper,.notification-bell{position:relative}.notification-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:var(--error);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center;border-radius:2px;pointer-events:none}.notification-panel{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:440px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 12px 40px #0000001f,0 2px 8px #0000000f;z-index:200;display:flex;flex-direction:column;overflow:hidden}.notification-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.notification-panel-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.notification-panel-actions{display:flex;gap:12px}.notification-item.unread{background:var(--accent-light)}.notification-item.unread:hover{background:#e0edff}.notification-item.batch{-webkit-user-select:none;user-select:none}.notification-item.child{padding-left:60px;padding-top:6px;padding-bottom:6px;background:var(--bg-secondary)}.notification-item.child:hover{background:var(--bg-hover)}.notification-item.child+.notification-item.child{border-top:1px solid var(--border)}.notification-icon-badge{width:32px;min-height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center}.notification-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-message{font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.4;display:block}.notification-separator{color:var(--text-muted)}.notification-action{display:block}.notification-action:first-letter{text-transform:uppercase}.notification-meta{font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.3}.notification-user{color:var(--text-secondary);font-weight:500}.notification-expand{display:flex;align-items:center;flex-shrink:0;align-self:center}.notification-children .notification-message{color:var(--text-muted)}.notification-children .notification-date{color:var(--text-primary)}.notification-section-header{font-size:var(--font-size-xs);font-weight:600;color:var(--text-primary);padding:6px 16px}.notification-section-header.earlier{padding:12px 16px 0}.notification-empty{padding:40px 16px;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.notification-link-inline{color:var(--accent);cursor:pointer;font-weight:500}.notification-link-inline:hover{text-decoration:underline}.notification-digest-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a85}.notification-digest-modal{width:min(620px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 24px 70px #0f172a47}.notification-digest-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:20px 22px 16px;border-bottom:1px solid var(--border)}.notification-digest-header h2{margin:0;font-size:20px;font-weight:700;color:var(--text-primary)}.notification-digest-header p{margin:6px 0 0;font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.notification-digest-list{overflow-y:auto;padding:6px 0}.notification-digest-item{display:flex;gap:var(--space-3);padding:14px 22px;border-bottom:1px solid var(--border-light)}.notification-digest-item:last-child{border-bottom:none}.notification-digest-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.notification-digest-children{display:flex;flex-direction:column;gap:4px;margin-top:8px}.notification-digest-child{display:flex;justify-content:space-between;gap:var(--space-3);width:100%;padding:7px 9px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-size-xs);font-family:inherit;text-align:left;cursor:pointer}.notification-digest-child:hover{background:var(--bg-hover)}.notification-digest-child span:first-child{color:var(--text-primary);font-weight:500}.notification-digest-footer{display:flex;justify-content:flex-end;padding:14px 22px;border-top:1px solid var(--border);background:var(--bg-secondary)}.notification-digest-ack-btn{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:0 14px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:inherit;font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.notification-digest-ack-btn:hover{background:var(--accent-hover)}@keyframes row-highlight-flash{0%{background-color:#2563eb12}70%{background-color:#2563eb08}to{background-color:transparent}}.row-highlight-flash{animation:row-highlight-flash 3s ease-out forwards}.milestone-celebration-overlay{position:fixed;inset:0;z-index:2200;pointer-events:none;overflow:hidden}.milestone-confetti-layer{position:absolute;inset:-12vh 0 0}.milestone-confetti-piece{position:absolute;left:var(--confetti-left);top:0;width:var(--confetti-size);height:calc(var(--confetti-size) * .48);border-radius:2px;background:var(--confetti-color);opacity:0;will-change:transform,opacity;transform:translate3d(0,-10vh,0) rotate(var(--confetti-rotate));animation:milestone-confetti-fall var(--confetti-duration) cubic-bezier(.19,.77,.32,1) var(--confetti-delay) forwards}.milestone-celebration-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;filter:drop-shadow(0 10px 22px rgba(15,23,42,.24))}.milestone-celebration-star{font-size:clamp(78px,14vw,148px);line-height:1;color:#fbbf24;text-shadow:0 0 16px rgba(251,191,36,.45);animation:milestone-celebration-star-pop .85s cubic-bezier(.18,.82,.22,1.15) forwards}.milestone-celebration-text{margin-top:8px;font-size:clamp(24px,4.1vw,42px);line-height:1.05;font-weight:700;letter-spacing:.01em;color:#0f172a;text-transform:lowercase;animation:milestone-celebration-text-pop .95s ease-out .11s both}@keyframes milestone-confetti-fall{0%{opacity:0;transform:translate3d(0,-12vh,0) rotate(var(--confetti-rotate))}12%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift),114vh,0) rotate(calc(var(--confetti-rotate) + 820deg))}}@keyframes milestone-celebration-star-pop{0%{opacity:0;transform:translateY(16px) scale(.62) rotate(-12deg)}62%{opacity:1;transform:translateY(0) scale(1.13) rotate(3deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes milestone-celebration-text-pop{0%{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}.milestone-list-view{max-width:720px;margin:0 auto;padding:0 0 64px}.milestone-list-view.mlist-wide{max-width:none}.mlist-two-col{display:flex;gap:0;height:calc(100vh / var(--app-zoom, 1) - 120px);overflow:visible;position:relative}.mlist-two-col.in-detail{height:auto;min-height:0}.mlist-two-col.in-detail .mlist-col-left{overflow:visible;height:auto}.main:has(.mlist-two-col.in-detail){overflow:auto}.mlist-col-left{flex:1;min-width:0;overflow-x:auto;overflow-y:auto;scrollbar-width:none}.mlist-col-left:hover{scrollbar-width:thin}.mlist-col-left::-webkit-scrollbar{height:6px}.mlist-col-left::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}.mlist-col-left:hover::-webkit-scrollbar-thumb{background:#0003}.mlist-col-right{width:320px;flex-shrink:0;border-left:1px solid var(--border-light);position:relative;transition:width .2s ease;overflow:visible}.mlist-col-right.collapsed{width:44px;min-width:44px;overflow:visible}.mlist-sidebar-toggle{position:absolute;top:8px;left:-13px;z-index:10;width:26px;height:26px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px #0000001a;transition:color .15s}.mlist-sidebar-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.mlist-collapsed-stat strong{font-weight:700;color:var(--text-primary)}.mlist-thead,.mlist-row{display:flex;align-items:stretch;gap:8px}.mlist-thead{display:flex;align-items:stretch;padding:0 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.mlist-th{font-size:10px;font-weight:500;color:#374151;display:flex;align-items:center;gap:4px;position:relative;border-radius:2px;transition:background .1s;cursor:pointer;padding:8px}.mlist-th:first-child{padding-left:0}.mlist-th:hover:not(.dragging){background:#f3f4f6}.mlist-th.dragging{background:#dbeafe!important}.is-dragging .mlist-th:hover:not(.dragging){background:transparent}.dash-tbl-td.col-dragging{background:#eff6ff!important}.mlist-cell.col-dragging{background:#eff6ff}.mlist-col-resize{position:absolute;top:0;right:-2px;width:5px;height:100%;cursor:col-resize;z-index:4}.mlist-col-resize:hover,.mlist-col-resize:active{background:#2563eb;opacity:.4}.mlist-th-icons{display:flex;align-items:center;gap:2px;color:#9ca3af;opacity:0;pointer-events:none;flex-shrink:0;width:0;overflow:hidden;transition:width .1s ease,opacity .1s ease}.mlist-th:hover .mlist-th-icons,.mlist-th-icons.has-active{opacity:1;pointer-events:auto;width:auto;overflow:visible}.mlist-th-icons svg{cursor:pointer;border-radius:2px;padding:1px}.mlist-th-icons svg:hover{color:#374151;background:#e5e7eb}.mlist-icon-active{background:#eff6ff!important;border-radius:4px;color:#2563eb!important}.mlist-th-text{cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mlist-drag-handle{cursor:grab;touch-action:none}.mlist-drag-handle:active{cursor:grabbing}.mlist-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:#fff;border:1px solid var(--border-light);border-radius:8px;box-shadow:0 4px 16px #0000001a;min-width:180px;z-index:100;padding:4px 0}.mlist-menu-item{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.mlist-menu-item:hover{background:var(--bg-hover)}.mlist-menu-item svg{flex-shrink:0;color:var(--text-secondary);width:14px;height:14px}.mlist-menu-item.active{color:#2563eb}.mlist-menu-item.active svg{color:#2563eb}.mlist-menu-check{margin-left:auto}.mlist-menu-separator{border-top:1px solid var(--border-light);margin:4px 0}.mlist-filter-item.selected{font-weight:600}.mlist-filter-item svg{flex-shrink:0}.mlist-date-range-pill.active{border-color:var(--accent);background:var(--accent-light)}.mlist-date-day:not(.empty):hover{background:var(--bg-hover)}.mlist-date-day.in-range{background:var(--accent-light);border-radius:0}.mlist-date-day.selected{background:var(--accent);color:#fff;font-weight:600;border-radius:4px}.mlist-date-day.empty{cursor:default}.mlist-row{position:relative;padding:0 16px;cursor:pointer;transition:background .15s ease;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-light)}.mlist-row:last-child{border-bottom:none}.mlist-row:hover{background:var(--bg-hover)}.mlist-cell{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;padding:12px 8px;min-width:0}.mlist-cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.mlist-cell:first-child{padding-left:0}.mlist-cell-name{font-weight:700}.mlist-cell-status{overflow:visible}.mlist-cell-milestone{position:relative;overflow:visible}.mlist-cell-progress{display:flex;align-items:center;gap:8px;overflow:visible}.mlist-cell-empty{color:var(--text-muted)}.mlist-cell-hint{font-size:11px}.mlist-cell-dash{font-size:10px}.mlist-next-ms-label.done{color:var(--text-secondary)}.mlist-next-ms.overdue .mlist-next-ms-label,.mlist-next-ms.overdue .mlist-next-ms-date{color:#d42e15}.mlist-ms-dropdown-label.unscheduled{color:var(--text-muted)}.mlist-status-pill{display:inline-flex;align-items:center;font-size:11px;font-weight:600;height:22px;padding:0 8px;border-radius:4px;white-space:nowrap;box-sizing:border-box}.mlist-progress-fill.complete{background:#3a9944}.mlist-groupby-btn.active{background:#eff6ff;border-color:#bfdbfe;color:#2563eb}.mlist-group-chevron.collapsed{transform:rotate(-90deg)}.mlist-dash-section-subtitle strong{font-weight:700;color:var(--text-primary)}.mlist-stacked-bar>div{min-width:4px;border-radius:2px}.mlist-legend-item strong{font-weight:700}.mlist-detail-list .dash-tbl-thead{padding:0 4px;position:sticky;top:0;z-index:3}.mlist-ms-th:hover .mlist-th-icons{visibility:visible}.mlist-ms-th.dragging{opacity:.5;background:var(--accent-light)}.mlist-ms-cell.col-dragging{background:#eff6ff!important}.mlist-ms-th .mlist-col-resize{position:absolute;top:0;right:-2px;width:5px;height:100%;cursor:col-resize;z-index:4}.mlist-ms-th .mlist-col-resize:hover,.mlist-ms-th .mlist-col-resize:active{background:#2563eb;opacity:.4}.mlist-milestone-row.unscheduled{opacity:.55}.mlist-milestone-group-divider.muted{opacity:.72}.mlist-milestone-label.done,.mlist-milestone-label.unscheduled{color:#94a3b8}.mlist-milestone-badge{font-size:11px;font-weight:600;padding:1px 6px;border-radius:4px;flex-shrink:0}.mlist-milestone-badge.badge-early{color:#15803d;background:#dcfce7}.mlist-milestone-badge.badge-late{color:#d42e15;background:#fee2e2}.mlist-milestone-tag{font-size:11px;font-weight:600;padding:1px 8px;border-radius:4px;border:none;background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.mlist-milestone-tag:hover{background:var(--border);color:var(--text-secondary)}.mlist-milestone-tag.tag-ontime{background:var(--bg-secondary);color:var(--text-muted)}.mlist-milestone-tag.tag-early{border:none;background:#dcfce7;color:#15803d;font-weight:600}.mlist-milestone-tag.tag-late{border:none;background:#fee2e2;color:#d42e15;font-weight:600}.mlist-milestone-date.done{color:#cbd5e1}.mlist-milestone-date.overdue{color:#ef4444;font-weight:500}.mlist-milestone-date.unscheduled{color:#cbd5e1;font-style:italic}.mlist-status-btn-wrap[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);top:auto;left:50%;transform:translate(-50%);padding:4px 10px;border-radius:4px;background:#1e293b;color:#fff;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:100}.mlist-status-btn-wrap[data-tooltip]:hover:after{opacity:1}.mlist-ms-date-btn.overdue{color:var(--error)}.mlist-date-day.non-working{color:var(--text-muted)}.mlist-crew-chip.clickable{cursor:pointer;transition:background .15s,color .15s}.mlist-crew-chip.clickable:hover{background:#dbeafe;color:#1d4ed8}.mlist-crew-chip.conflict{border-color:var(--warning);background:var(--warning-light);color:var(--text-primary)}.mlist-crew-option:hover,.mlist-crew-option.highlighted{background:var(--bg-hover)}.mlist-crew-option.selected{background:var(--accent-light)}.mlist-crew-option.selected .mlist-crew-checkbox{border-color:var(--accent);background:var(--accent);color:#fff}.mlist-crew-checkbox.create{border-style:dashed;color:var(--text-muted)}.mlist-crew-conflict span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mlist-crew-separator span{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.mlist-timing-option.active,.analytics-kpi-breakdown strong{font-weight:600}.analytics-crew-thead span:nth-child(n+3){text-align:right}.analytics-phase-header span:not(:first-child){text-align:right}.analytics-phase-val strong{font-weight:600}.dash-builder{display:flex;flex-direction:column;height:100%;position:relative}.dash-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-primary);flex-shrink:0;gap:12px;position:relative;z-index:200}.dash-toolbar-right{position:relative;flex-shrink:0;display:flex;align-items:center;gap:8px;z-index:200}.dash-add-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s;white-space:nowrap;box-sizing:border-box}.dash-add-btn:hover{background:var(--bg-hover)}.dfb-bar{display:flex;align-items:center;gap:6px;padding:0 16px;height:40px;min-height:40px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap;position:relative;z-index:20}.dfb-bar::-webkit-scrollbar{display:none}.dfb-icon{color:var(--text-muted);flex-shrink:0;margin-right:2px}.dfb-dropdown{position:relative;flex-shrink:0}.dfb-trigger{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap;-webkit-user-select:none;user-select:none}.dfb-trigger:hover{background:var(--bg-hover);border-color:#d1d5db}.dfb-trigger--active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.dfb-trigger--active .dfb-trigger-caret{color:var(--accent)}.dfb-trigger-label{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:500}.dfb-trigger--active .dfb-trigger-label{color:var(--accent)}.dfb-trigger-value{font-weight:500;color:var(--text-primary);max-width:120px;overflow:hidden;text-overflow:ellipsis}.dfb-trigger--active .dfb-trigger-value{color:var(--accent)}.dfb-trigger-caret{color:var(--text-muted);flex-shrink:0}.dfb-panel{position:absolute;top:calc(100% + 4px);left:0;min-width:180px;max-height:260px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:2px;box-shadow:0 4px 16px #0000001a;z-index:200;padding:4px 0;scrollbar-width:thin}.dfb-panel::-webkit-scrollbar{width:4px}.dfb-panel::-webkit-scrollbar-thumb{background:#00000026;border-radius:2px}.dfb-option{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s;width:100%;text-align:left;border:none;background:none}.dfb-option:hover{background:var(--bg-hover)}.dfb-option--single{display:flex;padding-left:12px}.dfb-option--selected{color:var(--accent);font-weight:500;background:var(--accent-light)}.dfb-option--selected:hover{background:var(--accent-light)}.dfb-checkbox{accent-color:var(--accent);width:13px;height:13px;flex-shrink:0;cursor:pointer}.dfb-option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dfb-divider{height:1px;background:var(--border-light);margin:3px 0}.dfb-clear-btn{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;margin-left:4px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:color .12s,background .12s;white-space:nowrap;flex-shrink:0}.dfb-clear-btn:hover{color:var(--error);background:var(--error-light);border-color:var(--error)}.dfb-panel--time-range{min-width:160px}.dfb-custom-dates{padding:4px 10px 6px}.dfb-custom-dates-row{display:flex;align-items:center;gap:6px;margin-top:5px}.dfb-custom-dates-label{font-size:11px;color:var(--text-muted);font-weight:500;width:26px;flex-shrink:0}.dfb-date-input{flex:1;height:24px;padding:0 5px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;font-family:inherit;outline:none;min-width:0}.dfb-date-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.aw-overlay{position:fixed;inset:0;z-index:200;background:#00000040;display:flex;align-items:center;justify-content:center}.aw-modal{width:600px;max-height:80vh;display:flex;flex-direction:column;background:var(--bg-primary);border-radius:4px;box-shadow:0 16px 48px #0000002e;overflow:hidden}.aw-modal--browse{width:780px}.aw-modal-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.aw-modal-title{flex:1;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.aw-back-btn,.aw-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:2px;background:none;color:var(--text-secondary);cursor:pointer;transition:background .15s;flex-shrink:0}.aw-back-btn:hover,.aw-close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.aw-modal-body{flex:1;overflow-y:auto;padding:16px;scrollbar-width:thin}.aw-config-body{display:flex;flex-direction:column;gap:6px}.aw-config-label{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin-top:8px}.aw-config-label:first-child{margin-top:0}.aw-config-input{width:100%;height:34px;padding:0 10px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);box-sizing:border-box;outline:none;transition:border-color .15s}.aw-config-input:focus{border-color:var(--accent)}.aw-config-project-list{display:flex;flex-direction:column;gap:1px;max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:2px;padding:4px 6px;scrollbar-width:thin}.aw-config-project-item{display:flex;align-items:center;gap:8px;padding:5px 4px;border-radius:2px;cursor:pointer;font-size:var(--font-size-sm);color:var(--text-primary);-webkit-user-select:none;user-select:none}.aw-config-project-item:hover{background:var(--bg-hover)}.aw-config-project-all{font-weight:500}.aw-config-divider{height:1px;min-height:1px;background:var(--border);margin:4px -6px}.aw-checkbox{appearance:none;-webkit-appearance:none;width:16px;height:16px;min-width:16px;border:1.5px solid #A3B0C5;border-radius:2px;background:#fff;cursor:pointer;position:relative;transition:background .1s,border-color .1s;flex-shrink:0}.aw-checkbox:checked{background:#0053d4;border-color:#0053d4;background-image:url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 5L6.66667 11L4 8.00013' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:16px 16px;background-position:center;background-repeat:no-repeat}.aw-config-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:16px;margin-top:4px;border-top:1px solid var(--border)}.aw-cancel-btn{height:32px;padding:0 12px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s}.aw-cancel-btn:hover{background:var(--bg-hover)}.aw-confirm-btn{height:32px;padding:0 14px;border:none;border-radius:2px;background:var(--accent);color:#fff;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .15s}.aw-confirm-btn:hover:not(:disabled){background:var(--accent-hover)}.aw-confirm-btn:disabled{opacity:.45;cursor:not-allowed}.aw-custom-options{display:flex;flex-wrap:wrap;gap:6px}.aw-custom-option{height:28px;padding:0 10px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .1s,border-color .1s,color .1s;white-space:nowrap}.aw-custom-option:hover{background:var(--bg-hover)}.aw-custom-option.active{border-color:var(--accent);background:var(--accent-light);color:var(--accent)}.dash-color-list{display:flex;flex-direction:column;gap:4px}.dash-color-row{display:flex;align-items:center;gap:8px;padding:3px 0;-webkit-user-select:none;user-select:none}.dash-color-row-all{padding:4px 0}.dash-color-swatch{width:22px;height:22px;min-width:22px;border-radius:4px;border:1px solid rgba(0,0,0,.12);position:relative;overflow:hidden;cursor:pointer;flex-shrink:0}.dash-color-input{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);opacity:0;cursor:pointer;padding:0;border:none}.dash-color-label{font-size:var(--font-size-sm);color:var(--text-primary)}.aw-browse-layout{display:flex;flex:1;min-height:0;overflow:hidden}.aw-browse-sidebar{width:160px;min-width:160px;border-right:1px solid var(--border);padding:8px 6px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;scrollbar-width:thin}.aw-browse-cat{display:flex;align-items:center;width:100%;height:32px;padding:0 10px;border:none;border-radius:4px;background:none;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;text-align:left;transition:background .1s,color .1s;white-space:nowrap}.aw-browse-cat:hover{background:var(--bg-hover);color:var(--text-primary)}.aw-browse-cat.active{background:var(--accent-light);color:var(--accent)}.aw-browse-main{flex:1;overflow-y:auto;padding:12px;scrollbar-width:thin}.aw-browse-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.aw-browse-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);cursor:pointer;text-align:left;overflow:hidden;transition:border-color .15s,box-shadow .15s;padding:0}.aw-browse-card:hover{border-color:var(--accent);box-shadow:0 2px 8px #0053d41a}.aw-browse-card--custom{border-style:dashed}.aw-browse-card-preview{display:flex;align-items:center;justify-content:center;height:72px;color:var(--text-secondary)}.aw-browse-card:hover .aw-browse-card-preview{color:var(--accent)}.aw-browse-card-info{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px;border-top:1px solid var(--border-light)}.aw-browse-card-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);line-height:1.3}.aw-browse-card-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.aw-browse-card-kind{margin-top:5px;font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.aw-browse-card-kind--build{color:var(--accent)}.crew-wl-wrap{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;gap:4px}.crew-wl-nav{display:flex;align-items:center;gap:4px;flex-shrink:0}.crew-wl-nav-btn{display:flex;align-items:center;justify-content:center;height:24px;padding:0 6px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;flex-shrink:0}.crew-wl-nav-btn:hover{background:var(--bg-hover)}.crew-wl-range-label{flex:1;font-size:11px;font-weight:600;color:var(--text-primary);text-align:center}.crew-wl-grid{flex:1;display:grid;gap:1px;min-height:0;overflow:auto;scrollbar-width:thin;grid-auto-rows:minmax(32px,1fr)}.crew-wl-grid--list{grid-auto-rows:minmax(40px,1fr)}.crew-wl-hdr{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:2px 0}.crew-wl-hdr--today .crew-wl-hdr-dow,.crew-wl-hdr--today .crew-wl-hdr-date{color:var(--accent)}.crew-wl-hdr-dow{font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;line-height:1}.crew-wl-hdr-date{font-size:13px;font-weight:700;color:var(--text-primary);line-height:1}.crew-wl-name{font-size:11px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;padding:0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-right:1px solid var(--border)}.crew-wl-cell{display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:default}.crew-wl-cell--today{box-shadow:inset 0 0 0 1.5px #93c5fd}.crew-wl-num{font-size:13px;font-weight:700;line-height:1}.crew-wl-cell-list{display:flex;flex-direction:column;gap:1px;padding:2px 3px;border-radius:4px;background:#fafafa;overflow:hidden;cursor:default}.crew-wl-cell-list.crew-wl-cell--today{background:#eff6ff;box-shadow:inset 0 0 0 1.5px #93c5fd}.crew-wl-pill{display:flex;flex-direction:column;font-size:9px;line-height:1.3;padding:2px 4px;border-left:2.5px solid;border-radius:2px;background:#fff;box-shadow:0 0 0 1px #00000014,0 1px 3px #0000000f;overflow:hidden;min-width:0}.crew-wl-pill-label{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-wl-pill-project{font-weight:400;font-size:8px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crew-wl-more{font-size:8px;font-weight:600;color:var(--text-muted);padding:0 3px}.crew-wl-hdr--weekend .crew-wl-hdr-dow,.crew-wl-hdr--weekend .crew-wl-hdr-date{color:#c9cdd4}.crew-wl-cell--weekend{background:#f9fafb!important}.crew-wl-cell-list.crew-wl-cell--weekend{background:#f6f7f8!important}.crew-wl-grid--month{grid-auto-rows:minmax(56px,1fr)}.crew-wl-cell-month{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:4px;padding:4px;cursor:default}.crew-wl-month-count{font-size:18px;font-weight:800;line-height:1}.crew-wl-month-sub{font-size:9px;font-weight:500;color:var(--text-muted);line-height:1.2}.crew-wl-month-empty{font-size:14px;color:#d1d5db}.dash-content{flex:1;display:flex;min-height:0}.dash-canvas{flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:16px;overflow-y:auto;min-height:0;align-content:start;background:var(--bg-secondary);scrollbar-width:thin;scrollbar-color:transparent transparent}.dash-canvas:hover{scrollbar-color:rgba(0,0,0,.2) transparent}.dash-canvas::-webkit-scrollbar{width:6px}.dash-canvas::-webkit-scrollbar-thumb{background:transparent;border-radius:3px}.dash-canvas:hover::-webkit-scrollbar-thumb{background:#0003}.dash-widget-body{scrollbar-width:thin;scrollbar-color:transparent transparent}.dash-widget-body:hover{scrollbar-color:rgba(0,0,0,.15) transparent}.dash-widget-body::-webkit-scrollbar{width:4px}.dash-widget-body::-webkit-scrollbar-thumb{background:transparent;border-radius:2px}.dash-widget-body:hover::-webkit-scrollbar-thumb{background:#00000026}.dash-canvas-empty{display:flex;align-items:center;justify-content:center}.dash-drop-indicator{display:flex;align-items:center;justify-content:center;border:2px dashed var(--accent);border-radius:2px;background:var(--accent-light);opacity:.5;pointer-events:none}.dash-drop-indicator--blocked{border-color:var(--error);background:var(--error-light);opacity:.85}.dash-drop-indicator-note{padding:3px 8px;border-radius:2px;background:var(--error);color:#fff;font-size:10px;font-weight:600;letter-spacing:.02em;text-align:center}.dash-widget{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);overflow:hidden;position:relative;transition:box-shadow .15s}.dash-widget:hover{box-shadow:0 2px 12px #0000000f}.dash-widget-resizing{-webkit-user-select:none;user-select:none;box-shadow:0 4px 16px #0000001a}.dash-widget-header{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border-light);cursor:grab;flex-shrink:0}.dash-widget-header:active{cursor:grabbing}.dash-widget-drag{color:var(--text-muted);flex-shrink:0}.dash-widget-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-widget-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.dash-widget:hover .dash-widget-actions{opacity:1}.dash-widget-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);cursor:pointer}.dash-widget-action:hover{background:var(--bg-hover);color:var(--text-primary)}.dash-widget-body{flex:1;overflow:auto;padding:12px;display:flex;align-items:center;justify-content:center}.dash-widget-body:has(.dash-widget-table),.dash-widget-body:has(.dash-notes-container),.dash-widget-body:has(.crew-wl-wrap){align-items:stretch}.dash-widget-body:has(.dash-widget-table),.dash-widget-body:has(.dash-notes-container){padding:0}.dash-widget-resize-handle{position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:se-resize;opacity:0;transition:opacity .15s}.dash-widget:hover .dash-widget-resize-handle{opacity:1}.dash-widget-resize-handle:after{content:"";position:absolute;bottom:4px;right:4px;width:8px;height:8px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);border-radius:0 0 2px}.dash-widget-empty{font-size:var(--font-size-sm);color:var(--text-muted)}.dash-widget-kpi{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;width:100%}.dash-kpi-value{font-size:clamp(24px,5vw,40px);font-weight:700;color:var(--text-primary);line-height:1.1;font-family:var(--font-family)}.dash-kpi-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary)}.dash-kpi-sub{font-size:var(--font-size-xs);color:var(--text-muted)}.app-switcher{position:relative;display:inline-flex;align-items:center;gap:10px}.app-switcher-trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-secondary, #4B5563);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.app-switcher-trigger:hover{background:var(--bg-hover, rgba(0, 0, 0, .05));color:var(--text-primary, #111827);border-color:var(--border-light, #E5E7EB)}.app-switcher-trigger[aria-expanded=true]{background:var(--bg-hover, rgba(37, 99, 235, .08));color:var(--accent, #2563EB);border-color:var(--border-light, #E5E7EB)}.app-switcher-title{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary, #111827);white-space:nowrap}.crew-week-event[draggable=true]{cursor:grab}.crew-week-row.drop-target{background:#2563eb0f;outline:2px dashed rgba(37,99,235,.45);outline-offset:-2px;border-radius:4px}.app-drawer-overlay{position:fixed;inset:0;background:#0f172a59;z-index:11000}.app-drawer{position:fixed;top:0;left:0;bottom:0;width:248px;background:#f8fafc;border-right:1px solid rgba(15,23,42,.08);box-shadow:0 8px 32px #0f172a2e;z-index:11001;display:flex;flex-direction:column;gap:2px;padding:12px 10px;animation:app-drawer-in .16s ease-out}@keyframes app-drawer-in{0%{transform:translate(-24px);opacity:0}to{transform:translate(0);opacity:1}}.app-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:2px 8px 10px}.app-drawer-title{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#64748b}.app-drawer-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;background:none;color:#64748b;cursor:pointer}.app-drawer-close:hover{background:#0f172a14;color:#0f172a}.app-drawer-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:#334155;text-decoration:none;font-size:13.5px;font-weight:500}.app-drawer-item:hover{background:#0f172a0f;color:#0f172a}.app-drawer-item.is-active{background:#e8f0ff;color:#1d4ed8;font-weight:600}.app-drawer-item-icon{display:inline-flex}.app-switcher-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;background:var(--bg-primary, #ffffff);border:1px solid var(--border-light, #E5E7EB);border-radius:10px;box-shadow:0 12px 28px #0000001f,0 2px 4px #0000000f;padding:6px;z-index:1000}.app-switcher-menu-header{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #6B7280);padding:6px 10px 4px}.app-switcher-menu-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;font-size:13px;font-weight:500;color:var(--text-primary, #111827);text-decoration:none;transition:background .1s}.app-switcher-menu-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.app-switcher-menu-item.is-active{background:var(--bg-hover, rgba(37, 99, 235, .08));color:var(--accent, #2563EB)}.app-switcher-menu-icon{display:inline-flex;width:18px;align-items:center;justify-content:center;color:inherit}.app-switcher-menu-label{flex:1;text-align:left}.app-switcher-menu-dot{width:6px;height:6px;border-radius:2px;background:currentColor}.dash-kpi-breakdown{display:flex;align-items:stretch;justify-content:center;gap:14px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border-light, #E5E7EB);width:100%;max-width:360px;flex-wrap:wrap}.dash-kpi-breakdown-item{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:60px}.dash-kpi-breakdown-swatch{width:6px;height:6px;border-radius:2px;margin-bottom:2px}.dash-kpi-breakdown-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.dash-kpi-breakdown-value{font-size:var(--font-size-sm);font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.dash-widget-kpi--clickable{cursor:pointer;border-radius:6px;transition:background .15s;height:100%;padding:12px}.dash-widget-kpi--clickable:hover{background:var(--bg-hover)}.dd-overlay{position:fixed;inset:0;background:#00000059;z-index:9999;display:flex;align-items:center;justify-content:center}.dd-panel{background:var(--bg-primary);border-radius:8px;box-shadow:0 16px 48px #0000002e;width:min(900px,90vw);max-height:80vh;display:flex;flex-direction:column}.dd-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.dd-title{font-size:15px;font-weight:600;color:var(--text-primary)}.dd-count{font-size:12px;font-weight:500;color:var(--text-muted);background:var(--bg-secondary);padding:2px 8px;border-radius:10px}.dd-close{margin-left:auto;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer}.dd-close:hover{background:var(--bg-hover)}.dd-body{flex:1;overflow:auto;min-height:0}.dd-table-head{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr .7fr 1.2fr;padding:0 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-primary);z-index:1}.dd-table-head .mlist-th{padding:8px 4px}.dd-table-head .mlist-th:hover{background:transparent}.dd-row{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr .7fr 1.2fr;gap:0;padding:7px 16px;border-bottom:1px solid #F3F4F6;align-items:center}.dd-row:hover{background:var(--bg-hover)}.dd-td{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-td-name{font-weight:500;color:var(--text-primary)}.dd-empty{padding:32px;text-align:center;font-size:13px;color:var(--text-muted)}.dash-widget-bar{width:100%;height:100%;display:flex;flex-direction:column}.dash-bar-chart-area{flex:1 1 0;min-height:100px;display:grid;grid-template-columns:32px 1fr;grid-template-rows:1fr auto;position:relative;padding:12px 16px 8px 4px}.dash-bar-y-axis{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-right:4px}.dash-bar-y-label{font-size:11px;font-weight:500;color:#9ca3af;line-height:1}.dash-bar-body{grid-column:2;grid-row:1;position:relative;border-bottom:1px solid #E5E7EB;border-left:1px solid #F3F4F6}.dash-bar-gridlines{position:absolute;inset:0;pointer-events:none}.dash-bar-hline{position:absolute;left:0;right:0;height:1px;background:#f3f4f6}.dash-bar-columns{display:flex;align-items:flex-end;height:100%}.dash-bar-col{flex:1;display:flex;align-items:flex-end;justify-content:center;height:100%;position:relative;cursor:pointer}.dash-bar-vline{position:absolute;left:0;top:0;bottom:0;width:1px;background:#f3f4f6}.dash-bar-track{width:60%;max-width:48px;min-width:8px;height:100%;position:relative}.dash-bar-fill{position:absolute;left:50%;transform:translate(-50%);border-radius:4px 4px 0 0;transition:height .3s ease,bottom .3s ease,opacity .2s ease;min-height:2px}.dash-bar-x-axis{grid-column:1 / -1;grid-row:2;display:flex;padding:6px 0 4px}.dash-bar-x-spacer{width:32px;flex-shrink:0}.dash-bar-x-label{flex:1;font-size:11px;font-weight:500;color:#9ca3af;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px}.dash-bar-tooltip{position:fixed;display:flex;align-items:center;gap:6px;padding:5px 10px;background:#19202c;color:#fff;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;pointer-events:none;z-index:9999;box-shadow:0 4px 12px #0003}.dash-bar-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.dash-bar-tooltip-label{color:#ffffffb3}.dash-bar-tooltip-val{font-weight:700}.dash-bar-legend{display:flex;flex-direction:column;width:100%;border-top:1px solid var(--border-light)}.dash-bar-legend-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .1s}.dash-bar-legend-item:last-child{border-bottom:none}.dash-bar-legend-item.hovered{background:var(--bg-hover)}.dash-bar-legend-item--clickable{background:transparent;border:0;border-bottom:1px solid var(--border-light);text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.dash-bar-legend-item--clickable:last-child{border-bottom:none}.dash-bar-legend-item--clickable:hover{background:var(--bg-hover)}.dash-bar-legend-item--clickable.is-focused{background:var(--bg-hover, rgba(37, 99, 235, .08));box-shadow:inset 3px 0 0 var(--accent, #2563EB)}.dash-bar-legend-item--clickable.is-dimmed{opacity:.4}.dash-bar-legend-item--clickable.is-dimmed:hover{opacity:.7}.dash-bar-legend-sq{width:10px;height:10px;border-radius:3px;flex-shrink:0}.dash-bar-legend-label{flex:1;font-size:12px;font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-bar-legend-val{font-size:12px;font-weight:700;color:var(--text-primary)}.dash-widget-body:has(.dash-widget-bar){padding:0;align-items:stretch}.dash-bar-wide{flex-direction:row!important}.dash-bar-wide .dash-bar-chart-area{flex:1;min-width:0}.dash-bar-wide .dash-bar-legend{width:200px;flex-shrink:0;border-top:none;border-left:1px solid var(--border-light);overflow-y:auto;scrollbar-width:thin}.dash-bar-legend--below{flex-direction:row!important;flex-wrap:wrap;gap:0;border-top:1px solid var(--border-light);border-left:none;width:100%;max-height:80px;overflow-y:auto}.dash-bar-legend--below .dash-bar-legend-item{flex:0 1 auto;min-width:120px;border-bottom:none;padding:4px 10px}.dash-widget-donut{display:flex;align-items:center;width:100%;height:100%}.dash-donut-vertical{flex-direction:column;justify-content:center;gap:8px}.dash-donut-vertical .dash-donut-ring-wrap{flex:1;min-height:0;max-height:60%;aspect-ratio:1;width:auto}.dash-donut-vertical .dash-donut-legend{width:100%}.dash-donut-horizontal{flex-direction:row;gap:20px}.dash-donut-horizontal .dash-donut-ring-wrap{flex-shrink:0;height:80%;aspect-ratio:1;max-height:180px}.dash-donut-horizontal .dash-donut-legend{flex:1;min-width:0}.dash-donut-ring-wrap{position:relative;display:flex;align-items:center;justify-content:center}.dash-donut-ring-wrap svg{width:100%;height:100%}.dash-donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-family);text-align:center;color:#374151;display:flex;flex-direction:column;align-items:center;line-height:1;gap:1px}.dash-donut-center-num{font-size:20px;font-weight:700;color:#374151}.dash-donut-center-label{font-size:11px;font-weight:500;color:#6b7280}.dash-donut-legend{display:flex;flex-direction:column;width:100%}.dash-donut-legend-item{display:flex;align-items:center;gap:8px;font-size:var(--font-size-xs)}.dash-donut-legend-sq{width:10px;height:10px;border-radius:3px;flex-shrink:0}.dash-donut-legend-label{font-size:12px;font-weight:500;color:var(--text-secondary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-donut-legend-val{font-size:12px;font-weight:700;color:var(--text-primary)}.dash-donut-legend-item{transition:background .1s;padding:8px 6px;border-bottom:1px solid var(--border-light);cursor:pointer}.dash-donut-legend-item:last-child{border-bottom:none}.dash-donut-legend-item.hovered{background:var(--bg-hover)}.dash-donut-tooltip{position:fixed;display:flex;align-items:center;gap:6px;padding:6px 12px;background:#19202c;color:#fff;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;pointer-events:none;z-index:9999;box-shadow:0 4px 12px #0003}.dash-donut-tooltip-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0}.dash-donut-tooltip-label{color:#ffffffb3}.dash-donut-tooltip-val{font-weight:700}.dash-widget-table{width:100%;align-self:stretch;overflow-x:auto;overflow-y:auto;position:relative}.dash-tbl-export-csv{position:absolute;top:6px;right:8px;z-index:5;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;cursor:pointer;opacity:0;transition:opacity .15s}.dash-widget-table:hover .dash-tbl-export-csv{opacity:1}.dash-tbl-export-csv:hover{background:var(--bg-secondary);color:var(--text-primary)}.dash-tbl-thead{display:grid;align-items:stretch;padding:0 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);gap:8px}.dash-tbl-thead .mlist-th{overflow:visible;min-width:0}.dash-tbl-thead .mlist-th-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.mlist-th-sorted,.mlist-th-sorted .mlist-icon-active{color:var(--accent)}.dash-tbl-tbody{overflow-y:auto;flex:1}.dash-tbl-row{display:grid;align-items:stretch;padding:0 16px;gap:8px;border-bottom:1px solid var(--border-light);transition:background .1s}.dash-tbl-row:last-child{border-bottom:none}.dash-tbl-row:hover{background:var(--bg-hover)}.dash-tbl-td{font-size:12px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;padding:12px 8px}.dash-tbl-td:first-child{padding-left:0}.dash-tbl-td-name{font-weight:700;color:var(--text-primary)}.dash-tbl-progress-wrap{display:flex;align-items:center;gap:8px;width:100%}.dash-tbl-progress-bar{flex:1;height:6px;background:var(--bg-normally-off);border-radius:3px;overflow:hidden}.dash-tbl-progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.dash-tbl-progress-label{font-size:11px;font-weight:600;color:var(--text-secondary);min-width:28px;text-align:right}.dash-tbl-empty{padding:24px 12px;font-size:var(--font-size-sm);color:var(--text-muted);text-align:center}.dash-notes-container{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;position:relative}.dash-notes-editor{flex:1 1 auto;overflow-y:auto;outline:none;font-family:var(--font-family);font-size:13px;color:var(--text-primary);line-height:1.6;padding:12px 16px;cursor:text;white-space:pre-wrap;word-wrap:break-word}.dash-notes-editor:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.dash-notes-editor b,.dash-notes-editor strong{font-weight:600}.dash-notes-editor i,.dash-notes-editor em{font-style:italic}.dash-notes-editor s,.dash-notes-editor strike{text-decoration:line-through}.dash-notes-editor a{color:var(--accent);text-decoration:underline;cursor:pointer}.dash-notes-editor ul,.dash-notes-editor ol{margin:4px 0;padding-left:22px}.dash-notes-editor ul{list-style-type:disc}.dash-notes-editor ol{list-style-type:decimal}.dash-notes-editor li{margin:2px 0}.dash-notes-toolbar{flex:0 0 36px;display:flex;align-items:center;gap:2px;padding:0 4px;border-top:1px solid var(--border);background:#fff;-webkit-user-select:none;user-select:none}.dash-notes-toolbar-sep{width:1px;height:18px;margin:0 4px;background:var(--border)}.dash-notes-toolbar-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:2px;background:transparent;color:var(--text-secondary);font-size:14px;font-family:var(--font-family);cursor:pointer;padding:0;line-height:1}.dash-notes-toolbar-btn:hover{background:var(--bg-hover, #f0f0f0)}.dash-notes-toolbar-btn-active{background:var(--accent, #2563eb);color:#fff}.dash-notes-toolbar-btn-active:hover{background:var(--accent, #2563eb);color:#fff;opacity:.9}.dash-notes-link-overlay{position:fixed;inset:0;background:#00000026;display:flex;align-items:center;justify-content:center;z-index:1000}.dash-notes-link-dialog{background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000026;padding:20px;width:280px;display:flex;flex-direction:column;gap:8px}.dash-notes-link-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.dash-notes-link-title{font-size:14px;font-weight:700;color:var(--text-primary)}.dash-notes-link-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:2px;background:none;color:var(--text-secondary);cursor:pointer}.dash-notes-link-close:hover{background:var(--bg-hover)}.dash-notes-link-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.dash-notes-link-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px;font-family:var(--font-family);color:var(--text-primary);outline:none;box-sizing:border-box}.dash-notes-link-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb26}.dash-notes-link-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.dash-notes-link-cancel,.dash-notes-link-save{padding:6px 16px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font-family)}.dash-notes-link-cancel{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary)}.dash-notes-link-cancel:hover{background:var(--bg-hover)}.dash-notes-link-save{border:none;background:var(--accent);color:#fff}.dash-notes-link-save:hover{opacity:.9}.dash-notes-btn-bold{font-weight:700}.dash-notes-btn-italic{font-style:italic}.dash-mslist{width:100%;display:flex;flex-direction:column;align-self:stretch}.dash-mslist-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--text-muted);font-size:var(--font-size-sm)}.dash-mslist-header{display:flex;align-items:center;gap:6px;padding:6px 16px;border-bottom:1px solid var(--border-light)}.dash-mslist-count{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary)}.dash-mslist-body{flex:1;overflow-y:auto}.dash-mslist-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border-light);transition:background .1s}.dash-mslist-row:last-child{border-bottom:none}.dash-mslist-row:hover{background:var(--bg-hover)}.dash-mslist-row-left{display:flex;align-items:center;gap:6px;min-width:0;flex:1}.dash-mslist-milestone{font-size:12px;font-weight:700;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.dash-mslist-separator{color:var(--text-muted);font-size:12px;flex-shrink:0}.dash-mslist-project{font-size:12px;font-weight:500;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-mslist-row-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.dash-mslist-date{font-size:11px;font-weight:500;color:var(--text-secondary)}.dash-mslist-days{font-size:10px;font-weight:600;color:var(--accent);background:var(--accent-light);padding:2px 6px;border-radius:2px}.dash-mslist-days.overdue{color:var(--error);background:var(--error-light)}.dash-widget-body:has(.dash-mslist),.dash-widget-body:has(.dash-docs-widget){padding:0;align-items:stretch}.dash-docs-widget{width:100%;display:flex;flex-direction:column;align-self:stretch;position:relative}.dash-docs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;flex:1;min-height:120px;color:var(--text-muted);font-size:var(--font-size-sm);cursor:pointer;border:2px dashed var(--border);border-radius:2px;margin:12px;transition:border-color .15s}.dash-docs-empty:hover{border-color:var(--accent);color:var(--text-secondary)}.dash-docs-empty strong{color:var(--accent);text-decoration:underline}.dash-docs-list{flex:1;display:flex;flex-direction:column}.dash-docs-thead{display:flex;align-items:center;padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border);gap:8px}.dash-docs-th{flex:1;font-size:10px;font-weight:500;color:#374151}.dash-docs-th-name{flex:2.5}.dash-docs-tbody{flex:1;overflow-y:auto}.dash-docs-row{display:flex;align-items:center;padding:10px 16px;gap:8px;border-bottom:1px solid var(--border-light);position:relative;transition:background .1s}.dash-docs-row:last-child{border-bottom:none}.dash-docs-row:hover{background:var(--bg-hover)}.dash-docs-td{flex:1;font-size:12px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-docs-td-name{flex:2.5;display:flex;align-items:center;gap:10px}.dash-docs-td-name svg{width:24px;height:24px;flex-shrink:0}.dash-docs-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-docs-td-clickable{cursor:pointer}.dash-docs-td-clickable:hover .dash-docs-filename{color:var(--accent);text-decoration:underline}.dash-docs-td-actions{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:none;align-items:center;gap:4px;background:var(--bg-primary);padding-left:8px}.dash-docs-row:hover .dash-docs-td-actions{display:flex}.dash-docs-action{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:2px;background:none;color:var(--text-secondary);cursor:pointer}.dash-docs-action:hover{background:var(--bg-hover);color:var(--text-primary)}.dash-docs-add-wrap{position:absolute;bottom:8px;right:8px}.dash-docs-add-btn{width:28px;height:28px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}.dash-docs-add-btn:hover{background:var(--bg-hover)}.dash-docs-source-menu{position:absolute;bottom:calc(100% + 4px);right:0;min-width:200px;background:var(--bg-primary);border:1px solid var(--border);border-radius:2px;box-shadow:0 8px 24px #0000001f;padding:4px;z-index:100}.dash-docs-source-item{display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);cursor:pointer;border-radius:2px}.dash-docs-source-item:hover{background:var(--bg-hover)}.dash-docs-source-sep{height:1px;background:var(--border-light);margin:4px 0}.dash-switcher{display:flex;align-items:center;gap:2px;overflow-x:auto;flex:1;min-width:0}.dash-switcher-tab{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid transparent;border-radius:2px;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;flex-shrink:0;box-sizing:border-box}.dash-switcher-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.dash-switcher-tab.active{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.dash-switcher-actions{display:flex;gap:2px;margin-left:4px}.dash-switcher-action{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:2px;background:none;color:var(--text-primary);cursor:pointer}.dash-switcher-action:hover{background:var(--bg-hover);color:var(--text-primary)}.dash-switcher-add{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px dashed var(--border);border-radius:2px;background:none;color:var(--text-muted);cursor:pointer;flex-shrink:0;box-sizing:border-box;transition:border-color .15s,color .15s}.dash-switcher-add:hover{border-color:var(--accent);color:var(--accent)}.dash-switcher-edit{display:flex;align-items:center;gap:4px}.dash-switcher-input{width:120px;padding:2px 6px;border:1px solid var(--accent);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);outline:none;background:var(--bg-primary)}.dash-switcher-confirm{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer}.dash-switcher-create-input{padding:4px 8px}.dash-switcher-name{overflow:hidden;text-overflow:ellipsis}.dash-config-panel{width:320px;flex-shrink:0;border-left:1px solid var(--border);background:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden}.dash-config-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border)}.dash-config-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.dash-config-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-secondary);cursor:pointer}.dash-config-close:hover{background:var(--bg-hover)}.dash-config-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.dash-config-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);display:flex;align-items:center;justify-content:space-between}.dash-config-input{width:100%;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-primary);outline:none}.dash-config-input:focus{border-color:var(--accent)}.dash-config-options{display:flex;flex-wrap:wrap;gap:6px}.dash-config-option{padding:5px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.dash-config-option:hover{background:var(--bg-hover);color:var(--text-primary)}.dash-config-option.active{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.dash-config-project-list{display:flex;flex-direction:column;gap:1px;max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:2px;padding:4px 6px;scrollbar-width:thin}.dash-config-project-item{display:flex;align-items:center;gap:8px;font-size:var(--font-size-xs);color:var(--text-primary);cursor:pointer;padding:4px;border-radius:2px;-webkit-user-select:none;user-select:none}.dash-config-project-item:hover{background:var(--bg-hover)}.dash-config-options--wrap,.aw-custom-options--wrap{flex-wrap:wrap}.aw-config-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin:-4px 0 4px;line-height:1.4}.rb-page{position:fixed;inset:0;z-index:100;background:var(--bg-primary);display:flex;flex-direction:column}.rb-page-inner{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.rb-header{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.rb-back-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;flex-shrink:0;transition:background .12s,color .12s,border-color .12s}.rb-back-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent)}.rb-header-title{flex:1;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.rb-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.rb-templates-wrapper{position:relative}.rb-templates-btn{display:inline-flex;align-items:center;height:30px;padding:0 10px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s}.rb-templates-btn:hover{background:var(--bg-hover)}.rb-templates-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:var(--bg-primary);border:1px solid var(--border);border-radius:2px;box-shadow:0 4px 12px #0000001a;z-index:200;overflow:hidden}.rb-templates-dropdown-item{display:block;width:100%;padding:8px 12px;text-align:left;background:none;border:none;font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;white-space:nowrap}.rb-templates-dropdown-item:hover{background:var(--bg-hover)}.rb-top-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.rb-top-bar .rb-title-input{flex:1}.rb-top-bar .rb-viz-bar{flex-shrink:0}.rb-body{flex:1;display:flex;flex-direction:row;overflow:hidden}.rb-sidebar{width:260px;flex-shrink:0;border-right:1px solid var(--border);overflow-y:auto;padding:14px;scrollbar-width:thin}.rb-sidebar-search{position:relative;display:flex;align-items:center;margin-bottom:10px}.rb-search-icon{position:absolute;left:8px;color:var(--text-muted);pointer-events:none}.rb-search-input{width:100%;height:30px;padding:0 26px 0 28px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:12px;outline:none}.rb-search-input:focus{border-color:var(--accent)}.rb-search-input::placeholder{color:var(--text-muted)}.rb-search-clear{position:absolute;right:4px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 4px;line-height:1}.rb-search-clear:hover{color:var(--text-primary)}.rb-field-tabs{display:flex;align-items:stretch;border:1px solid #E8EAED;border-radius:2px;overflow:hidden;background:#fff;height:28px;margin:6px 0}.rb-field-tab-btn{display:inline-flex;align-items:center;justify-content:center;flex:1;gap:4px;padding:0 10px;background:#fff;border:none;font-size:11px;font-weight:500;color:var(--text-primary);cursor:pointer;white-space:nowrap;transition:color .1s,background .1s,border-color .1s}.rb-field-tab-btn+.rb-field-tab-btn{border-left:1px solid #E8EAED}.rb-field-tab-btn:hover:not(.rb-field-tab-btn--active){background:#f8fafc}.rb-field-tab-btn--active{color:#0053d4;font-weight:600}.rb-field-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:14px;padding:0 3px;background:var(--border);border-radius:6px;font-size:9px;font-weight:600;color:var(--text-muted)}.rb-field-tab-btn--active .rb-field-tab-count{background:var(--accent, #2563EB);color:#fff}.rb-no-results{padding:16px 4px;font-size:12px;color:var(--text-muted);text-align:center}.rb-sidebar-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:6px}.rb-source-select{width:100%;height:32px;padding:0 28px 0 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:#19202c;font-size:12px;font-weight:500;margin-bottom:12px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%237F94B4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.rb-source-select:focus{outline:none;border-color:var(--accent)}.rb-date-granularity{min-width:5.5rem;font-size:.6875rem!important}.rb-date-granularity .MuiSelect-select{padding:0 1.25rem 0 .375rem!important}.rb-date-timezone{min-width:4.75rem;color:inherit!important;font-size:.625rem!important}.rb-date-timezone .MuiSelect-select{padding:0 1.125rem 0 .25rem!important}.rb-aggregation-select{min-width:4.75rem;color:inherit!important;font-size:.625rem!important;font-weight:600!important}.rb-aggregation-select .MuiSelect-select{padding:0 1.125rem 0 .25rem!important}.rb-manual-join-button{width:100%;margin:-.25rem 0 .75rem!important;text-transform:none!important}.rb-manual-join-row{border:1px solid var(--border);border-radius:.375rem;padding:.75rem}.rb-query-plan{display:flex;flex-direction:column;gap:.1875rem;margin-top:.375rem;padding:.5rem;border-radius:.25rem;background:var(--bg-secondary)}.rb-query-plan-label{color:var(--text-muted);font-size:.625rem!important;font-weight:700!important;letter-spacing:.04em!important}.rb-query-plan span:not(.rb-query-plan-label){color:var(--text-secondary);font-size:.6875rem}.rb-query-plan-measure{display:flex;flex-direction:column;gap:.1875rem}.rb-source-origin-pill{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.3px;padding:2px 8px;border-radius:10px;margin-top:-8px;margin-bottom:10px}.rb-source-origin-pill--live{background:#dcfce7;color:#166534}.rb-source-origin-pill--mock{background:#fef3c7;color:#92400e}.rb-field-item{display:flex;align-items:center;gap:7px;width:100%;padding:5px 8px;border:none;border-radius:3px;background:none;color:#19202c;font-size:12px;font-weight:500;text-align:left;cursor:grab;transition:background .12s}.rb-field-item:hover{background:var(--bg-hover)}.rb-field-item:active{cursor:grabbing}.rb-field-item--placed{opacity:1}.rb-field-item--dim svg{color:#0053d4;flex-shrink:0}.rb-field-item--measure svg{color:#49bf55;flex-shrink:0}.rb-field-item--placed{opacity:.45}.rb-field-subgroup{display:block;font-size:10px;font-weight:600;color:var(--text-muted);padding:6px 8px 2px;letter-spacing:.02em}.rb-main{flex:1;display:flex;flex-direction:column;padding:20px 24px;overflow-y:auto;gap:16px}.rb-shelves{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.rb-shelf{display:flex;align-items:flex-start;gap:8px}.rb-shelf-label{width:70px;flex-shrink:0;font-size:12px;font-weight:600;color:#19202c;padding-top:6px}.rb-shelf-pills{flex:1;display:flex;flex-wrap:wrap;gap:4px;min-height:32px;padding:4px;border-radius:4px;align-items:center;border:1px dashed var(--border)}.rb-shelf-pills--dragover{border:1.5px dashed var(--accent);background:#eff6ff}.rb-empty-shelf{font-size:11px;color:var(--text-muted);padding:2px 4px}.rb-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:4px;font-size:11px;font-weight:500;line-height:1.4;white-space:nowrap}.rb-pill--dim{cursor:grab}.rb-pill--dim:active{cursor:grabbing}.rb-pill--measure{cursor:grab}.rb-pill--measure:active{cursor:grabbing}.rb-pill--discrete{background:#dbeafe;color:#1e40af}.rb-pill--continuous{background:#dcfce7;color:#166534}.rb-field-mode-control{min-width:74px!important;margin-left:2px!important}.rb-field-mode-control .MuiOutlinedInput-root{height:22px;border-radius:3px;color:inherit;font-size:10px;font-weight:650;background:#ffffff80}.rb-field-mode-control .MuiSelect-select{padding:2px 21px 2px 6px!important}.rb-field-mode-control .MuiOutlinedInput-notchedOutline{border-color:currentColor!important;opacity:.18}.rb-field-mode-control .MuiSvgIcon-root{right:2px;color:inherit;font-size:16px}.rb-field-mode-menu .MuiMenuItem-root{min-height:32px;font-size:12px}.rb-pill--drop-before{box-shadow:-2px 0 0 0 var(--accent)}.rb-pill--drop-after{box-shadow:2px 0 0 0 var(--accent)}.rb-pill--filter{background:#fef3c7;color:#92400e}.rb-pill-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;border-radius:50%;background:none;color:inherit;font-size:13px;line-height:1;cursor:pointer;opacity:.6;transition:opacity .12s,color .12s;padding:0}.rb-pill-remove:hover{opacity:1;color:#dc2626}.rb-pill-agg{font-size:9px;font-weight:600;opacity:.7;margin-right:2px}.rb-pill-origin{font-size:8px;font-weight:700;letter-spacing:.04em;opacity:.7}.rb-pill-remove:disabled{cursor:not-allowed;opacity:.25}.rb-query-scope-note{margin-left:78px;padding:6px 8px;border-radius:4px;background:#f8fafc;color:#64748b;font-size:10px;line-height:1.45}.rb-query-scope-note strong{color:#334155;font-weight:700}.rb-query-source-summary{display:flex;flex-direction:column;gap:3px;margin-top:8px;padding:8px;border:1px solid #E2E8F0;border-radius:6px;background:#f8fafc}.rb-source-description{display:flex;flex-direction:column;gap:3px;margin-top:6px;color:#64748b;font-size:10px;line-height:1.4}.rb-source-description small{padding:6px 7px;border-radius:4px;background:#fff7ed;color:#9a3412;font-size:9px;line-height:1.4}.rb-query-source-summary-label{color:#64748b;font-size:9px;font-weight:700;letter-spacing:.06em}.rb-query-source-table{overflow:hidden;color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.rb-query-source-table em{color:#64748b;font-family:inherit;font-style:normal}.rb-query-source-counts{margin-top:2px;color:#64748b;font-size:10px}.rb-view-joins-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;align-self:flex-start;margin-top:4px;padding:4px 7px;border:1px solid #CBD5E1;border-radius:4px;background:#fff;color:#1d4ed8;font-size:10px;font-weight:650;cursor:pointer}.rb-view-joins-btn:hover{border-color:#93c5fd;background:#eff6ff}.rb-join-dialog-backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a6b}.rb-join-dialog{width:min(680px,100%);max-height:min(720px,calc(100vh - 48px));overflow-y:auto;border:1px solid #CBD5E1;border-radius:12px;background:#fff;box-shadow:0 24px 70px #0f172a3d}.rb-join-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 22px 14px;border-bottom:1px solid #E2E8F0}.rb-join-dialog-eyebrow{display:block;margin-bottom:3px;color:#64748b;font-size:9px;font-weight:750;letter-spacing:.08em}.rb-join-dialog-header h2{margin:0;color:#0f172a;font-size:18px;line-height:1.25}.rb-join-dialog-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.rb-join-dialog-close:hover{background:#f1f5f9;color:#0f172a}.rb-join-dialog-description{margin:0;padding:14px 22px 10px;color:#475569;font-size:12px;line-height:1.55}.rb-join-list{display:flex;flex-direction:column;gap:7px;padding:4px 22px 16px}.rb-join-list-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid #E2E8F0;border-radius:6px;background:#f8fafc}.rb-join-list-index{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-size:10px;font-weight:750}.rb-join-list-item div{display:flex;flex-direction:column;gap:2px;min-width:0}.rb-join-list-item strong{color:#334155;font-size:10px}.rb-join-list-item code{overflow-wrap:anywhere;color:#0f172a;font-size:11px}.rb-join-sql-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 22px 7px;color:#334155;font-size:11px;font-weight:650}.rb-join-sql-heading small{color:#94a3b8;font-size:9px;font-weight:500}.rb-join-sql{margin:0 22px 22px;padding:14px;overflow-x:auto;border:1px solid #1E293B;border-radius:7px;background:#0f172a;color:#e2e8f0;font-size:11px;line-height:1.65;white-space:pre}.rb-filter-chip-wrapper{position:relative;display:inline-flex}.rb-pill--filter-active{background:#fef3c7;border:1px solid #F59E0B;color:#92400e}.rb-pill--filter-open{outline:2px solid var(--accent);outline-offset:1px}.rb-filter-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:240px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000024;overflow:hidden}.rb-filter-popover-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;border-bottom:1px solid var(--border)}.rb-filter-popover-title{font-size:12px;font-weight:600;color:var(--text-primary)}.rb-filter-popover-actions{display:flex;gap:4px}.rb-filter-popover-actions button{padding:2px 8px;font-size:11px;border:1px solid var(--border);border-radius:3px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer}.rb-filter-popover-actions button:hover{background:var(--bg-secondary);color:var(--text-primary)}.rb-filter-popover-search{display:flex;align-items:center;gap:6px;padding:6px 12px;border-bottom:1px solid var(--border);color:var(--text-muted)}.rb-filter-popover-search input{flex:1;border:none;background:none;font-size:12px;color:var(--text-primary);outline:none}.rb-filter-popover-search input::placeholder{color:var(--text-muted)}.rb-filter-popover-list{max-height:200px;overflow-y:auto;padding:6px 4px;scrollbar-width:thin}.rb-calendar-boundary-note{margin-left:78px;padding:6px 8px;border-radius:4px;background:#eff6ff;color:#1e3a8a;font-size:10px;line-height:1.4}.rb-filter-popover-empty{display:block;padding:10px 8px;color:var(--text-secondary);font-size:11px}.rb-filter-popover-item{display:flex;align-items:center;gap:8px;padding:4px 8px;font-size:12px;color:var(--text-primary);cursor:pointer;border-radius:4px}.rb-filter-popover-item:hover{background:var(--bg-secondary)}.rb-filter-popover-item input{width:14px;height:14px;flex-shrink:0}.rb-filter-date-range{padding:10px 12px;display:flex;flex-direction:column;gap:8px}.rb-filter-date-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.rb-filter-date-label span{width:52px;flex-shrink:0}.rb-filter-date-input{flex:1;padding:5px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px;background:var(--bg-primary);color:var(--text-primary);outline:none}.rb-filter-date-input:focus{border-color:var(--accent)}.rb-filter-date-clear{align-self:flex-end;padding:3px 10px;font-size:11px;color:var(--text-secondary);background:none;border:1px solid var(--border);border-radius:4px;cursor:pointer}.rb-filter-date-clear:hover{background:var(--bg-secondary);color:var(--text-primary)}.rb-filter-add-wrapper{position:relative;display:inline-flex}.rb-filter-add-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px dashed var(--border);border-radius:4px;background:none;color:var(--text-muted);cursor:pointer;flex-shrink:0}.rb-filter-add-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--bg-secondary)}.rb-filter-dropdown{position:absolute;top:100%;left:0;z-index:20;margin-top:4px;min-width:180px;max-height:200px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0000001f;padding:4px}.rb-filter-dropdown-item{display:block;width:100%;padding:6px 10px;border:none;background:none;text-align:left;font-size:12px;color:var(--text-primary);cursor:pointer;border-radius:4px}.rb-filter-dropdown-item:hover{background:var(--bg-secondary)}.rb-filter-dropdown-empty{display:block;padding:8px 10px;font-size:12px;color:var(--text-muted)}.rb-preview{position:relative;flex:1;border:1px solid var(--border);border-radius:4px;overflow:hidden;min-height:320px;display:flex;align-items:stretch;padding:16px}.rb-view-data-button.MuiButton-root{position:absolute;z-index:10;top:.5rem;right:.5rem;flex:none;width:auto;min-width:auto;padding:.3rem .55rem;color:#475569;background:#ffffffeb;border:1px solid #e2e8f0;font-size:.7rem;text-transform:none}.rb-view-data-button--table.MuiButton-root{right:6rem}.rb-preview>*{flex:1;width:100%}.rb-preview-empty{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--font-size-sm)}.rb-viz-bar{display:flex;gap:4px;flex-shrink:0}.rb-viz-btn{padding:5px 12px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .12s}.rb-viz-btn:hover{border-color:var(--accent);color:var(--accent)}.rb-viz-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.rb-show-me-trigger{min-width:108px!important;border-color:var(--border)!important;color:var(--text-primary)!important;text-transform:none!important;font-size:12px!important;font-weight:650!important}.rb-show-me-trigger:hover{border-color:var(--accent)!important;color:var(--accent)!important}.rb-show-me-popover{width:460px;margin-top:6px;border:1px solid var(--border);border-radius:8px!important;box-shadow:0 16px 38px #0f172a29!important}.rb-show-me-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 14px 10px;border-bottom:1px solid var(--border)}.rb-show-me-header h3{margin:0;color:var(--text-primary);font-size:14px;font-weight:700}.rb-show-me-header p{margin-top:2px;color:var(--text-muted);font-size:11px}.rb-show-me-header .MuiButton-root{min-width:48px;text-transform:none;font-size:11px}.rb-show-me-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 14px}.rb-show-me-option.MuiButton-root{position:relative;display:flex;min-width:0;min-height:116px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:3px;padding:8px;border:1px solid var(--border);border-radius:6px;color:var(--text-primary);text-align:left;text-transform:none}.rb-show-me-option.MuiButton-root:hover,.rb-show-me-option.MuiButton-root.is-selected{border-color:var(--accent);background:#eff6ff}.rb-show-me-option.MuiButton-root.Mui-disabled{color:var(--text-muted);opacity:.48}.rb-show-me-icon{display:flex;height:35px;align-items:center;justify-content:center;color:var(--accent)}.rb-show-me-option strong{font-size:11px;line-height:1.2}.rb-show-me-option span{color:var(--text-muted);font-size:9px;line-height:1.3}.rb-show-me-option em{position:absolute;top:4px;right:4px;padding:2px 4px;border-radius:8px;background:#dbeafe;color:#1e40af;font-size:8px;font-style:normal;font-weight:700}.rb-show-me-roles{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:10px 14px 14px;border-top:1px solid var(--border);color:var(--text-secondary);font-size:10px}.rb-show-me-roles strong{grid-row:1 / span 3;color:var(--text-primary)}.rb-show-me-roles span{font-size:10px}.rb-color-trigger:hover,.rb-color-trigger.active{border-color:var(--accent)}.rb-color-tabs{display:flex;gap:4px;margin-bottom:10px}.rb-color-tab{flex:1;padding:5px 0;border:1px solid var(--border);border-radius:3px;background:var(--bg-primary);font-size:var(--font-size-xs, 11px);font-weight:500;cursor:pointer;color:var(--text-secondary);transition:all .1s}.rb-color-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.rb-color-section-label{display:block;font-size:var(--font-size-xs, 11px);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.rb-color-hue-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.rb-color-hue-btn{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s;flex-shrink:0;padding:0}.rb-color-hue-btn:hover{transform:scale(1.15)}.rb-color-hue-btn.active{border-color:var(--text-primary, #111);transform:scale(1.1)}.rb-color-preview-row{display:flex;gap:4px;flex-wrap:wrap}.rb-color-preview-swatch{display:inline-block;width:16px;height:16px;border-radius:3px;flex-shrink:0}.rb-color-multi{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow-y:auto}.rb-color-palettes{display:flex;flex-direction:column;gap:4px;margin-bottom:2px}.rb-color-palette-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);cursor:pointer;transition:border-color .1s,background .1s;text-align:left}.rb-color-palette-btn:hover{border-color:var(--accent);background:var(--bg-hover, #f5f5f5)}.rb-color-palette-btn.active{border-color:var(--accent);background:var(--accent-light, #eff6ff)}.rb-color-palette-label{font-size:var(--font-size-xs, 11px);font-weight:500;color:var(--text-secondary);width:38px;flex-shrink:0}.rb-color-palette-dots{display:flex;gap:3px;flex:1}.rb-color-palette-dot{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.rb-color-series-list{display:flex;flex-direction:column;gap:4px}.rb-color-series-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.rb-color-multi-label{font-size:var(--font-size-xs, 11px);color:var(--text-secondary);width:52px;flex-shrink:0}.rb-color-series-swatch{width:20px;height:20px;border-radius:4px;border:2px solid transparent;cursor:pointer;flex-shrink:0;padding:0;transition:border-color .1s,transform .1s}.rb-color-series-swatch:hover{transform:scale(1.1);border-color:#00000026}.rb-color-series-swatch.active{border-color:var(--text-primary, #111)}.rb-color-series-picker{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:6px 8px;background:var(--bg-hover, #f5f5f5);border:1px solid var(--border);border-radius:4px;width:100%;margin-top:2px}.rb-color-hex-input{width:64px;padding:2px 4px;font-size:11px;font-family:monospace;border:1px solid var(--border);border-radius:3px;background:var(--bg-primary);color:var(--text-primary);flex-shrink:0}.rb-layout-trigger:hover,.rb-layout-trigger.active{border-color:var(--accent);color:var(--accent)}.rb-layout-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.rb-layout-label{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.rb-layout-btn-group{display:flex;gap:3px}.rb-layout-btn{padding:3px 8px;font-size:12px;font-weight:500;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all .1s}.rb-layout-btn:hover{border-color:var(--accent);color:var(--accent)}.rb-layout-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.rb-layout-toggle-row{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.rb-title-input{flex:1;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm)}.rb-title-input:focus{outline:none;border-color:var(--accent)}.rb-settings-panel{width:240px;flex-shrink:0;border-left:1px solid var(--border);background:var(--bg-primary);padding:14px 14px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:0;scrollbar-width:thin}.rb-settings-panel-heading{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:14px}.rb-settings-section{display:flex;flex-direction:column;gap:8px}.rb-settings-section-label{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);letter-spacing:.03em;margin-bottom:2px}.rb-settings-divider{height:1px;background:var(--border);margin:14px 0}.dash-add-btn--primary{background:var(--accent)!important;color:#fff!important;border:1px solid var(--accent)!important}.dash-add-btn--primary:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}.dash-dirty-flag{display:inline-flex;align-items:center;gap:6px;padding:0 8px;height:24px;border-radius:12px;background:var(--warning-light);color:#92400e;font-size:11px;font-weight:600;white-space:nowrap}.dash-dirty-flag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warning)}.dash-add-btn--save{background:var(--success)!important;color:#fff!important;border:1px solid var(--success)!important}.dash-add-btn--save:hover{filter:brightness(.94)}.unsaved-modal{width:460px}.unsaved-modal-body{display:flex;gap:12px;padding:18px 18px 6px}.unsaved-modal-icon{color:var(--warning);flex-shrink:0;margin-top:1px}.unsaved-modal-title{margin:0 0 4px;font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.unsaved-modal-text{margin:0;font-size:var(--font-size-sm);line-height:1.5;color:var(--text-secondary)}.unsaved-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px 16px}.unsaved-modal-discard{padding:7px 12px;border:1px solid var(--border);border-radius:3px;background:var(--bg-primary);color:var(--error);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;cursor:pointer}.unsaved-modal-discard:hover{background:var(--error-light);border-color:var(--error)}.dash-config-edit-builder-btn{margin-top:12px;padding:6px 12px;width:100%;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .12s}.dash-config-edit-builder-btn:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent)}.dash-config-action-btn{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:10px;padding:7px 12px;width:100%;border:1px solid var(--border);border-radius:3px;background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.dash-config-action-btn:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent)}.dash-config-color-section{display:flex;flex-direction:column;gap:8px}.dash-config-color-mode{display:flex;gap:4px}.dash-config-hue-row{display:flex;gap:6px;flex-wrap:wrap}.dash-config-hue-btn{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .12s}.dash-config-hue-btn:hover{transform:scale(1.15)}.dash-config-hue-btn.active{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--bg-primary),0 0 0 4px var(--text-primary)}.dash-widget-line{width:100%;height:100%;display:flex;flex-direction:column}.dash-line-chart-area{flex:1 1 0;min-height:80px;position:relative;padding:4px 4px 4px 2px;overflow:hidden}.dash-line-svg{width:100%;height:100%;display:block}.dash-line-tooltip{position:fixed;display:flex;align-items:center;gap:6px;padding:5px 10px;background:#19202c;color:#fff;border-radius:6px;font-size:11px;font-weight:500;white-space:nowrap;pointer-events:none;z-index:9999;box-shadow:0 4px 12px #0003}.dash-widget-body:has(.dash-widget-line){padding:0;align-items:stretch}.dash-stacked-fill{width:100%;display:flex;flex-direction:column-reverse;border-radius:4px 4px 0 0;overflow:hidden;transition:opacity .15s;min-height:2px}.dash-stacked-seg{width:100%;transition:height .3s ease,opacity .15s;min-height:1px}.dash-widget-hbar{width:100%;height:100%;display:flex;flex-direction:column;padding:12px 12px 8px;gap:0;position:relative;overflow:hidden}.dash-hbar-chart-area{flex:1 1 0;display:flex;flex-direction:column;gap:0;overflow:hidden}.dash-hbar-grid-row{display:flex;align-items:flex-end;height:20px;margin-bottom:4px;flex-shrink:0}.dash-hbar-x-ticks{flex:1;position:relative;height:100%}.dash-hbar-x-tick{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.dash-hbar-x-tick:after{content:"";display:block;width:1px;height:4px;background:#e5e7eb;margin-top:2px}.dash-hbar-x-tick-label{font-size:10px;font-weight:500;color:#9ca3af;line-height:1}.dash-hbar-row{display:flex;align-items:center;gap:8px;flex-shrink:0}.dash-hbar-label-col{width:140px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end}.dash-hbar-label{font-size:11px;font-weight:500;color:var(--text-secondary, #4B5563);overflow:hidden;text-overflow:ellipsis;max-width:138px;text-align:right;line-height:1.3}.dash-hbar-label--stacked{display:flex;flex-direction:column;align-items:flex-end;gap:1px;white-space:normal;text-overflow:clip}.dash-hbar-label-primary{font-size:11px;font-weight:500;color:var(--text-secondary, #4B5563);line-height:1.3;max-width:138px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-hbar-label-secondary{font-size:10px;font-weight:400;color:var(--text-tertiary, #9CA3AF);line-height:1.2;max-width:138px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-hbar-track-col{flex:1;display:flex;align-items:center;gap:6px;min-width:0}.dash-hbar-track{flex:1;background:#f3f4f6;border-radius:4px;overflow:hidden;position:relative}.dash-hbar-value{font-size:11px;font-weight:700;color:var(--text-primary);white-space:nowrap;flex-shrink:0}.dash-widget-body:has(.dash-widget-hbar){padding:0;align-items:stretch}.dash-widget-station-funnel{width:100%;height:100%;display:flex;flex-direction:column;padding:14px 16px 12px;gap:10px;overflow:hidden}.dash-widget-body:has(.dash-widget-station-funnel){padding:0;align-items:stretch}.dash-funnel-summary{display:flex;align-items:baseline;gap:10px;flex-shrink:0;flex-wrap:wrap}.dash-funnel-summary-pct{font-size:22px;font-weight:700;color:var(--text-primary, #111827);line-height:1}.dash-funnel-summary-label{font-size:11px;color:var(--text-secondary, #6B7280);font-weight:500}.dash-funnel-legend{margin-left:auto;display:flex;gap:12px;align-items:center}.dash-funnel-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary, #4B5563);font-weight:500}.dash-funnel-legend-swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.dash-funnel-rows{flex:1 1 0;display:flex;flex-direction:column;justify-content:space-around;gap:6px;min-height:0;overflow:hidden}.dash-funnel-row{display:grid;grid-template-columns:110px 1fr 90px;align-items:center;gap:10px;min-height:24px}.dash-funnel-row-label{font-size:11px;font-weight:600;color:var(--text-secondary, #4B5563);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-funnel-row-track-wrap{display:flex;align-items:center;justify-content:center;min-width:0}.dash-funnel-row-track{display:flex;height:22px;border-radius:4px;overflow:hidden;min-width:30px;box-shadow:inset 0 0 0 1px #0000000a;transition:opacity .15s ease}.dash-funnel-row-fill{display:flex;align-items:center;justify-content:center;transition:width .3s ease;min-width:0}.dash-funnel-row-fill-label{font-size:10px;font-weight:700;color:#fff;line-height:1;padding:0 4px;white-space:nowrap}.dash-funnel-row-meta{display:flex;flex-direction:column;gap:1px;align-items:flex-start}.dash-funnel-row-meta-pct{font-size:12px;font-weight:700;color:var(--text-primary, #111827);line-height:1.1}.dash-funnel-row-meta-total{font-size:10px;font-weight:500;color:var(--text-tertiary, #9CA3AF);line-height:1.1}.dash-widget-sqft-day{width:100%;height:100%;display:flex;flex-direction:column;padding:14px 16px 10px;gap:10px;overflow:hidden}.dash-widget-body:has(.dash-widget-sqft-day){padding:0;align-items:stretch}.dash-sqft-summary{display:flex;gap:24px;flex-shrink:0}.dash-sqft-stat{display:flex;flex-direction:column;gap:2px}.dash-sqft-stat-value{font-size:18px;font-weight:700;color:var(--text-primary, #111827);line-height:1.1}.dash-sqft-stat-label{font-size:10px;font-weight:500;color:var(--text-tertiary, #9CA3AF);text-transform:uppercase;letter-spacing:.4px}.dash-sqft-chart{flex:1 1 0;display:flex;align-items:stretch;gap:8px;min-height:0;overflow:hidden}.dash-sqft-y-axis{width:42px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding-bottom:20px;flex-shrink:0}.dash-sqft-y-tick-label{font-size:10px;font-weight:500;color:var(--text-tertiary, #9CA3AF);line-height:1}.dash-sqft-plot{flex:1;position:relative;min-width:0;display:flex;flex-direction:column}.dash-sqft-grid{position:absolute;inset:0 0 20px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.dash-sqft-grid-line{height:1px;background:#f3f4f6}.dash-sqft-bars{flex:1;display:flex;align-items:flex-end;gap:2px;position:relative;z-index:1}.dash-sqft-bar-col{flex:1 1 0;height:100%;display:flex;align-items:flex-end;justify-content:center;min-width:0}.dash-sqft-bar{width:80%;max-width:32px;border-radius:2px 2px 0 0;transition:opacity .15s ease}.dash-sqft-x-axis{height:20px;display:flex;gap:2px;flex-shrink:0;align-items:flex-start;padding-top:4px}.dash-sqft-x-tick{flex:1 1 0;text-align:center;min-width:0}.dash-sqft-x-tick-label{font-size:10px;font-weight:500;color:var(--text-tertiary, #9CA3AF);white-space:nowrap}.app.gantt-mode .project-row.expanded{align-items:center;border-bottom-color:#f0f1f4}.project-summary-header-sticky{position:absolute;pointer-events:none;z-index:4;overflow:visible}.project-summary-header{position:sticky;left:8px;display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:14px;white-space:nowrap;color:var(--text-primary);width:max-content}.project-summary-header-sticky.selected .project-summary-header{color:var(--accent);font-weight:600}.project-summary-header-name{font-weight:600;color:var(--text-primary)}.project-summary-header-range,.project-summary-header-days{font-weight:500;color:var(--text-secondary)}.project-summary-header-sep{color:var(--text-secondary);opacity:.6;font-size:9px}.project-summary-line{position:absolute;background:#49bf558c;border-radius:2px;z-index:3;cursor:grab;transition:opacity .15s ease,height .15s ease,background .15s ease}.project-summary-line.draft{background:#94a3b88c}.project-summary-line:hover{background:#49bf55d9;box-shadow:0 1px 4px #49bf554d}.project-summary-line.draft:hover{background:#94a3b8d9;box-shadow:0 1px 4px #94a3b84d}.project-summary-line:active{cursor:grabbing}.project-summary-line.selected{z-index:5;box-shadow:0 0 0 3px #2563eb2e,0 1px 4px #2563eb38}.lane-bar{position:absolute;border-radius:2px;cursor:pointer;z-index:4;overflow:hidden;isolation:isolate;transition:filter .15s ease,box-shadow .15s ease;box-sizing:border-box;-webkit-user-select:none;user-select:none;transform-origin:center}.lane-bar.fresh{animation:lane-bar-bubble-in .32s ease-out both}@keyframes lane-bar-bubble-in{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.14)}80%{transform:scale(.97)}to{opacity:1;transform:scale(1)}}.lane-bar.exiting{animation:lane-bar-bubble-out .22s cubic-bezier(.55,0,.86,.5) both;pointer-events:none;z-index:6}@keyframes lane-bar-bubble-out{0%{opacity:1;transform:scale(1)}25%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(.3)}}.lane-bar.selected{z-index:7;outline:2px solid var(--accent)!important;outline-offset:0!important;box-shadow:none}.lane-bar.dragging{opacity:.78;z-index:8;box-shadow:0 4px 12px #0000002e,0 0 0 1px #2563eb73;transition:none}.lane-bar:not(.tentative):not(.locked){outline:0;outline-offset:0;box-shadow:none;border:2px solid var(--lane-outline-color, #B7CFF4);box-sizing:content-box}.lane-bar.blue:not(.tentative):not(.locked){--lane-outline-color: #B7CFF4}.lane-bar.purple:not(.tentative):not(.locked){--lane-outline-color: #E6BCFF}.lane-bar.site:not(.tentative):not(.locked){--lane-outline-color: #E6BCFF}.lane-bar.custom:not(.tentative):not(.locked){--lane-outline-color: #DBDFE4}.lane-bar.green:not(.tentative):not(.locked){--lane-outline-color: #B5E7BA}.lane-bar.cyan:not(.tentative):not(.locked){--lane-outline-color: #B0DFD2}.lane-bar.red:not(.tentative):not(.locked){--lane-outline-color: #FFCFAF}.lane-bar-text-sticky{position:absolute;pointer-events:none;z-index:5;overflow:visible}.lane-bar-text-overlay{position:sticky;left:0;display:flex;flex-direction:row;align-items:center;gap:3px;justify-content:flex-start;padding:4px 6px;font-size:11px;font-weight:600;color:#1f2937;white-space:nowrap;line-height:1.15;box-sizing:border-box;height:100%;width:max-content}.lane-bar-text-sticky.stacked .lane-bar-text-overlay{line-height:1.1}.lane-bar-label-crew{font-weight:500;font-size:10.5px;opacity:.8}.lane-bar-crew-dots{display:inline-flex;align-items:center;gap:0;line-height:1}.lane-bar-crew-dot+.lane-bar-crew-dot,.lane-bar-crew-dot+.lane-bar-subtask-diamond,.lane-bar-subtask-diamond+.lane-bar-crew-dot{margin-left:-3px}.lane-bar-crew-dot{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px #ffffffbf}.lane-bar-subtask-diamond{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;flex-shrink:0;pointer-events:auto}.lane-bar-subtask-diamond .diamond-icon{width:100%;height:100%;fill:#fef3c7;stroke:#f59e0b;stroke-width:1.8;filter:drop-shadow(0 0 1px rgba(245,158,11,.35))}.lane-bar-subtask-diamond.completed .diamond-icon{fill:#dbf2dd;stroke:#49bf55}.lane-bar-text-sticky.selected{z-index:8}.lane-bar-text-sticky.selected .lane-bar-text-overlay{font-weight:700}.lane-bar-text-overlay.blue{color:#1e3a8a}.lane-bar-text-overlay.purple{color:#6b21a8}.lane-bar-text-overlay.site{color:#560f7f}.lane-bar-text-overlay.custom{color:#334055}.lane-bar-text-overlay.green{color:#166534}.lane-bar-text-overlay.cyan{color:#155e63}.lane-bar-text-overlay.red{color:#92400e}.lane-bar-text-overlay.tentative{color:var(--text-secondary)}.lane-bar:hover{box-shadow:0 2px 6px #0f172a1f}.lane-bar:active{cursor:grabbing}.lane-bar.blue{background:#b7cff4}.lane-bar.purple,.lane-bar.site{background:#e6bcff}.lane-bar.custom{background:#dbdfe4}.lane-bar.green{background:#b5e7ba}.lane-bar.cyan{background:#b0dfd2}.lane-bar.red{background:#ffcfaf}.lane-bar.blue{color:#1e3a8a}.lane-bar.purple{color:#6b21a8}.lane-bar.site{color:#560f7f}.lane-bar.custom{color:#334055}.lane-bar.green{color:#166534}.lane-bar.cyan{color:#155e63}.lane-bar.red{color:#92400e}.lane-bar.locked{background:#d1d5db;color:#1f2937;cursor:default;box-shadow:inset 0 0 0 1px #1f29372e}.lane-bar.tentative{background:#dde3eb;outline:0;outline-offset:0;box-shadow:none;border:2px solid #DDE3EB;box-sizing:content-box;color:var(--text-secondary)}.lane-bar.tentative .lane-bar-day-cell{background:#dde3eb!important}.lane-bar-day-cell{position:absolute;top:0;bottom:0;pointer-events:none;z-index:1}.lane-bar-day-cell.blue{background:#b7cff4}.lane-bar-day-cell.purple,.lane-bar-day-cell.site{background:#e6bcff}.lane-bar-day-cell.custom{background:#dbdfe4}.lane-bar-day-cell.green{background:#b5e7ba}.lane-bar-day-cell.cyan{background:#b0dfd2}.lane-bar-day-cell.red{background:#ffcfaf}.lane-bar-label{font-weight:600;white-space:nowrap}.lane-bar-resize-handle{position:absolute;top:2px;bottom:2px;width:8px;cursor:ew-resize;z-index:5;opacity:0;transition:opacity .12s ease;display:flex;align-items:center;justify-content:center;pointer-events:none}.lane-bar-resize-handle.left{left:0}.lane-bar-resize-handle.right{right:0}.lane-bar-resize-handle:before{content:"";width:2px;height:60%;border-radius:1px;background:#1f29378c}.lane-bar:hover .lane-bar-resize-handle{opacity:1;pointer-events:auto}.lane-bar.tentative .lane-bar-resize-handle:before{background:#64748b99}.milestone-nonworking-overlay{display:none}.gantt-mode .milestone-nonworking-overlay,.gantt-mode .gantt-subrow .lane-bar .milestone-nonworking-overlay{position:absolute;display:block;top:0;bottom:0;pointer-events:none;z-index:1;background-color:#fff;background-image:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(148,163,184,.15) 3px,rgba(148,163,184,.15) 6px);background-position:0 -4px}.milestone-overtime-overlay{display:none}.gantt-mode .milestone-overtime-overlay,.gantt-mode .gantt-subrow .lane-bar .milestone-overtime-overlay{position:absolute;display:block;top:0;bottom:0;pointer-events:none;z-index:2;background-color:#fbd29a;background-image:none;border-left:1px solid rgba(180,83,9,.48);border-right:1px solid rgba(180,83,9,.48)}.gantt-mode .conflict-badge{display:none!important}.header-settings-section-divider{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);display:flex;align-items:center}.header-settings-section-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.header-settings-section-divider+.header-settings-row{margin-top:10px;padding-top:0;border-top:none}.header-settings-row-stack{flex-direction:column;align-items:stretch;gap:10px}.header-settings-subrow{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.header-settings-sublabel{font-size:11px;font-weight:600;color:var(--text-secondary)}.header-settings-segmented{display:inline-flex;align-self:flex-start;padding:2px;background:var(--bg-secondary, var(--border));border:1px solid var(--border);border-radius:8px;gap:2px}.header-settings-segmented-button:hover:not(.active){color:var(--text-primary)}.header-settings-segmented-button.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 2px #0f172a14}.production-pill.complete{background:#10b98126;border-color:#10b98199;color:#065f46}.production-cell.empty{color:#0f172a40;font-weight:500}.lane-bar-text-overlay.has-cells{background:transparent!important;pointer-events:none}.milestone-panel-v2{position:fixed;top:var(--header-height);right:0;bottom:0;width:380px;background:var(--bg-primary);border-left:1px solid var(--border);box-shadow:-12px 0 32px #0f172a14;display:flex;flex-direction:column;z-index:60;overflow:hidden}.milestone-panel-v2-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);gap:8px;min-height:44px}.milestone-panel-v2-breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.milestone-panel-v2-project{font-weight:500;color:var(--text-secondary)}.milestone-panel-v2-divider{color:var(--border)}.milestone-panel-v2-name{font-weight:600;color:var(--text-primary)}.milestone-panel-v2-close{appearance:none;border:none;background:transparent;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:background .12s ease}.milestone-panel-v2-close:hover{background:#0f172a0f;color:var(--text-primary)}.milestone-panel-v2-title-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;gap:10px;border-bottom:1px solid var(--border-light)}.block-panel-production-actions{display:inline-flex;align-items:center;gap:4px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.block-panel-production-actions .block-panel-edit-production-btn,.block-panel-production-actions .block-panel-edit-production-btn:hover{color:#111827}.block-panel-production-property:hover .block-panel-edit-production-btn,.block-panel-production-property:focus-within .block-panel-edit-production-btn{opacity:1}.milestone-panel-v2-title{margin:0;font-size:16px;font-weight:600;line-height:1.25;color:var(--text-primary);flex:1;min-width:0}.milestone-panel-v2-classification{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:2px;border:1px solid transparent;flex-shrink:0}.milestone-panel-v2-classification.factory{background:#2563eb1a;color:#1d4ed8;border-color:#2563eb33}.milestone-panel-v2-classification.site{background:#9333ea1a;color:#6b21a8;border-color:#9333ea38}.milestone-panel-v2-classification{appearance:none;cursor:pointer;font-family:inherit;transition:filter .12s ease,opacity .12s ease}.milestone-panel-v2-classification:hover:not(:disabled){filter:brightness(.95)}.milestone-panel-v2-classification:disabled{cursor:default}.milestone-panel-v2-classification-wrap{position:relative;display:inline-flex}.milestone-panel-v2-classification-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:80;min-width:120px;background:var(--bg-primary);border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:2px;box-shadow:0 8px 24px #0f172a24;padding:4px;display:flex;flex-direction:column;gap:2px}.milestone-panel-v2-classification-option{appearance:none;text-align:left;padding:6px 8px;border:none;background:transparent;font-size:12px;font-weight:500;color:var(--text-primary);border-radius:2px;cursor:pointer}.milestone-panel-v2-classification-option:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.milestone-panel-v2-classification-option.active.factory{color:#1d4ed8}.milestone-panel-v2-classification-option.active.site{color:#6b21a8}.milestone-panel-v2-properties{display:flex;flex-direction:column;padding:8px 0;flex:1;overflow-y:auto}.milestone-panel-v2-property{display:grid;grid-template-columns:110px 1fr;align-items:center;column-gap:12px;padding:6px 16px;position:relative}.milestone-panel-v2-property+.milestone-panel-v2-property{border-top:1px solid var(--border-light)}.milestone-panel-v2-property-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--text-muted)}.milestone-panel-v2-property-label svg{flex-shrink:0;opacity:.65}.milestone-panel-v2-property-button{appearance:none;border:1px solid var(--border);background:var(--bg-primary);display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;justify-self:start;transition:background .12s ease,border-color .12s ease}.milestone-panel-v2-property-button:hover{border-color:#0f172a33;background:var(--bg-secondary, #F8FAFC)}.milestone-panel-v2-property-meta{font-size:12px;font-weight:500;color:var(--text-muted);margin-left:4px}.milestone-panel-v2-property-empty{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;background:var(--bg-secondary, #F1F5F9);font-size:12px;font-weight:500;color:var(--text-muted)}.milestone-panel-v2-popover{position:absolute;top:calc(100% - 4px);left:122px;right:16px;z-index:70;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px #0f172a29;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:220px}.milestone-panel-v2-popover.crew-popover{left:auto;right:16px;min-width:220px;max-height:320px;display:flex;flex-direction:column;overflow:hidden;padding:6px}.milestone-panel-v2-popover-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-secondary)}.milestone-panel-v2-popover-row>span{font-weight:500}.milestone-panel-v2-popover-row input[type=date]{flex:1;height:28px;padding:0 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-primary);background:var(--bg-primary);outline:none}.milestone-panel-v2-popover-row input[type=date]:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb2e}.milestone-panel-v2-popover-hint{margin:4px 0 0;font-size:11px;color:var(--text-muted);line-height:1.4}.milestone-panel-v2-popover-empty{padding:12px;font-size:12px;color:var(--text-muted);text-align:center}.milestone-panel-v2-stepper{display:inline-flex;align-items:center;gap:4px}.milestone-panel-v2-stepper button{width:22px;height:22px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);font-size:12px;cursor:pointer}.milestone-panel-v2-stepper button:hover{background:#0f172a0f}.milestone-panel-v2-stepper span{min-width:24px;text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.milestone-panel-v2-crew-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.milestone-panel-v2-crew-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 8px;background:#2563eb14;color:#1d4ed8;border:1px solid rgba(37,99,235,.2);border-radius:2px;font-size:12px;font-weight:500}.milestone-panel-v2-crew-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:none;background:#2563eb33;color:#1d4ed8;cursor:pointer}.milestone-panel-v2-crew-chip-remove:hover{background:#2563eb59}.milestone-panel-v2-crew-menu-wrapper{position:relative}.milestone-panel-v2-crew-add{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px dashed var(--border);border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.milestone-panel-v2-crew-add:hover{border-color:var(--accent);color:var(--accent);border-style:solid}.milestone-panel-v2-crew-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 10px;border:none;background:transparent;font-size:13px;text-align:left;border-radius:4px;cursor:pointer;color:var(--text-primary)}.milestone-panel-v2-crew-option:hover{background:#0f172a0d}.milestone-panel-v2-crew-option.assigned{color:#1d4ed8;font-weight:500}.milestone-panel-v2-crew-check{color:#1d4ed8;font-weight:700}.milestone-panel-v2-lock-button{appearance:none;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;justify-self:start}.milestone-panel-v2-lock-button.on{background:#f59e0b1f;border-color:#f59e0b66;color:#92400e}.milestone-panel-v2-footer{border-top:1px solid var(--border);padding:12px 16px;display:flex;flex-direction:column;gap:8px;background:var(--bg-primary)}.milestone-panel-v2-unschedule{appearance:none;background:transparent;border:1px solid rgba(220,38,38,.3);color:#b91c1c;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.milestone-panel-v2-unschedule:hover{background:#dc262614}.milestone-panel-v2-footer-hint{font-size:11px;color:var(--text-muted);line-height:1.4}.milestone-panel-v2-property.is-collapsible.expanded{align-items:flex-start;padding-bottom:12px}.milestone-panel-v2-property-detail{grid-column:1 / -1;margin-top:8px;padding:10px 12px;background:var(--bg-secondary, rgba(15, 23, 42, .03));border-radius:6px}.milestone-panel-v2-caret{transition:transform .12s ease}.milestone-panel-v2-caret.open{transform:rotate(180deg)}.milestone-panel-v2-property.is-section{grid-template-columns:1fr;padding:16px 16px 6px}.milestone-panel-v2-section-header{display:flex;align-items:center;gap:6px;padding:0}.milestone-panel-v2-section-toggle{appearance:none;background:transparent;border:none;display:inline-flex;align-items:center;gap:6px;padding:0;font-size:12px;font-weight:500;color:var(--text-muted);cursor:pointer;flex:1}.milestone-panel-v2-section-title{font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-muted)}.milestone-panel-v2-section-progress{flex:1;max-width:60px;height:4px;background:#0f172a14;border-radius:2px;overflow:hidden;margin-left:4px}.milestone-panel-v2-section-progress-bar{display:block;height:100%;background:#0f172a59;transition:width .18s ease}.milestone-panel-v2-section-count{font-size:12px;font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.milestone-panel-v2-subtask-due-input{width:100%;border:1px solid transparent;background:transparent;font:inherit;font-size:11px;color:var(--text-secondary);padding:2px 4px;border-radius:4px;cursor:pointer;font-variant-numeric:tabular-nums}.milestone-panel-v2-subtask-due-input:hover{border-color:var(--border);background:var(--bg-primary)}.milestone-panel-v2-subtask-due-input:focus{outline:none;border-color:var(--accent);background:var(--bg-primary)}.milestone-panel-v2-subtask-due-input:not(.has-value)::-webkit-datetime-edit{color:var(--border)}.milestone-panel-v2-block-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.milestone-panel-v2-block-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);font-size:12px;cursor:grab;transition:border-color .12s ease,background .12s ease}.milestone-panel-v2-block-row:hover{border-color:#0f172a33;background:var(--bg-secondary, #F8FAFC)}.milestone-panel-v2-block-row.is-dragging{opacity:.55;border-color:var(--accent);cursor:grabbing}.milestone-panel-v2-block-date{flex:1;font-weight:500;color:var(--text-primary);font-variant-numeric:tabular-nums}.milestone-panel-v2-block-qty{font-size:11px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.milestone-panel-v2-block-crews{font-size:11px;color:var(--text-muted)}.milestone-panel-v2-block-delete{appearance:none;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.milestone-panel-v2-block-row:hover .milestone-panel-v2-block-delete{opacity:1}.milestone-panel-v2-block-delete:hover{background:var(--bg-hover, rgba(15, 23, 42, .06));color:var(--text-primary)}.milestone-panel-v2-block-hint{margin:6px 2px 0;font-size:11px;color:var(--text-muted)}.milestone-panel-v2-merge-toast{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 16px 8px;padding:10px 14px;background:#0f172a;color:#fff;border-radius:8px;font-size:12px;box-shadow:0 8px 20px #0f172a2e}.milestone-panel-v2-merge-toast strong{font-weight:600}.milestone-panel-v2-merge-toast button{appearance:none;background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer}.milestone-panel-v2-merge-toast button:hover{background:#ffffff1f}.milestone-panel-v2-section-body{margin-top:6px}.milestone-panel-v2-subtask-table{width:100%;border-collapse:collapse;font-size:12px;color:var(--text-primary)}.milestone-panel-v2-subtask-table thead th{font-size:10px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);text-align:left;padding:4px 6px;border-bottom:1px solid var(--border-light)}.milestone-panel-v2-subtask-table .col-done{width:24px}.milestone-panel-v2-subtask-table .col-due{width:64px;white-space:nowrap}.milestone-panel-v2-subtask-table .col-actions{width:24px}.milestone-panel-v2-subtask-table tbody td{padding:8px 6px;border-bottom:1px solid var(--border-light);vertical-align:middle}.milestone-panel-v2-subtask-row.completed .col-name{color:var(--text-muted);text-decoration:line-through}.milestone-panel-v2-subtask-check{width:16px;height:16px;border:1.5px solid var(--border);border-radius:4px;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;flex-shrink:0}.milestone-panel-v2-subtask-check.on{background:var(--accent, rgb(37, 99, 235));border-color:var(--accent, rgb(37, 99, 235))}.milestone-panel-v2-subtask-check.ghost{border-style:dashed;border-color:var(--border-light);cursor:default;opacity:.6}.milestone-panel-v2-subtask-due{font-variant-numeric:tabular-nums;font-size:11px;color:var(--text-secondary)}.milestone-panel-v2-subtask-due-empty{color:var(--border)}.milestone-panel-v2-subtask-delete{appearance:none;border:none;background:transparent;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px;opacity:0;transition:opacity .12s ease,background .12s ease}.milestone-panel-v2-subtask-row:hover .milestone-panel-v2-subtask-delete{opacity:1}.milestone-panel-v2-subtask-delete:hover{background:#dc26261a;color:#b91c1c}.milestone-panel-v2-subtask-addrow{padding:4px 0}button.milestone-panel-v2-subtask-addrow{display:block;width:100%;text-align:left;padding:6px;border:1px dashed transparent;border-radius:4px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}button.milestone-panel-v2-subtask-addrow:hover{border-color:var(--border);color:var(--text-primary)}.milestone-panel-v2-subtask-addrow-tr td{border-bottom:none!important;background:transparent}.milestone-panel-v2-subtask-cell-input{width:100%;height:26px;padding:0 6px;border:1px dashed transparent;border-radius:4px;font-size:12px;color:var(--text-primary);background:transparent;outline:none;transition:border-color .12s ease,background .12s ease}.milestone-panel-v2-subtask-cell-input::placeholder{color:var(--text-muted);font-weight:500}.milestone-panel-v2-subtask-cell-input:hover{border-color:var(--border)}.milestone-panel-v2-subtask-cell-input:focus{border-color:var(--accent);border-style:solid;background:var(--bg-primary)}.working-days-detail{padding:4px 8px}.milestone-panel-v2-production-row{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.milestone-panel-v2-production-cell{height:26px;padding:0 8px;border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:2px;background:var(--bg-primary);font-size:12px;font-weight:500;color:var(--text-primary);outline:none;font-variant-numeric:tabular-nums}.milestone-panel-v2-production-cell:focus{border-color:var(--accent, #2563EB);box-shadow:0 0 0 2px #2563eb29}.milestone-panel-v2-production-cell.num{width:52px;text-align:right}.milestone-panel-v2-production-cell.uom{width:44px;text-align:center;text-transform:uppercase;font-weight:700}.milestone-panel-v2-production-cell.type{flex:1;min-width:90px;font-weight:400}.milestone-panel-v2-production-slash{color:var(--text-muted);font-size:12px;-webkit-user-select:none;user-select:none}.milestone-panel-v2-production-input{width:56px;height:26px;padding:0 6px;border:1px solid var(--border);border-radius:4px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;background:var(--bg-primary);color:var(--text-primary);outline:none}.milestone-panel-v2-production-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb26}.milestone-panel-v2-production-total{font-size:12px;font-weight:500;color:var(--text-muted);font-variant-numeric:tabular-nums}.milestone-panel-v2-production-code{font-size:12px;font-weight:700;color:var(--accent, rgb(37, 99, 235));letter-spacing:.04em}.milestone-panel-v2-production-type{font-size:11px;color:var(--text-muted);margin-left:4px}.milestone-panel-v2-property.is-property-stack{grid-template-columns:1fr;align-items:stretch}.milestone-panel-v2-property-line{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:center}.milestone-panel-v2-daily-allocation{margin-top:8px;padding:8px 10px;background:#0f172a08;border-radius:6px}.milestone-panel-v2-daily-allocation-label{display:block;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.milestone-panel-v2-daily-allocation-grid{display:flex;flex-direction:column;gap:4px}.milestone-panel-v2-daily-allocation-cell{display:grid;grid-template-columns:1fr 56px 20px;align-items:center;gap:6px}.milestone-panel-v2-daily-allocation-day{font-size:12px;color:var(--text-secondary)}.milestone-panel-v2-daily-allocation-input{height:24px;padding:0 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;font-variant-numeric:tabular-nums;text-align:right;background:var(--bg-primary);color:var(--text-primary);outline:none}.milestone-panel-v2-daily-allocation-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb26}.milestone-panel-v2-daily-allocation-code{font-size:10px;font-weight:700;color:var(--accent);letter-spacing:.04em}.milestone-panel-v2-overlay{position:fixed;inset:0;background:transparent;z-index:59}.milestone-panel-v2.create{z-index:61}.milestone-panel-v2-milestone-selector{position:relative;flex:1;min-width:0}.milestone-panel-v2-milestone-selector-button{appearance:none;width:100%;border:1px solid var(--border);background:var(--bg-primary);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:600;color:var(--text-primary);cursor:pointer}.milestone-panel-v2-milestone-selector-button:hover{border-color:#2563eb66}.milestone-panel-v2-milestone-title{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.milestone-panel-v2-milestone-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:65;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px #0f172a29;max-height:320px;display:flex;flex-direction:column;overflow:hidden}.milestone-panel-v2-milestone-search{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border-light);color:var(--text-muted)}.milestone-panel-v2-milestone-search input{flex:1;border:none;background:transparent;font-size:13px;color:var(--text-primary);outline:none}.milestone-panel-v2-milestone-list{flex:1;overflow-y:auto;padding:4px}.milestone-panel-v2-milestone-option{appearance:none;width:100%;border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:4px;font-size:13px;color:var(--text-primary);cursor:pointer;text-align:left}.milestone-panel-v2-milestone-option:hover{background:#0f172a0d}.milestone-panel-v2-milestone-option.selected{background:#2563eb14;color:#1d4ed8;font-weight:500}.milestone-panel-v2-milestone-tag{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:#0f172a0f;border-radius:2px;padding:2px 8px}.milestone-panel-v2-milestone-empty{padding:12px;font-size:12px;color:var(--text-muted);text-align:center}.milestone-panel-v2-cancel{appearance:none;background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;flex:1}.milestone-panel-v2-cancel:hover{background:#0f172a0a}.milestone-panel-v2-schedule{appearance:none;background:var(--accent, rgb(37, 99, 235));border:1px solid var(--accent, rgb(37, 99, 235));color:#fff;padding:8px 20px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;flex:1}.milestone-panel-v2-schedule:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.milestone-panel-v2-schedule:disabled{opacity:.4;cursor:not-allowed}.milestone-panel-v2.create .milestone-panel-v2-footer{flex-direction:row;gap:8px}.add-to-schedule-trigger{border-color:var(--accent, #2563EB);background:var(--accent, #2563EB);color:#fff}.add-to-schedule-trigger:hover:not(:disabled){filter:brightness(.94);background:var(--accent, #2563EB);border-color:var(--accent, #2563EB);color:#fff}.add-to-schedule-trigger:disabled{opacity:.45;cursor:not-allowed}.add-to-schedule-trigger>span{display:none}.schedule-empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin:24px 16px;padding:24px 16px;border:1px dashed var(--border);border-radius:8px;background:var(--bg-secondary)}.schedule-empty-title{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.schedule-empty-hint{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.4}.schedule-empty-cta{margin-top:4px;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border:none;background:var(--accent, #2563eb);color:#fff;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:filter .12s ease}.schedule-empty-cta:hover{filter:brightness(.96)}.add-to-schedule-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:100}.add-to-schedule-modal{width:560px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;box-shadow:0 24px 64px #0f172a33;overflow:hidden}.add-to-schedule-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border)}.add-to-schedule-back,.add-to-schedule-close{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--text-secondary);border-radius:4px;cursor:pointer}.add-to-schedule-back:hover,.add-to-schedule-close:hover{background:var(--bg-hover, rgba(0, 0, 0, .05));color:var(--text-primary)}.add-to-schedule-titles{flex:1;min-width:0}.add-to-schedule-title{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.add-to-schedule-hint{margin:2px 0 0;font-size:12px;color:var(--text-secondary)}.add-to-schedule-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border)}.add-to-schedule-search{display:inline-flex;align-items:center;gap:6px;flex:1;min-width:0;color:var(--text-secondary)}.add-to-schedule-search input{flex:1;height:28px;padding:0;border:none;background:transparent;font-size:13px;color:var(--text-primary);outline:none}.add-to-schedule-search input::placeholder{color:var(--text-secondary)}.add-to-schedule-type-filter{position:relative;display:inline-flex;align-items:center}.add-to-schedule-type-btn{display:inline-flex;align-items:center;gap:4px;height:28px;min-width:28px;padding:0 8px;border:1px solid var(--border);background:var(--bg-primary);border-radius:2px;color:var(--text-secondary);cursor:pointer;font-size:12px}.add-to-schedule-type-btn.active{border-color:var(--accent, #2563EB);color:var(--accent, #2563EB)}.add-to-schedule-type-btn:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.add-to-schedule-type-label{font-weight:500}.add-to-schedule-type-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;padding:4px;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0f172a1f;z-index:10;display:flex;flex-direction:column;gap:2px}.add-to-schedule-type-option{text-align:left;padding:6px 8px;border:none;background:transparent;font-size:12px;color:var(--text-primary);border-radius:4px;cursor:pointer}.add-to-schedule-type-option:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.add-to-schedule-type-option.active{color:var(--accent, #2563EB);font-weight:500}.add-to-schedule-select-all{display:flex;align-items:center;gap:12px;width:100%;height:30px;padding:0 16px;border:none;border-bottom:1px solid var(--border);background:transparent;font-size:12px;font-weight:500;color:var(--text-secondary);text-align:left;cursor:pointer}.add-to-schedule-select-all:hover{background:var(--bg-hover, rgba(0, 0, 0, .03))}.add-to-schedule-row-type{font-size:11px;font-weight:500;padding:2px 8px;border-radius:2px;background:var(--bg-secondary);color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.add-to-schedule-list{flex:1;overflow-y:auto;min-height:400px;max-height:380px;padding:6px}.add-to-schedule-empty{padding:24px 16px;text-align:center;font-size:13px;color:var(--text-secondary)}.add-to-schedule-row{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border:none;background:transparent;border-radius:6px;text-align:left;cursor:pointer;transition:background .1s ease}.add-to-schedule-row:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.add-to-schedule-row.selected{background:#2563eb14}.add-to-schedule-checkbox{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.5px solid var(--border);border-radius:3px;background:var(--bg-primary);color:#fff;flex-shrink:0}.add-to-schedule-checkbox.checked{background:var(--accent, #2563eb);border-color:var(--accent, #2563eb)}.add-to-schedule-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.add-to-schedule-row-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-to-schedule-row-meta{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-to-schedule-row-status{font-size:11px;font-weight:500;padding:2px 8px;border-radius:2px;background:var(--bg-secondary);color:var(--text-secondary);text-transform:capitalize;white-space:nowrap;flex-shrink:0}.add-to-schedule-template-list .add-to-schedule-template-row{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border:1px solid var(--border);background:var(--bg-primary);border-radius:6px;text-align:left;cursor:pointer;margin-bottom:6px;transition:border-color .12s ease,background .12s ease}.add-to-schedule-template-list .add-to-schedule-template-row:hover{border-color:var(--accent, #2563eb);background:#2563eb0a}.add-to-schedule-template-name{font-size:13px;font-weight:600;color:var(--text-primary)}.add-to-schedule-template-desc{font-size:12px;color:var(--text-secondary)}.add-to-schedule-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-secondary)}.add-to-schedule-secondary,.add-to-schedule-primary{height:32px;padding:0 14px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:filter .12s ease,background .12s ease}.add-to-schedule-secondary{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary)}.add-to-schedule-secondary:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.add-to-schedule-primary{border:none;background:var(--accent, #2563eb);color:#fff}.add-to-schedule-primary:hover:not(:disabled){filter:brightness(.96)}.add-to-schedule-primary:disabled{opacity:.45;cursor:not-allowed}.project-search-expanded{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 4px 0 8px;border:1px solid var(--border, rgba(15, 23, 42, .12));border-radius:var(--radius-sm);background:var(--bg-primary, #FFFFFF);color:var(--text-secondary);box-shadow:0 0 0 2px #2563eb29}.project-search-input{width:160px;height:22px;border:none;background:transparent;font-size:12px;color:var(--text-primary);outline:none;padding:0}.project-search-input::placeholder{color:var(--text-secondary)}.project-search-clear{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;color:var(--text-secondary);border-radius:3px;cursor:pointer;transition:background .1s ease}.project-search-clear:hover{background:var(--bg-hover, rgba(0, 0, 0, .06));color:var(--text-primary)}.crew-list-filter-section>label.crew-list-filter-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280;margin-bottom:0;padding:0}.crew-list-filter-toggle{position:relative;width:30px;height:18px;flex-shrink:0;padding:0;border:none;border-radius:999px;background:var(--border, rgba(15, 23, 42, .18));cursor:pointer;transition:background .15s ease}.crew-list-filter-toggle.on{background:var(--accent, #2563EB)}.crew-list-filter-toggle-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 1px 2px #0000002e;transition:transform .15s ease}.crew-list-filter-toggle.on .crew-list-filter-toggle-thumb{transform:translate(12px)}.milestone-state-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;flex-shrink:0;margin-right:8px}.milestone-state-icon.unscheduled{border:1.5px dashed rgba(100,116,139,.55);background:transparent}.milestone-state-icon.scheduled{border:1.5px solid var(--accent, #2563EB);background:transparent}.milestone-state-icon.scheduled .milestone-state-icon-inner{width:6px;height:6px;border-radius:50%;background:var(--accent, #2563EB)}.milestone-state-icon.done{background:#16a34a;color:#fff}.milestone-crew-avatars{appearance:none;display:inline-flex;align-items:center;flex-shrink:0;padding:0 8px;border:0;background:transparent;cursor:pointer}.milestone-crew-avatars.is-readonly{cursor:default}.milestone-crew-avatars.is-empty{padding:0 8px}.milestone-crew-avatar{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;color:#fff;font-size:9px;font-weight:600;letter-spacing:.02em;box-shadow:0 0 0 2px var(--bg-primary, #FFFFFF)}.milestone-crew-avatar+.milestone-crew-avatar{margin-left:-6px}.milestone-crew-avatar.more{background:#0f172a8c;font-size:9px}.milestone-crew-add{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;padding:0;background:transparent;border:1.5px dashed rgba(100,116,139,.45);border-radius:50%;color:#64748bb3;cursor:pointer;opacity:0;transition:opacity .12s ease,border-color .12s ease,color .12s ease,background .12s ease}.milestone-subrow:hover .milestone-crew-add{opacity:1}.milestone-crew-add:hover{border-color:var(--accent, #2563EB);color:var(--accent, #2563EB);background:var(--blue-50, rgba(37, 99, 235, .08))}.milestone-subrow-production-wrap{position:relative;display:inline-flex;align-items:center;flex-shrink:0;margin-left:6px}.milestone-subrow-production{appearance:none;display:inline-flex;align-items:baseline;gap:4px;padding:1px 6px;border:1px solid rgba(15,23,42,.15)!important;border-radius:2px!important;background:var(--bg-secondary, #F1F5F9)!important;color:var(--text-primary)!important;font-size:11px;font-weight:500;line-height:16px;letter-spacing:0;white-space:nowrap;cursor:default;transition:background .12s ease,border-color .12s ease}.milestone-subrow-production-wrap.editable .milestone-subrow-production{cursor:pointer}.milestone-subrow-production-wrap.editable .milestone-subrow-production:hover{background:var(--bg-hover, rgba(15, 23, 42, .05));border-color:#0f172a47}.milestone-subrow-production-popover{z-index:60;display:flex;flex-direction:column;gap:6px;padding:10px;min-width:220px;background:var(--bg-primary);border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:4px;box-shadow:0 12px 32px #0f172a24}.milestone-subrow-production-popover-row{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:8px;font-size:11px;color:var(--text-secondary);font-weight:500}.milestone-subrow-production-popover-row input{height:26px;padding:0 8px;border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:2px;background:var(--bg-primary);font-size:12px;font-weight:500;color:var(--text-primary);outline:none}.milestone-subrow-production-popover-row input:focus{border-color:var(--accent, #2563EB);box-shadow:0 0 0 2px #2563eb29}.milestone-template-summary-pills{display:inline-flex;align-items:center;gap:4px;justify-self:end;flex-wrap:wrap;justify-content:flex-end}.milestone-template-subtask-pill{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-pill, 999px);padding:2px 8px;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;white-space:nowrap}.milestone-template-expanded{display:flex;flex-direction:column;gap:12px;padding:8px 12px 12px}.milestone-template-field-card{border:1px solid var(--border, rgba(15, 23, 42, .12));border-radius:2px;padding:8px 10px;background:var(--bg-primary);display:flex;flex-direction:column;gap:8px}.milestone-template-field-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.milestone-template-add-subtasks-btn{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 10px;border:1px dashed var(--border, rgba(15, 23, 42, .18));border-radius:var(--radius-md, 6px);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.milestone-template-add-subtasks-btn:hover{border-color:var(--accent, #2563eb);color:var(--accent, #2563eb);background:#2563eb0d}.milestone-template-row-menu-wrap{position:relative;display:inline-flex}.milestone-template-row-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:30;min-width:160px;background:var(--bg-primary);border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:4px;box-shadow:0 8px 24px #0f172a1f;padding:4px;display:flex;flex-direction:column;gap:2px}.milestone-template-row-menu-item{display:flex;align-items:center;gap:6px;padding:6px 8px;border:none;background:transparent;font-size:12px;font-weight:500;color:var(--text-primary);text-align:left;border-radius:2px;cursor:pointer}.milestone-template-row-menu-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.milestone-template-row-menu-item.danger{color:#b91c1c}.milestone-template-row-menu-item.danger:hover{background:#dc262614}.milestone-template-subtask-text{flex:1;font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.milestone-template-subtask-actions{display:inline-flex;align-items:center;gap:4px;opacity:0;transition:opacity .12s ease}.milestone-template-subtask-row:hover .milestone-template-subtask-actions{opacity:1}.milestone-panel-v2-block-crew-avatars{display:inline-flex;align-items:center}.milestone-panel-v2-block-crew-avatar{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;color:#fff;font-size:8px;font-weight:600;letter-spacing:.02em;box-shadow:0 0 0 2px var(--bg-primary, #FFFFFF)}.milestone-panel-v2-block-crew-avatar+.milestone-panel-v2-block-crew-avatar{margin-left:-5px}.milestone-panel-v2-block-crew-avatar.more{background:#0f172a8c}.milestone-panel-v2-block-crew-picker-wrap{position:relative;display:inline-flex;align-items:center}.milestone-panel-v2-block-crew-add{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;padding:0;background:transparent;border:1.5px dashed rgba(100,116,139,.45);border-radius:50%;color:#64748bb3;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.milestone-panel-v2-block-crew-add:hover{border-color:var(--accent, #2563EB);color:var(--accent, #2563EB)}.milestone-panel-v2-block-crew-picker-wrap>button.milestone-panel-v2-block-crew-avatars{background:transparent;border:none;padding:0;cursor:pointer}.milestone-panel-v2-block-crew-popover{position:absolute;top:calc(100% + 4px);right:0;z-index:40;width:220px;max-height:280px;display:flex;flex-direction:column;padding:8px;background:var(--bg-primary);border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:2px;box-shadow:0 12px 32px #0f172a29;overflow:hidden}.milestone-template-subtasks{display:flex;flex-direction:column;gap:6px}.milestone-template-subtask-empty{margin:0;font-size:12px;color:var(--text-muted);font-style:italic}.milestone-template-subtask-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.milestone-template-subtask-row{display:flex;align-items:center;gap:6px}.milestone-template-subtask-row input,.milestone-template-subtask-add input{flex:1;height:28px;font-size:12px}.milestone-template-subtask-add{display:flex;align-items:center;gap:6px;margin-top:4px}.milestone-subrow-production.complete{border-color:#16a34a73;background:#16a34a0f;color:var(--green-700, #15803D)}.milestone-subrow-production-uom{color:var(--text-secondary);font-weight:400;margin-left:1px}.milestone-subrow-label.scheduled{color:var(--text-primary)}.milestone-subrow-label.unscheduled{color:var(--text-secondary)}.milestone-subrow-label-input{height:22px;width:100%;max-width:200px;padding:0 6px;border:1px solid var(--accent, #2563EB);border-radius:2px;background:var(--bg-primary, #FFFFFF);font-size:13px;font-weight:500;color:var(--text-primary);outline:none}.milestone-panel-v2-crew-search{height:26px;padding:0 8px;border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:2px;background:var(--bg-primary);font-size:12px;color:var(--text-primary);outline:none}.milestone-panel-v2-crew-search:focus{border-color:var(--accent, #2563EB)}.milestone-panel-v2-crew-list{display:flex;flex-direction:column;margin-top:6px;overflow-y:auto;flex:1;min-height:60px}.project-type-tag{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid var(--border, rgba(15, 23, 42, .12));border-radius:2px;background:var(--bg-primary, #FFFFFF);color:var(--text-secondary);font-size:11px;font-weight:500;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}.milestone-panel-v2-property-button,.milestone-panel-v2-property-empty{font-size:12px;font-weight:500;border-radius:2px!important}.milestone-panel-v2-property-button,.milestone-panel-v2-property-empty{height:26px;padding:0 10px!important}.milestone-panel-v2-subtask-due-input{height:26px;padding:0 10px;border:1px solid var(--border, rgba(15, 23, 42, .14))!important;border-radius:2px!important;background:var(--bg-primary);font-size:12px;font-weight:500;color:var(--text-primary);outline:none;font-family:inherit}.milestone-panel-v2-subtask-due-input:hover{border-color:#0f172a33}.milestone-panel-v2-subtask-due-input:focus{border-color:var(--accent, #2563EB);box-shadow:0 0 0 2px #2563eb29}.milestone-panel-v2-block-row{padding:0 10px!important;height:26px;border-radius:2px!important}.milestone-panel-v2-subtask-row{height:26px}.milestone-panel-v2-subtask-row td{padding:0 4px}.milestone-panel-v2-add-field-row{position:relative;display:flex;align-items:center;padding:4px 16px 12px}.milestone-panel-v2-add-field{display:inline-flex;align-items:center;gap:6px;padding:4px 0;border:none;background:transparent;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:color .12s ease}.milestone-panel-v2-add-field:hover{color:var(--text-primary)}.milestone-panel-v2-add-field-menu{position:absolute;top:calc(100% - 4px);left:16px;z-index:30;min-width:160px;background:var(--bg-primary);border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:4px;box-shadow:0 8px 24px #0f172a24;padding:4px;display:flex;flex-direction:column;gap:2px}.milestone-panel-v2-add-field-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:transparent;font-size:12px;font-weight:500;color:var(--text-primary);text-align:left;border-radius:2px;cursor:pointer}.milestone-panel-v2-add-field-option:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.milestone-panel-v2-property .milestone-panel-v2-property-label{align-self:start;padding-top:6px}.milestone-panel-v2-property--removable,.milestone-panel-v2-property.is-section{position:relative}.milestone-panel-v2-property-remove{position:absolute;top:6px;right:12px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:2px;background:var(--bg-primary, #FFFFFF);color:var(--text-secondary);cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease,color .12s ease}.milestone-panel-v2-property--removable:hover .milestone-panel-v2-property-remove,.milestone-panel-v2-property.is-section:hover .milestone-panel-v2-property-remove{opacity:1}.milestone-panel-v2-property-remove:hover{color:var(--text-primary);background:var(--bg-hover, rgba(15, 23, 42, .05))}.milestone-panel-v2-block-qty{display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 6px;border:1px solid var(--border, rgba(15, 23, 42, .14));border-radius:2px;background:var(--bg-primary)}.milestone-panel-v2-block-qty-input{width:32px;height:18px;border:none;background:transparent;font-size:12px;font-weight:500;color:var(--text-primary);text-align:right;outline:none;padding:0;-moz-appearance:textfield;font-variant-numeric:tabular-nums}.milestone-panel-v2-block-qty-input::-webkit-outer-spin-button,.milestone-panel-v2-block-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.milestone-panel-v2-block-qty-uom{font-size:11px;font-weight:500;color:var(--text-secondary)}.milestone-panel-v2-popover{border-radius:2px!important}.scheduling-panel--refreshed .scheduling-panel-content{padding:0;background:var(--bg-primary, #FFFFFF)}.scheduling-panel--refreshed .scheduling-panel-content>.scheduling-panel-row,.scheduling-panel--refreshed .scheduling-panel-content>.scheduling-panel-section{padding-left:16px;padding-right:16px}.scheduling-panel--refreshed .scheduling-panel-content>.scheduling-panel-row+.scheduling-panel-row,.scheduling-panel--refreshed .scheduling-panel-content>.scheduling-panel-row+.scheduling-panel-section,.scheduling-panel--refreshed .scheduling-panel-content>.scheduling-panel-section+.scheduling-panel-row,.scheduling-panel--refreshed .scheduling-panel-content>.scheduling-panel-section+.scheduling-panel-section{border-top:1px solid var(--border-light);margin-top:0;padding-top:8px}.scheduling-panel--refreshed .scheduling-panel-section-header{padding:10px 0;color:var(--text-muted)}.scheduling-panel--refreshed .scheduling-panel-section-title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.scheduling-panel--refreshed .scheduling-panel-section-summary{color:var(--text-secondary);font-weight:500}.scheduling-panel--refreshed .scheduling-panel-content>.scheduling-panel-row:first-child{padding-top:14px;padding-bottom:14px;border-bottom:1px solid var(--border-light)}.scheduling-panel--refreshed .scheduling-panel-dropdown.milestone-title{border:none;padding:0;background:transparent}.scheduling-panel--refreshed .scheduling-panel-dropdown.milestone-title .scheduling-panel-dropdown-label{font-size:16px;font-weight:600;line-height:1.25;color:var(--text-primary)}.scheduling-panel--refreshed .scheduling-panel-mode-badge{margin-left:8px;padding:3px 8px;font-size:10px;font-weight:700;letter-spacing:.06em}.scheduling-panel--refreshed .scheduling-panel-date-box{height:28px;padding:0 8px;border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--text-primary);background:var(--bg-primary);transition:border-color .12s ease,box-shadow .12s ease}.scheduling-panel--refreshed .scheduling-panel-date-box.focused,.scheduling-panel--refreshed .scheduling-panel-date-box:focus{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb2e;outline:none}.scheduling-panel--refreshed .scheduling-panel-date-arrow{color:var(--text-muted);font-size:12px}.scheduling-panel--refreshed .scheduling-panel-row.workdays-row{gap:6px}.scheduling-panel--refreshed .scheduling-panel-workdays-btn{width:22px;height:22px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);font-size:12px;color:var(--text-primary);cursor:pointer;transition:background .12s ease,border-color .12s ease}.scheduling-panel--refreshed .scheduling-panel-workdays-btn:hover:not(:disabled){background:#0f172a0f;border-color:#0f172a33}.scheduling-panel--refreshed .scheduling-panel-workdays-btn:disabled{opacity:.4;cursor:not-allowed}.scheduling-panel--refreshed .scheduling-panel-workdays-value{min-width:84px;text-align:center;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-primary)}.scheduling-panel--refreshed .scheduling-panel-calendar{margin-top:6px;padding:8px 0 0;border-top:1px solid var(--border-light)}.scheduling-panel--refreshed .scheduling-panel-calendar-header{font-size:12px;font-weight:600;color:var(--text-primary)}.scheduling-panel--refreshed .scheduling-panel-calendar-header button{width:22px;height:22px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-muted);cursor:pointer;transition:background .12s ease}.scheduling-panel--refreshed .scheduling-panel-calendar-header button:hover{background:#0f172a0f}.scheduling-panel--refreshed .scheduling-panel-calendar-weekdays span{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.scheduling-panel--refreshed .scheduling-panel-calendar-day{font-variant-numeric:tabular-nums}.scheduling-panel--refreshed .scheduling-panel-crew-label,.scheduling-panel--refreshed .scheduling-panel-subtask-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);display:inline-flex;align-items:center;gap:8px}.scheduling-panel--refreshed .scheduling-panel-subtask-count,.scheduling-panel--refreshed .scheduling-panel-crew-count{font-size:11px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-secondary)}.scheduling-panel--refreshed .scheduling-panel-crew-add-btn{padding:2px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);font-size:11px;font-weight:500;display:inline-flex;align-items:center;gap:4px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.scheduling-panel--refreshed .scheduling-panel-crew-add-btn:hover{background:#2563eb0f;color:var(--accent);border-color:#2563eb66}.scheduling-panel--refreshed .scheduling-panel-subtask-list{margin-top:6px;display:flex;flex-direction:column}.scheduling-panel--refreshed .scheduling-panel-subtask-item{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--border-light);font-size:12px;color:var(--text-primary)}.scheduling-panel--refreshed .scheduling-panel-subtask-item:first-child{border-top:0}.scheduling-panel--refreshed .scheduling-panel-subtask-item.completed .subtask-label{color:var(--text-muted);text-decoration:line-through}.scheduling-panel--refreshed .scheduling-panel-subtask-item .subtask-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scheduling-panel--refreshed .subtask-checkbox{width:16px;height:16px;border:1.5px solid var(--border);border-radius:4px;background:transparent;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.scheduling-panel--refreshed .subtask-checkbox.checked{border-color:transparent;background:transparent}.scheduling-panel--refreshed .subtask-delete-btn{width:20px;height:20px;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:opacity .12s ease,background .12s ease}.scheduling-panel--refreshed .scheduling-panel-subtask-item:hover .subtask-delete-btn{opacity:1}.scheduling-panel--refreshed .subtask-delete-btn:hover{background:#0f172a0f;color:var(--text-primary)}.scheduling-panel--refreshed .scheduling-panel-footer{padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-primary, #FFFFFF)}.scheduling-panel--refreshed .scheduling-panel-schedule-btn{font-size:13px;font-weight:600;padding:8px 14px;border-radius:6px}.auto-schedule-dialog{width:400px}.auto-schedule-dialog-body{gap:var(--space-3)}.auto-schedule-dialog-question{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.auto-schedule-dialog-mode-toggle{align-self:flex-start;padding:0;border:none;background:none;font-size:var(--font-size-xs);color:var(--accent);cursor:pointer}.auto-schedule-dialog-mode-toggle:hover{text-decoration:underline}.auto-schedule-dialog-hint{font-size:var(--font-size-xs);color:var(--text-muted)}.auto-schedule-dialog .warning-dialog-btn,.auto-schedule-review-footer .warning-dialog-btn{height:32px;padding:0 14px;font-size:12px}.auto-schedule-dialog .warning-dialog-btn.primary:disabled,.auto-schedule-review-footer .warning-dialog-btn.primary:disabled{opacity:.5;cursor:not-allowed}.auto-schedule-review-panel{position:fixed;right:12px;top:130px;bottom:12px;width:360px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f;display:flex;flex-direction:column;z-index:60;transform:translate(calc(100% + 12px));transition:transform .2s ease}.auto-schedule-review-panel.open{transform:none}.auto-schedule-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2);border-bottom:1px solid var(--border)}.auto-schedule-review-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.auto-schedule-review-subtitle{margin-top:2px;font-size:var(--font-size-xs);color:var(--text-secondary)}.auto-schedule-review-counts{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border);background:var(--bg-secondary)}.auto-schedule-review-list{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.auto-schedule-review-row{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-md)}.auto-schedule-review-row.kept{opacity:.6}.auto-schedule-review-row.pinned{border-color:var(--accent)}.auto-schedule-review-row-main{display:flex;align-items:center;gap:6px;min-width:0}.auto-schedule-review-row-icon{display:inline-flex;flex-shrink:0}.auto-schedule-review-row-icon.ok{color:var(--success)}.auto-schedule-review-row-icon.warn{color:var(--warning)}.auto-schedule-review-row-icon.error{color:var(--error)}.auto-schedule-review-row-icon.muted{color:var(--text-muted)}.auto-schedule-review-row-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-xs);font-weight:500;color:var(--text-primary)}.auto-schedule-review-row-dates{flex-shrink:0;font-size:var(--font-size-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums}.auto-schedule-review-row-actions{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.auto-schedule-review-action-btn{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease}.auto-schedule-review-action-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.auto-schedule-review-action-btn.pin.active{color:var(--accent)}.auto-flag{padding-left:18px;font-size:10px;line-height:1.35;color:var(--text-muted)}.auto-flag.nudged{color:var(--warning)}.auto-flag.conflict,.auto-flag.past{color:var(--error)}.auto-flag.unplaced{color:var(--text-secondary)}.auto-schedule-review-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--border)}.auto-ghost-bar{position:absolute;display:flex;align-items:center;padding:0 4px;box-sizing:border-box;border:1.5px dashed var(--accent);border-radius:var(--radius-sm);background:#2563eb1f;overflow:hidden;pointer-events:none;z-index:3}.auto-ghost-bar.nudged{border-color:var(--warning);background:#f59e0b1f}.auto-ghost-bar.conflict{border-color:var(--error);background:#d42e151f}.auto-ghost-bar.pinned{border-style:solid}.auto-ghost-label{font-size:10px;line-height:1;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auto-ghost-bar.nudged .auto-ghost-label{color:var(--warning)}.auto-ghost-bar.conflict .auto-ghost-label{color:var(--error)}.template-timing-toolbar-group{display:flex;align-items:flex-end;gap:var(--space-3)}.template-timing-anchor-field{width:220px;min-width:0}.template-timing-group{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-light)}.template-timing-follows-control{display:flex;flex-direction:column;gap:var(--space-1)}.template-timing-follows-chips{display:flex;flex-wrap:wrap;gap:4px}.template-timing-follows-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 4px 1px 6px;font-size:var(--font-size-xs);line-height:1.4;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px}.template-timing-follows-chip-remove{display:inline-flex;align-items:center;justify-content:center;padding:0;width:13px;height:13px;border:0;border-radius:50%;color:var(--text-muted);background:transparent;cursor:pointer}.template-timing-follows-chip-remove:hover{color:var(--text-primary);background:#0f172a14}.template-timing-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);align-items:end}.template-timing-input{text-align:right;font-variant-numeric:tabular-nums}.template-timing-feeds-list{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-1)}.template-timing-feeds-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.agent-chat{display:flex;flex-direction:column;flex:1;min-height:0}.agent-chat-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;scrollbar-width:none}.agent-chat-log::-webkit-scrollbar{display:none}.agent-chat-log.is-scrolling{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.agent-chat-log.is-scrolling::-webkit-scrollbar{display:block;width:4px}.agent-chat-log.is-scrolling::-webkit-scrollbar-track{background:transparent}.agent-chat-log.is-scrolling::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.report-mark-popover.MuiPaper-root{min-width:22rem;max-width:30rem;border:1px solid #cfd4dc;border-radius:.25rem;box-shadow:0 .5rem 1.5rem #0f172a33;overflow:visible}.report-mark-popover.MuiPaper-root:before{content:"";position:absolute;top:.75rem;left:-.45rem;width:.75rem;height:.75rem;background:#fff;border-left:1px solid #cfd4dc;border-bottom:1px solid #cfd4dc;transform:rotate(45deg)}.report-mark-actions{display:flex;align-items:stretch;min-height:2.75rem;padding:.25rem .4rem}.report-mark-actions .MuiButton-root{min-width:0;padding:.35rem .55rem;color:#4b5563;font-size:.75rem;font-weight:500;text-transform:none;white-space:nowrap}.report-mark-actions .MuiDivider-root{margin:.3rem .25rem}.report-mark-actions .report-mark-view-data{min-width:2.25rem;color:#2563eb;border:1px solid transparent;border-radius:.125rem}.report-mark-actions .report-mark-view-data:hover{border-color:#93c5fd;background:#eff6ff}.report-mark-summary{display:grid;gap:.45rem;padding:.75rem .9rem .9rem;background:#fff}.report-mark-summary-row{display:grid;grid-template-columns:minmax(8rem,auto) 1fr;gap:.75rem;color:#6b7280;font-size:.78rem}.report-mark-summary-row strong{color:#374151;font-weight:600}.report-data-drawer.MuiDrawer-paper{width:min(72rem,calc(100vw - 2rem));overflow:hidden;background:#fff}.report-data-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb}.report-data-header h2,.report-data-header p{margin:0}.report-data-header h2{color:#111827;font-size:1.25rem}.report-data-header p{margin-top:.25rem;color:#6b7280;font-size:.78rem}.report-data-eyebrow{display:block;margin-bottom:.25rem;color:#2563eb;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.report-data-tabs{min-height:2.75rem;border-bottom:1px solid #e5e7eb}.report-data-tabs .MuiTab-root{min-height:2.75rem;padding:.55rem 1.5rem;font-size:.75rem;font-weight:600;text-transform:none}.report-data-content{display:flex;flex:1;min-height:0;flex-direction:column;height:calc(100vh / var(--app-zoom, 1) - 9rem)}.report-data-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid #eef0f3}.report-data-toolbar-group{display:flex;align-items:center;gap:.2rem}.report-data-toolbar .MuiTextField-root{width:min(18rem,38%)}.report-data-toolbar .report-data-row-limit{width:6.5rem}.report-data-toolbar .MuiButton-root{text-transform:none}.report-data-notice{padding:.5rem 1rem;color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;font-size:.75rem}.report-data-table-wrap{flex:1;min-height:0}.report-data-table-wrap .MuiTableCell-root{max-width:20rem;padding:.55rem .75rem;border-color:#eef0f3;color:#374151;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-data-table-wrap .MuiTableCell-head{color:#4b5563;background:#f8fafc;font-weight:700;cursor:pointer}.report-data-table-wrap .MuiTableCell-head.is-selected{color:#1d4ed8;background:#dbeafe}.report-data-table-wrap .MuiTableCell-head .MuiIconButton-root{margin-left:.35rem;padding:.15rem}.report-data-fields-menu .MuiPaper-root{max-height:24rem}.report-data-setting-row{display:flex;justify-content:space-between;gap:2rem;min-width:18rem}.report-data-setting-row .MuiSelect-select{min-width:6rem;padding-block:.35rem}.report-data-state{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:8rem;color:#6b7280;font-size:.8rem}.report-data-state--error{color:#b42318}.report-data-summary{display:grid;gap:0;margin:1.5rem;border:1px solid #e5e7eb;border-radius:.375rem;overflow:hidden}.report-data-summary-table{height:calc(100vh / var(--app-zoom, 1) - 9rem)}.report-data-summary-table .MuiTableCell-root{padding:.6rem .85rem;border-color:#eef0f3;color:#374151;font-size:.75rem;white-space:nowrap}.report-data-summary-table .MuiTableCell-head{background:#f8fafc;color:#475569;font-weight:700}.dash-bar-fill[role=button],.dash-hbar-fill[role=button],.dash-stacked-seg[role=button],.dash-donut-legend-item[role=button]{cursor:pointer}@media(max-width:64rem){.report-data-toolbar{align-items:stretch;flex-wrap:wrap}.report-data-toolbar .MuiTextField-root{flex:1;width:auto}}.report-data-summary h3{margin:0;padding:.75rem 1rem;color:#374151;background:#f8fafc;border-bottom:1px solid #e5e7eb;font-size:.8rem}.report-data-summary>div{display:grid;grid-template-columns:12rem 1fr;gap:1rem;padding:.7rem 1rem;border-bottom:1px solid #eef0f3;color:#6b7280;font-size:.78rem}.report-data-summary>div:last-child{border-bottom:0}.report-data-summary strong{color:#111827;font-weight:600}.agent-conversation-tools{display:flex;flex:0 0 auto;justify-content:flex-end;padding:5px 10px 0}.agent-copy-conversation{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:0;border-radius:6px;background:transparent;color:var(--text-muted, #64748b);cursor:pointer;font:inherit;font-size:11px;font-weight:600}.agent-copy-conversation:hover:not(:disabled){background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #0f172a)}.agent-copy-conversation:disabled{cursor:default;opacity:.5}.agent-copy-conversation.is-error{color:#b91c1c}.agent-msg{font-size:13px;line-height:1.45;white-space:pre-wrap;padding:6px 10px;border-radius:8px;max-width:90%}.agent-msg-you{align-self:flex-end;background:var(--accent, #2563eb);color:#fff}.agent-msg-agent{align-self:stretch;max-width:100%;white-space:normal;background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #0f172a)}.agent-msg-agent .agent-md-p{margin:0 0 6px}.agent-msg-agent .agent-md-p:last-child{margin-bottom:0}.agent-msg-agent .agent-md-heading{font-weight:600;margin:8px 0 3px}.agent-msg-agent .agent-md-list{margin:3px 0 6px;padding-left:18px}.agent-msg-agent .agent-md-list li{margin:1px 0}.agent-md-table-wrap{overflow-x:auto;margin:6px 0}.agent-md-table{border-collapse:collapse;font-size:11.5px;line-height:1.35}.agent-md-table th,.agent-md-table td{border:1px solid var(--border, #e2e8f0);padding:3px 7px;text-align:left;white-space:nowrap}.agent-md-table th{background:var(--bg-primary, #ffffff);font-weight:600}.agent-md-table tbody tr:nth-child(2n) td{background:#00000006}.agent-msg-tool{align-self:flex-start;font-size:12px;font-weight:500;color:var(--text-muted, #64748b)}.agent-msg-error{align-self:flex-start;background:#fee2e2;color:#991b1b}.agent-chat-input{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border, #e5e7eb)}.agent-chat-input input{flex:1;padding:8px 10px;border:1px solid var(--border, #d0d5dd);border-radius:4px;font-size:13px}.agent-chat-input button{padding:8px 14px;border:0;border-radius:4px;background:var(--accent, #2563eb);color:#fff;cursor:pointer}.agent-chat-input button:disabled{opacity:.5;cursor:default}.agent-chat-input .agent-mic{padding:8px 10px;background:var(--bg-primary, #ffffff);border:1px solid var(--border, #d0d5dd);color:var(--text-secondary, #475569);display:flex;align-items:center;justify-content:center}.agent-chat-input .agent-mic:hover:not(:disabled){border-color:var(--accent, #2563eb);color:var(--accent, #2563eb)}.agent-chat:not(.agent-chat--full) .agent-chat-input{display:block;padding:8px 12px 12px}.agent-chat:not(.agent-chat--full) .agent-chat-log{gap:16px;padding:14px}.agent-chat-input .agent-composer-mic{width:34px;height:34px;flex-shrink:0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-secondary);display:grid;place-items:center;cursor:pointer}.agent-chat-input .agent-composer-mic:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.agent-chat-input .agent-composer-mic:disabled{opacity:.4;cursor:default}.agent-chat-input .agent-mic.agent-mic-on,.agent-composer .agent-composer-mic.agent-mic-on{background:#dc2626;border-color:#dc2626;color:#fff;animation:agentMicPulse 1.2s ease-in-out infinite}@keyframes agentMicPulse{0%,to{box-shadow:0 0 #dc262673}70%{box-shadow:0 0 0 6px #dc262600}}.agent-history-item{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;background:var(--bg-secondary, #f1f5f9);border:1px solid var(--border, #e5e7eb);border-radius:8px;padding:8px 10px;cursor:pointer;font:inherit;color:inherit}.agent-history-item:hover{border-color:var(--accent, #2563eb)}.agent-history-item-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-muted, #64748b)}.agent-history-item-count{font-variant-numeric:tabular-nums}.agent-history-item-snippet{font-size:13px;color:var(--text-primary, #0f172a);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.agent-history-detailbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border, #e5e7eb);font-size:12px}.agent-history-detailbar-time{color:var(--text-muted, #64748b)}.agent-history-detail-actions{display:flex;align-items:center;gap:8px}.agent-history-continue{border:0;border-radius:5px;padding:5px 8px;background:var(--accent, #2563eb);color:#fff;font:inherit;font-weight:600;cursor:pointer}.agent-history-back{border:0;background:transparent;color:var(--accent, #2563eb);font-weight:600;font-size:12px;cursor:pointer;padding:0}.assistant-home[data-theme=dark]{--bg-primary: #1a1a1d;--bg-secondary: #232327;--text-primary: #ececf1;--text-secondary: rgba(255, 255, 255, .5);--text-muted: #9a9aa6;--border: #34343b;--accent: #5b8def;--ah-hover: rgba(255, 255, 255, .06)}.assistant-home[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f6f7f9;--text-primary: #17181c;--text-muted: #6b7280;--border: #e4e6eb;--accent: #2563eb;--ah-hover: rgba(0, 0, 0, .05)}.assistant-home{display:flex;height:100vh;width:100%;background:var(--bg-primary);color:var(--text-primary);font-family:Inter,system-ui,sans-serif}.assistant-home-sidebar{width:264px;flex-shrink:0;border-right:1px solid var(--border);background:var(--bg-secondary);display:flex;flex-direction:column;gap:4px;padding:12px 10px}.assistant-home-brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;padding:4px 6px 10px}.assistant-home-mark{width:22px;height:22px;border-radius:6px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}.assistant-home-newchat{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-weight:500;font-size:12px;cursor:pointer;text-align:left}.assistant-home-newchat:hover{border-color:var(--accent)}.assistant-home-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;scrollbar-width:none}.assistant-home-scroll::-webkit-scrollbar{display:none}.assistant-home-scroll.is-scrolling{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.assistant-home-scroll.is-scrolling::-webkit-scrollbar{display:block;width:4px}.assistant-home-scroll.is-scrolling::-webkit-scrollbar-track{background:transparent}.assistant-home-scroll.is-scrolling::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.assistant-home-section{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:14px 8px 4px;font-weight:500}.assistant-home-history{display:flex;flex-direction:column;gap:2px}.assistant-home-empty{font-size:12px;color:var(--text-muted);padding:8px 6px}.assistant-home-session-row{position:relative;display:flex;align-items:center;border-radius:8px;transition:background .14s ease}.assistant-home-session-row:hover{background:var(--ah-hover)}.assistant-home-session-ic{display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;border-radius:6px;background:var(--ai-grad-soft);color:var(--ai-violet);transition:background .14s ease}.assistant-home-session-row.active{background:var(--ai-grad-soft)}.assistant-home-session-row.active .assistant-home-session-title{color:var(--ai-violet);font-weight:500}.assistant-home-session-row.active .assistant-home-session-ic{background:var(--ai-grad-vivid);color:#fff}.assistant-home-session-btn{flex:1;min-width:0;display:flex;align-items:center;gap:8px;text-align:left;border:0;background:transparent;padding:7px 9px;cursor:pointer;color:inherit}.assistant-home-session-title{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.assistant-home-session-actions{display:flex;align-items:center;gap:2px;padding-right:4px;opacity:0;pointer-events:none;transition:opacity .15s ease}.assistant-home-session-row:hover .assistant-home-session-actions{opacity:1;pointer-events:auto}.assistant-home-session-pin,.assistant-home-session-more{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;background:transparent;border-radius:2px;cursor:pointer;color:var(--text-muted);transition:background .15s ease,color .15s ease}.assistant-home-session-pin:hover,.assistant-home-session-more:hover{background:#00000014;color:var(--text-primary)}.assistant-home-session-pin.active{color:var(--accent);opacity:1}.assistant-home-session-row .assistant-home-session-pin.active{opacity:1;pointer-events:auto}.assistant-home-rename-input{flex:1;min-width:0;margin:3px 8px;padding:3px 6px;font-size:12px;font-weight:500;border:1px solid var(--accent);border-radius:2px;background:transparent;color:inherit;outline:none}.assistant-home-nav{display:flex;flex-direction:column;gap:2px;padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:4px}.assistant-home-apps{display:flex;flex-direction:column;gap:2px}.assistant-home-app{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:2px;color:var(--text-primary);font-size:12px;font-weight:500;text-decoration:none}.assistant-home-app:hover{background:var(--ah-hover)}.assistant-home-foot{border-top:1px solid var(--border);padding-top:10px;margin-top:4px;display:flex;align-items:center;justify-content:space-between;gap:8px}.assistant-home-theme{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:0;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer}.assistant-home-theme:hover{background:var(--ah-hover);color:var(--text-primary)}.assistant-home-user{display:flex;align-items:center;gap:8px;min-width:0}.assistant-home-user-info{display:flex;flex-direction:column;gap:1px;min-width:0}.assistant-home-user-name{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assistant-home-user-role{font-size:11px;font-weight:500;color:var(--text-muted)}.assistant-home-avatar{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.assistant-home-main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg-primary)}.assistant-home-topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid var(--border)}.assistant-home-agent{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.assistant-home-agent-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;background:var(--ai-grad-soft);color:var(--ai-violet);font-size:11px;font-weight:600}.assistant-home-newicon{border:0;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;padding:5px;border-radius:2px}.assistant-home-newicon:hover{color:var(--text-primary);background:var(--ah-hover)}.assistant-home-chat{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:780px;margin:0 auto}.agent-chat--full{background:var(--bg-primary)}.agent-chat--full .agent-chat-log{padding:24px 12px;gap:22px}.agent-row{display:flex;gap:12px}.agent-row-you{justify-content:flex-end}.agent-row-bubble{background:linear-gradient(135deg,#3b76f0,#2563eb);color:#fff;padding:10px 14px;border-radius:16px 16px 5px;font-size:12px;font-weight:500;line-height:1.55;max-width:72%;white-space:pre-wrap;box-shadow:0 3px 12px #2563eb38,inset 0 1px #ffffff2e}.agent-row-agent{align-items:flex-start}.agent-row-avatar{width:28px;height:28px;flex-shrink:0;border-radius:50%;background:var(--ai-grad-soft);border:1px solid rgba(124,58,237,.22);color:var(--ai-violet);display:flex;align-items:center;justify-content:center}.agent-row-avatar .ai-cluster{transform:scale(.62)}.agent-row-avatar .ai-cluster-lg,.agent-row-avatar .ai-cluster-sm,.agent-row-avatar .ai-cluster-xs{animation:none}.agent-row-body{font-size:12px;line-height:1.6;color:var(--text-primary);font-weight:500;min-width:0;padding-top:3px;max-width:680px}.agent-work{margin:4px 0 4px 40px;max-width:640px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);overflow:hidden}.agent-work-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:0;background:transparent;font-family:inherit;text-align:left;cursor:default}.agent-work:not(.active) .agent-work-head{cursor:pointer}.agent-work:not(.active) .agent-work-head:hover{background:var(--bg-hover)}.agent-work-ic{display:grid;place-items:center;width:20px;height:20px;border-radius:5px;background:var(--accent-light);color:var(--accent);flex-shrink:0}.agent-work:not(.active) .agent-work-ic{background:#49bf551f;color:var(--success)}.agent-work:not(.active) .agent-work-bar{display:none}.agent-work-title{font-size:12px;font-weight:600;color:var(--text-primary)}.agent-work-sub{font-size:11px;font-weight:400;color:var(--text-muted)}.agent-work-chev{margin-left:auto;color:var(--text-muted);transition:transform .15s ease}.agent-work.open .agent-work-chev{transform:rotate(90deg)}.agent-work-bar{height:3px;background:var(--border-light)}.agent-work-bar-fill{height:100%;background:var(--accent);border-radius:0 2px 2px 0;transition:width .35s ease}.agent-work:not(.active) .agent-work-bar-fill{background:var(--success)}.agent-work-steps{display:flex;flex-direction:column;gap:2px;padding:6px 12px 10px 14px;border-top:1px solid var(--border-light);max-height:220px;overflow-y:auto}.agent-work-step{display:flex;align-items:center;gap:8px;padding:4px 2px;font-size:12px;font-weight:500;color:var(--text-secondary)}.agent-work-step.pending{color:var(--text-muted)}.agent-work-step.done{color:var(--text-primary)}.agent-work-step-done{color:var(--success);flex-shrink:0}.agent-work-step-pending{width:12px;height:12px;flex-shrink:0;border:1.5px solid var(--text-muted);border-radius:50%;opacity:.55}.agent-work-step>svg{flex-shrink:0}.agent-spin{animation:agent-work-spin .9s linear infinite}.agent-work{position:relative}.agent-work-head,.agent-work-bar,.agent-work-steps{position:relative;z-index:1}.agent-work.active{border-color:#7c3aed3d;animation:ai-work-glow 3.2s ease-in-out infinite}@keyframes ai-work-glow{0%,to{box-shadow:0 0 0 3px #7c3aed0a,0 3px 14px #7c3aed17}50%{box-shadow:0 0 0 3px #7c3aed12,0 6px 22px #7c3aed33}}.agent-work.active:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background-image:radial-gradient(var(--ai-pixel) .7px,transparent .8px);background-size:7px 7px;opacity:.12;-webkit-mask:linear-gradient(90deg,#000,transparent 62%);mask:linear-gradient(90deg,#000,transparent 62%);animation:ai-pixels 6s linear infinite}@keyframes ai-pixels{0%{background-position:0 0}to{background-position:14px 0}}.agent-work.active .agent-work-ic{background:var(--ai-grad-soft);color:var(--ai-violet)}.agent-work.active .agent-work-bar{background:#7c3aed1f}.agent-work.active .agent-work-bar-fill{background:var(--ai-grad)}.agent-work-dot{width:13px;height:13px;flex-shrink:0;border-radius:50%;border:1.5px dashed var(--text-muted);opacity:.6}.agent-work-dot.running{border-color:var(--ai-violet);opacity:1;animation:agent-work-spin 2.6s linear infinite}@media(prefers-reduced-motion:reduce){.agent-work.active{animation:none}.agent-work.active:before{animation:none}.agent-work-dot.running{animation:none}}@keyframes agent-work-spin{to{transform:rotate(360deg)}}.agent-chat-log .agent-row-body>.agent-md-p,.agent-chat-log .agent-row-body>.agent-md-heading,.agent-chat-log .agent-row-body>.agent-md-table-wrap,.agent-chat-log .agent-row-body>.agent-md-list,.agent-chat-log .agent-row-body>.entity-chip-list,.agent-chat-log .agent-row-body>.agent-suggestion-chips,.agent-chat-log .agent-row-body>.agent-actions,.agent-chat-log .agent-msg-agent>.agent-md-p,.agent-chat-log .agent-msg-agent>.agent-md-heading,.agent-chat-log .agent-msg-agent>.agent-md-table-wrap,.agent-chat-log .agent-msg-agent>.agent-md-list,.agent-chat-log .agent-msg-agent>.entity-chip-list,.agent-chat-log .agent-msg-agent>.agent-suggestion-chips,.agent-chat-log .agent-msg-agent>.agent-actions{animation:agent-block-in .22s ease-out}@keyframes agent-block-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.agent-chat-log .agent-row-body>*,.agent-chat-log .agent-msg-agent>*{animation:none}}.agent-skeleton{margin:6px 0;animation:agent-block-in .2s ease-out}.agent-skeleton-table{border:1px solid var(--border, #e2e8f0);border-radius:2px;overflow:hidden;max-width:440px}.agent-skeleton-row{display:flex;border-bottom:1px solid var(--border, #e2e8f0)}.agent-skeleton-row:last-child{border-bottom:0}.agent-skeleton-cell{flex:1;min-width:0;padding:6px 7px}.agent-skeleton-chips{display:flex;flex-direction:column;gap:4px}.agent-skeleton-chip{display:flex;align-items:center;height:28px;max-width:300px;padding:0 10px;border:1px solid var(--border, #e2e8f0);border-radius:4px}.agent-skeleton-bar{display:block;height:8px;width:72%;border-radius:3px;background:linear-gradient(90deg,#cdd7fe,#e2d5fb 26%,#f6cfea,#e2d5fb 74%,#cdd7fe);background-size:220% 100%;animation:agent-skeleton-shimmer 1.7s linear infinite}.agent-skeleton-cell:nth-child(2n) .agent-skeleton-bar{width:54%}.agent-skeleton-cell:nth-child(3n) .agent-skeleton-bar{width:84%}.agent-skeleton-chip .agent-skeleton-bar{width:58%}@keyframes agent-skeleton-shimmer{0%{background-position:220% 0}to{background-position:-220% 0}}[data-theme=dark] .agent-skeleton-table,[data-theme=dark] .agent-skeleton-chip,.assistant-home[data-theme=dark] .agent-skeleton-table,.assistant-home[data-theme=dark] .agent-skeleton-chip{border-color:#ffffff1a}[data-theme=dark] .agent-skeleton-bar,.assistant-home[data-theme=dark] .agent-skeleton-bar{background:linear-gradient(90deg,#93c5fd47,#c4b5fd57 26%,#f4b6e84d,#c4b5fd57 74%,#93c5fd47);background-size:220% 100%}@property --ai-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.ai-fab{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:9px;padding:10px 18px 10px 15px;border:0;border-radius:999px;background:var(--ai-grad-vivid);color:#fff;font-weight:600;font-size:13px;line-height:1;cursor:pointer;box-shadow:0 4px 18px var(--ai-glow),inset 0 1px #ffffff47;animation:ai-halo 3.6s ease-in-out infinite;transition:transform .16s ease}.ai-fab:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 10px 34px #7c3aedd9;opacity:0;transition:opacity .45s ease;pointer-events:none;z-index:-1}.ai-fab:hover{transform:translateY(-1px)}.ai-fab:hover:after{opacity:1}.ai-fab:active{transform:translateY(0) scale(.98)}.ai-fab:focus-visible{outline:2px solid #c4b5fd;outline-offset:3px}.ai-fab.is-open{animation:none;box-shadow:0 3px 12px #6d28d957,inset 0 1px #fff3}@keyframes ai-halo{0%,to{box-shadow:0 4px 16px var(--ai-glow-soft),inset 0 1px #ffffff47}50%{box-shadow:0 6px 26px var(--ai-glow),inset 0 1px #ffffff47}}.ai-fab-ring{position:absolute;inset:0;z-index:1;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--ai-angle),transparent 0deg,transparent 298deg,rgba(233,213,255,.85) 338deg,#fff 357deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0;pointer-events:none}.ai-fab:hover .ai-fab-ring{animation:ai-trace 1.15s ease-in-out}@keyframes ai-trace{0%{--ai-angle: 0deg;opacity:0}12%{opacity:1}88%{opacity:1}to{--ai-angle: 360deg;opacity:0}}.ai-fab-content{position:relative;z-index:2;display:inline-flex;align-items:center;gap:8px}.ai-fab-label{letter-spacing:.01em}.ai-fab-sparkles{position:relative;width:22px;height:20px;flex:none}.ai-spark{position:absolute;color:#fff;filter:drop-shadow(0 0 3px rgba(255,255,255,.65));transform-origin:center;transition:transform .32s cubic-bezier(.34,1.56,.64,1)}.ai-spark-lg{width:13px;height:13px;right:0;top:4px}.ai-spark-sm{width:8px;height:8px;left:1px;top:1px;animation:ai-twinkle 3.2s ease-in-out infinite}.ai-spark-xs{width:6px;height:6px;left:4px;bottom:0;animation:ai-twinkle 2.6s ease-in-out infinite .5s}.ai-fab:hover .ai-spark-lg{transform:scale(1.2) rotate(8deg)}.ai-fab:hover .ai-spark-sm{transform:scale(1.45);transition-delay:.04s}.ai-fab:hover .ai-spark-xs{transform:scale(1.65);transition-delay:.08s}@keyframes ai-twinkle{0%,to{opacity:1}50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.ai-fab,.ai-spark-sm,.ai-spark-xs,.ai-fab:hover .ai-fab-ring{animation:none}.ai-fab:hover .ai-spark-lg,.ai-fab:hover .ai-spark-sm,.ai-fab:hover .ai-spark-xs{transform:none}}.ai-dock{position:fixed;right:16px;bottom:16px;z-index:10060;display:flex;flex-direction:column;align-items:flex-end}.ai-fab.is-hidden{display:none}.ai-fab{touch-action:none;user-select:none;-webkit-user-select:none}.ai-fab.is-dragging,.ai-fab.is-dragging:hover,.ai-fab.is-dragging:active{cursor:grabbing;transform:none;animation:none}.ai-dock-panel{position:absolute;width:440px;height:520px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);border-radius:18px;background:var(--bg-primary);border:1px solid rgba(124,58,237,.22);box-shadow:0 0 0 4px #7c3aed0d,0 20px 50px #4c1d9524,0 4px 16px #0000000f;transform-origin:bottom right;animation:ai-dock-grow .28s cubic-bezier(.2,.9,.25,1);overflow:hidden}@keyframes ai-dock-grow{0%{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:none}}.ai-dock-inner{height:100%;display:flex;flex-direction:column;border-radius:inherit;overflow:hidden}.ai-dock-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 10px 16px;border-bottom:1px solid var(--border-light)}.ai-dock-title{font-size:13px;font-weight:600;color:var(--text-primary)}.ai-dock-head-actions{display:flex;align-items:center;gap:2px}.ai-dock-act{display:inline-flex;align-items:center;gap:3px;border:0;background:transparent;cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;color:var(--text-secondary);padding:4px 8px;border-radius:6px;transition:background .15s ease,color .15s ease}.ai-dock-act:hover{background:var(--bg-hover);color:var(--text-primary)}.ai-dock-close{display:grid;place-items:center;width:26px;height:26px;margin-left:2px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.ai-dock-close:hover{background:var(--bg-hover);color:var(--text-primary)}.ai-dock-body{display:flex;flex-direction:column;flex:1;min-height:0}@media(prefers-reduced-motion:reduce){.ai-dock-panel{animation:none}}.agent-work.active .agent-work-title,.agent-work-step.running{background:linear-gradient(90deg,var(--text-muted) 20%,var(--text-primary) 55%,var(--text-muted) 80%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:busy-shine 1.8s linear infinite}.agent-row-meta.agent-row-tool{display:flex;align-items:center;gap:6px;padding:2px 0 2px 40px;font-size:11px;font-weight:500;color:var(--text-muted)}.agent-row-meta.agent-row-tool:before{content:"";display:block;width:5px;height:5px;border-radius:50%;background:var(--text-muted);flex-shrink:0;opacity:.6}.agent-row-meta.agent-row-error{margin-left:40px;padding:10px 14px;background:#d42e1512;border:1px solid rgba(212,46,21,.18);border-left:3px solid #D42E15;border-radius:4px;font-size:12px;font-weight:500;color:#d42e15}.agent-row-meta.agent-row-busy{padding-left:40px;font-size:11px;font-weight:500;display:flex;align-items:center;gap:6px;background:linear-gradient(90deg,var(--text-muted) 20%,var(--text-primary) 50%,var(--text-muted) 80%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:busy-shine 1.8s linear infinite}@keyframes busy-shine{0%{background-position:200% center}to{background-position:-200% center}}.agent-row-meta.agent-row-busy:before{content:"";display:block;width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0;animation:agentBusyPulse 1.2s ease-in-out infinite}@keyframes agentBusyPulse{0%,to{opacity:.3}50%{opacity:1}}.agent-row-meta:not(.agent-row-tool):not(.agent-row-error):not(.agent-row-busy){font-size:12px;font-weight:500;color:var(--text-muted);padding-left:40px}.agent-chat--full .agent-md-table th{background:var(--bg-secondary)}.agent-row-body .agent-md-p{margin:0 0 9px}.agent-row-body .agent-md-p:last-child{margin-bottom:0}.agent-row-body .agent-md-heading{font-size:14px;font-weight:600;color:var(--text-primary);margin:16px 0 6px}.agent-row-body .agent-md-h1{font-size:16px;margin:22px 0 8px}.agent-row-body .agent-md-h2{font-size:14px;margin:18px 0 6px}.agent-row-body .agent-md-h3{font-size:14px;margin:16px 0 6px}.agent-row-body .agent-md-heading:first-child{margin-top:0}.agent-md-deflist{display:flex;flex-direction:column;gap:10px;margin:10px 0 12px}.agent-md-defterm{font-size:12px;font-weight:600;color:var(--text-primary)}.agent-md-defdesc{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-top:1px}.agent-md-deflist--num{display:block;list-style:decimal;padding-left:22px}.agent-md-deflist--num>.agent-md-defitem{display:list-item;margin:0 0 10px}.agent-md-deflist--num>.agent-md-defitem:last-child{margin-bottom:0}.agent-md-deflist--num>.agent-md-defitem::marker{color:var(--text-muted);font-weight:600}.agent-md-callout{display:flex;gap:8px;align-items:flex-start;margin:12px 0;padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.5;color:var(--text-primary)}.agent-md-callout-ic{flex-shrink:0;margin-top:.5px;display:flex}.agent-md-callout-body{min-width:0}.agent-md-callout--info{background:#2563eb12}.agent-md-callout--info .agent-md-callout-ic{color:var(--accent, #2563eb)}.agent-md-callout--note{background:#7c3aed14}.agent-md-callout--note .agent-md-callout-ic{color:var(--ai-violet, #7c3aed)}.agent-md-callout--success{background:#49bf551a}.agent-md-callout--success .agent-md-callout-ic{color:var(--success, #49bf55)}.agent-md-callout--warning{background:#f59e0b1a}.agent-md-callout--warning .agent-md-callout-ic{color:var(--warning, #f59e0b)}.agent-md-callout--error{background:#d42e1514}.agent-md-callout--error .agent-md-callout-ic{color:var(--error, #d42e15)}.agent-row-body .agent-md-ordered li::marker{color:var(--text-muted);font-weight:600}.agent-row-body .agent-md-list{margin:6px 0 12px;padding-left:18px}.agent-row-body .agent-md-ordered{list-style-type:decimal}.agent-row-body .agent-md-list li{margin:3px 0;font-size:12px;line-height:1.55}.agent-row-body .agent-md-table-wrap{margin:12px 0;border-radius:10px;overflow:hidden;border:1px solid var(--border)}.agent-row-body .agent-md-table{font-size:12px;border-collapse:collapse;width:100%}.agent-row-body .agent-md-table th{background:var(--bg-secondary);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;padding:6px 12px;text-align:left;color:var(--text-secondary);border:0;border-bottom:1px solid var(--border);border-right:1px solid var(--border)}.agent-row-body .agent-md-table td{padding:7px 12px;font-size:12px;font-weight:500;border:0;border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--text-primary)}.agent-row-body .agent-md-table th:last-child,.agent-row-body .agent-md-table td:last-child{border-right:0}.agent-row-body .agent-md-table tr:last-child td{border-bottom:0}.agent-row-body .agent-md-table tbody tr{transition:background .14s ease}.agent-row-body .agent-md-table tbody tr:hover td{background:#7c3aed0f}@keyframes agent-empty-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.agent-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:40px 16px;margin:auto 0}.agent-empty-orb{position:relative;z-index:2;display:inline-flex;margin-bottom:8px;will-change:transform}.agent-empty-icon{position:relative;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#3b82f6cc,#8b5cf6d1 55%,#a855f7d6);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);border:0;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px var(--ai-glow),inset 0 2px 3px #ffffff80,inset 0 -8px 14px #4c1d9547,inset 0 0 0 1px #ffffff4d;animation:agent-empty-in .4s ease-out both,ai-orb-float 4.5s ease-in-out .4s infinite}.agent-empty-icon:before{content:"";position:absolute;inset:3px;border-radius:50%;background:radial-gradient(55% 42% at 40% 24%,#ffffffb8,#fff0 68%);pointer-events:none}.agent-empty-icon .ai-cluster{position:relative;filter:drop-shadow(0 1px 3px rgba(76,29,149,.55))}.agent-empty-icon .ai-cluster-lg,.agent-empty-icon .ai-cluster-sm,.agent-empty-icon .ai-cluster-xs{color:#fff}.ai-cluster{display:inline-block;width:24px;height:22px}.ai-cluster-lg,.ai-cluster-sm,.ai-cluster-xs{position:absolute}.ai-cluster-lg{width:14.5px;height:14.5px;right:0;top:4px;animation:ai-twinkle-soft 3.8s ease-in-out infinite .2s}.ai-cluster-sm{width:9px;height:9px;left:1px;top:1px;animation:ai-twinkle-soft 3.2s ease-in-out infinite}.ai-cluster-xs{width:6.5px;height:6.5px;left:4px;bottom:0;animation:ai-twinkle-soft 2.6s ease-in-out infinite .5s}@keyframes ai-twinkle-soft{0%,to{opacity:1}50%{opacity:.8}}@media(prefers-reduced-motion:reduce){.ai-cluster-lg,.ai-cluster-sm,.ai-cluster-xs{animation:none}}@keyframes ai-orb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.orb-glitter{position:absolute;inset:-18px;z-index:-1;pointer-events:none}.orb-glit{position:absolute;color:#c4b5fd;opacity:0;filter:drop-shadow(0 0 4px rgba(139,92,246,1));animation:orb-glit 3s ease-in-out infinite}@keyframes orb-glit{0%{opacity:0;transform:translate(0) scale(.3) rotate(0)}30%{opacity:1}to{opacity:0;transform:translate(var(--gx),var(--gy)) scale(1.1) rotate(40deg)}}.orb-glit-1{width:9px;height:9px;left:12px;top:10px;--gx: -18px;--gy: -16px;animation-delay:0s}.orb-glit-2{width:7px;height:7px;right:10px;top:15px;--gx: 18px;--gy: -13px;animation-delay:.7s}.orb-glit-3{width:8px;height:8px;left:16px;bottom:12px;--gx: -16px;--gy: 16px;animation-delay:1.3s}.orb-glit-4{width:6px;height:6px;right:14px;bottom:10px;--gx: 17px;--gy: 15px;animation-delay:1.9s}.orb-glit-5{width:7px;height:7px;left:50%;top:4px;--gx: 3px;--gy: -20px;animation-delay:2.5s}@media(prefers-reduced-motion:reduce){.orb-glit{animation:none;opacity:0}}@keyframes hover-glit{0%{opacity:0;transform:translate(0) scale(.4) rotate(0)}30%{opacity:1}to{opacity:0;transform:translate(var(--gx),var(--gy)) scale(1) rotate(30deg)}}.ai-fab-glitter{position:absolute;inset:0;z-index:1;pointer-events:none}.ai-fab-glit{position:absolute;color:#fff;opacity:0;filter:drop-shadow(0 0 3px rgba(233,213,255,.95))}.ai-fab-glit-1{width:8px;height:8px;left:16px;top:6px;--gx: -4px;--gy: -14px}.ai-fab-glit-2{width:6px;height:6px;left:29px;top:3px;--gx: 5px;--gy: -16px}.ai-fab-glit-3{width:6px;height:6px;left:13px;bottom:5px;--gx: -8px;--gy: 9px}.ai-fab:hover .ai-fab-glit-1{animation:hover-glit 1.4s ease-out infinite}.ai-fab:hover .ai-fab-glit-2{animation:hover-glit 1.4s ease-out infinite .45s}.ai-fab:hover .ai-fab-glit-3{animation:hover-glit 1.4s ease-out infinite .9s}@media(prefers-reduced-motion:reduce){.ai-fab-glit{animation:none!important;opacity:0}}.agent-empty-title{font-size:15px;font-weight:600;color:var(--text-primary);animation:agent-empty-in .35s ease-out 60ms both}.agent-empty-sub{font-size:12px;color:var(--text-muted);max-width:400px;animation:agent-empty-in .4s ease-out .12s both}.agent-empty-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:6px;animation:agent-empty-in .4s ease-out .18s both}.agent-empty-chip{font-size:12px;font-weight:500;padding:7px 13px;border:1px solid var(--border);border-radius:999px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:border-color .15s ease,color .15s ease,box-shadow .2s ease}.agent-empty-chip:hover{border-color:#7c3aed66;color:var(--ai-violet);box-shadow:0 3px 12px #7c3aed1f}.agent-empty-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin-top:16px;animation:agent-empty-in .4s ease-out .24s both}.agent-empty-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:13px;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;cursor:pointer;text-align:left;transition:background .15s ease,border-color .15s ease,box-shadow .2s ease,transform .15s ease}.agent-empty-card:hover{background:var(--bg-primary);border-color:#7c3aed52;box-shadow:0 6px 18px #7c3aed1f;transform:translateY(-2px)}.agent-empty-card:hover .agent-empty-card-icon{color:var(--ai-violet)}.agent-empty-card-icon{color:var(--text-muted);display:flex;margin-bottom:4px;transition:color .15s ease}.agent-empty-card-title{display:block;font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.35}.agent-empty-card-sub{display:block;font-size:11px;font-weight:500;color:var(--text-muted);line-height:1.4}.agent-chat--full .agent-chat-input{display:block;border-top:0;padding:8px 16px 20px}.agent-composer{display:flex;flex-direction:column;border:1px solid var(--border);background:var(--bg-secondary);border-radius:14px;transition:border-color .15s ease}.agent-composer:focus-within{border-color:#80808066}.agent-composer-input{border:0;background:transparent;outline:none;color:var(--text-primary);font-family:inherit;font-size:13px;line-height:1.5;padding:13px 16px 9px;resize:none;min-height:46px;max-height:200px;overflow-y:auto;width:100%;box-sizing:border-box}.agent-composer-input::placeholder{color:var(--text-muted)}.agent-composer-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 8px}.agent-composer-toolbar-right{display:flex;align-items:center;gap:4px}.agent-composer .agent-composer-send{position:relative;overflow:hidden;width:34px;height:34px;flex-shrink:0;padding:0;border:0;border-radius:9px;background:var(--accent);color:#fff;display:grid;place-items:center;cursor:pointer;transition:box-shadow .25s ease,transform .15s ease}.agent-composer .agent-composer-send:before{content:"";position:absolute;inset:0;background:var(--ai-grad-vivid);opacity:0;transition:opacity .32s ease}.agent-composer .agent-composer-send>svg{position:relative;z-index:1;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.agent-composer .agent-composer-send:hover:not(:disabled){box-shadow:0 5px 16px var(--ai-glow);transform:translateY(-1px) scale(1.05)}.agent-composer .agent-composer-send:hover:not(:disabled):before{opacity:1}.agent-composer .agent-composer-send:hover:not(:disabled)>svg{transform:translateY(-2px)}.agent-composer .agent-composer-send:active:not(:disabled){transform:translateY(0) scale(.95)}.agent-composer .agent-composer-send:disabled{opacity:.4;cursor:default}.agent-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.agent-action{font-size:12px;font-weight:500;padding:6px 13px;border-radius:999px;border:1px solid var(--border, #d0d5dd);background:var(--bg-primary);color:var(--text-secondary, #6b7280);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .2s ease,transform .15s ease}.agent-action:hover{border-color:#7c3aed59;color:var(--text-primary);box-shadow:0 3px 12px #7c3aed1a;transform:translateY(-1px)}.agent-action:disabled{opacity:.4;cursor:default}.agent-suggestion-chips{display:flex;flex-direction:column;gap:4px;margin:6px 0}.agent-suggestion-chip{display:inline-flex;align-items:center;font-size:12px;font-weight:500;padding:6px 13px;border-radius:999px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;text-align:left;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .2s ease,transform .15s ease;width:fit-content}.agent-suggestion-chip:hover{border-color:#7c3aed59;color:var(--text-primary);box-shadow:0 3px 12px #7c3aed1a;transform:translateY(-1px)}.agent-suggestion-chip--inline{margin:1px 0}.template-timing-rel-select{width:auto;max-width:100%;flex:0 1 auto}.template-timing-rel-amount{display:inline-flex;align-items:center;gap:6px}.template-timing-rel-input{width:56px}.template-timing-rel-unit{font-size:var(--font-size-xs);color:var(--text-muted)}.template-timing-pill{white-space:nowrap}.template-timing-preview{flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.template-timing-preview-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.template-timing-preview-hint{font-size:11px;color:var(--text-muted)}.template-timing-preview-strip{display:flex;flex-direction:column;gap:2px;min-width:0}.template-timing-preview-ruler{display:flex;justify-content:space-between;font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums;border-bottom:1px solid var(--border-light);padding-bottom:2px}.template-timing-preview-rows{position:relative;max-height:300px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.template-timing-preview-rows.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.template-timing-preview-row{position:relative;height:26px;flex-shrink:0;z-index:1;border-radius:var(--radius-sm)}.template-timing-preview-row.draggable{cursor:grab}.template-timing-preview-row.draggable:hover{background:#2563eb0f}.template-timing-preview-row.dragging{opacity:.5;cursor:grabbing}.template-timing-preview-row.drop-target{background:#2563eb1f;box-shadow:inset 0 0 0 1px var(--accent)}.template-timing-preview-row.drop-invalid{background:#d42e151a;box-shadow:inset 0 0 0 1px var(--error);cursor:not-allowed}.template-timing-preview-bar{position:absolute;top:5px;height:16px;border-radius:var(--radius-sm);background:var(--milestone);pointer-events:none}.template-timing-preview-row.draggable:hover .template-timing-preview-bar{filter:brightness(1.08)}.template-timing-preview-bar.factory{background:var(--production-bar)}.template-timing-preview-bar.anchor{outline:2px solid var(--accent);outline-offset:1px}.template-timing-preview-links{position:absolute;top:0;left:0;pointer-events:none;overflow:visible;z-index:0}.template-timing-preview-link{stroke:#0f172a38;stroke-width:1.25;stroke-linecap:round;transition:stroke .1s ease,opacity .1s ease}.template-timing-preview-link.active{stroke:var(--accent);stroke-width:1.75}.template-timing-preview-link.dim{opacity:.25}.template-timing-preview-link.preview{stroke:var(--accent);stroke-width:2;stroke-dasharray:4 3}.template-timing-preview-link.preview.invalid{stroke:var(--error)}.template-timing-drag-cue{position:fixed;z-index:2000;pointer-events:none;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:var(--font-size-xs);font-weight:600;color:#fff;background:var(--accent);border-radius:12px;box-shadow:0 4px 12px #02061733;white-space:nowrap}.template-timing-drag-cue.invalid{background:var(--error)}.template-timing-drag-cue-note{font-weight:400;opacity:.85}.template-timing-preview-label{position:absolute;top:0;height:26px;display:inline-flex;align-items:center;gap:3px;font-size:10px;color:var(--text-secondary);white-space:nowrap;pointer-events:none}.template-timing-anchor-flag{display:inline-flex;color:var(--accent)}.template-timing-subtask-indicator{display:inline-flex;align-items:center;gap:2px;margin-left:2px;padding:0 4px;height:14px;border-radius:7px;font-size:9px;font-weight:600;line-height:1;color:var(--text-secondary);background:var(--surface-2, rgba(148, 163, 184, .18))}.template-timing-warnings{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.template-timing-warning{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary)}.template-timing-warning-icon{display:inline-flex;color:var(--warning)}.template-timing-warning-label{font-weight:500;color:var(--text-primary)}.template-timing-warning-reason{color:var(--text-muted)}.toast-stack{position:fixed;right:16px;bottom:16px;z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.toast-stack .milestone-created-toast{position:static}.mdc-fullscreen{position:fixed;inset:0;z-index:10050;background:#fbfbfa;display:flex;flex-direction:column;font-family:system-ui,-apple-system,sans-serif;color:#1f2430}.mdc-topbar{flex-shrink:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #e8e8e4;background:#fff}.mdc-topbar-left{display:flex;align-items:center;gap:16px;min-width:0}.mdc-subtitle{font-size:12.5px;color:#8a8a83;white-space:nowrap}.mdc-topbar-right{display:flex;align-items:center;gap:4px}.mdc-icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:7px;color:#5f6368;cursor:pointer}.mdc-icon-btn:hover{background:#0f172a0f;color:#1f2430}.mdc-icon-btn.close:hover{background:#dc262614;color:#b91c1c}.mdc-switcher{position:relative}.mdc-switcher-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #e2e2dc;border-radius:8px;background:#fff;cursor:pointer;font-size:15px;font-weight:600;color:#1f2430;max-width:320px}.mdc-switcher-btn:hover{border-color:#cfcfc7}.mdc-switcher-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdc-rename-input{padding:6px 10px;border:1px solid #0053d4;border-radius:8px;background:#fff;font-size:15px;font-weight:600;color:#1f2430;width:280px;max-width:320px;outline:none;box-shadow:0 0 0 3px #0053d41f;font-family:inherit}.mdc-switcher-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:280px;background:#fff;border:1px solid #e2e2dc;border-radius:10px;padding:6px;box-shadow:0 14px 40px #0f172a29;display:flex;flex-direction:column;gap:2px}.mdc-switcher-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:none;background:transparent;border-radius:7px;cursor:pointer;text-align:left;font-size:13.5px;color:#1f2430}.mdc-switcher-item small{color:#9a9a92;font-size:12px}.mdc-switcher-item:hover{background:#0f172a0d}.mdc-switcher-item.active{background:#eff6ff;color:#0053d4}.mdc-switcher-new{display:flex;align-items:center;gap:6px;padding:8px 10px;margin-top:2px;border:none;border-top:1px solid #efefe9;background:transparent;border-radius:0 0 7px 7px;cursor:pointer;font-size:13px;color:#0053d4;font-weight:500}.mdc-switcher-new:hover{background:#0053d40d}.mdc-switcher-create{display:flex;gap:6px;padding:6px;border-top:1px solid #efefe9;margin-top:2px}.mdc-switcher-create input{flex:1;border:1px solid #dcdcd6;border-radius:6px;padding:6px 8px;font-size:13px}.mdc-switcher-create-go{border:none;background:#0053d4;color:#fff;border-radius:6px;width:30px;cursor:pointer}.mdc-root{flex:1;display:flex;flex-direction:column;min-height:0}.mdc-toolbar{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid #eeece5;background:#fff}.mdc-add-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:8px;white-space:nowrap;flex-shrink:0;border:1px solid #dcdcd6;background:#fff;cursor:pointer;font-size:13px;font-weight:500;color:#1f2430}.mdc-add-btn.factory:hover{border-color:#185fa5;color:#0c447c;background:#f2f8ff}.mdc-add-btn.site:hover{border-color:#0f6e56;color:#085041;background:#f1fbf6}.mdc-toolbar-hint{margin-left:auto;font-size:12px;color:#9a9a92}.mdc-legend{flex-shrink:0;display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:7px 16px;border-bottom:1px solid #eeece5;background:#fff;font-size:11.5px;color:#6b6b64}.mdc-legend-item{display:inline-flex;align-items:center;gap:5px}.mdc-legend-sw{width:15px;height:11px;border-radius:3px;border:1.5px solid}.mdc-legend-sw.factory{background:#e6f1fb;border-color:#185fa5}.mdc-legend-sw.site{background:#e1f5ee;border-color:#0f6e56}.mdc-legend-sw.anchor{background:transparent;border-style:dashed;border-color:#b6b4aa}.mdc-legend-line{display:inline-block;width:20px;height:0}.mdc-legend-line.crit{border-top:2px solid #D85A30}.mdc-legend-line.solid{border-top:1.7px solid #9a988f}.mdc-legend-line.dashed{border-top:1.3px dashed #9a988f}.mdc-legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#9a988f}.mdc-legend-arrow{color:#9a988f;font-size:11px}.mdc-legend-sep{width:1px;height:14px;background:#e2e2dc}.mdc-bar.critical{box-shadow:inset 0 -3px 0 -1.5px #d85a30}.mdc-bar.critical.selected{box-shadow:0 0 0 2px #0053d459,inset 0 -3px 0 -1.5px #d85a30}.mdc-body{flex:1;display:flex;min-height:0}.mdc-canvas-area{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.mdc-canvas-scroll{flex:1;min-height:0;overflow:auto;padding:20px;scrollbar-gutter:stable}.mdc-empty,.mdc-no-template{max-width:460px;margin:60px auto;text-align:center;color:#6b7280;font-size:14px;line-height:1.6}.mdc-no-template{display:flex;flex-direction:column;align-items:center;gap:14px}.mdc-canvas{display:flex;position:relative}.mdc-labels{position:sticky;left:0;z-index:4;width:190px;flex-shrink:0;background:#fbfbfa}.mdc-labels-spacer{height:34px}.mdc-label-row{display:flex;align-items:center;gap:8px;width:100%;height:52px;padding:0 10px 0 4px;border:none;background:transparent;cursor:pointer;text-align:left;border-radius:6px}.mdc-label-row:hover{background:#0f172a08}.mdc-label-row.selected{background:#eff6ff}.mdc-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:#c2c0b6}.mdc-label-text{font-size:13px;font-weight:500;color:#3a3f4b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mdc-anchor-flag{color:#d85a30;flex-shrink:0}.mdc-grid{position:relative;flex-shrink:0}.mdc-gridline{position:absolute;top:34px;bottom:0;width:1px;background:#efede6}.mdc-due-rail{position:absolute;top:0;bottom:0;width:2px;background:#d85a3080;z-index:3}.mdc-due-label{position:absolute;top:6px;left:6px;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:#993c1d;white-space:nowrap;background:#faece7;border-radius:4px;padding:2px 6px}.mdc-snap-guide{position:absolute;top:34px;bottom:0;width:2px;background:#d85a30;opacity:.7;z-index:5}.mdc-rows{position:absolute;left:0}.mdc-links{position:absolute;left:0;top:0;pointer-events:none;z-index:1}.mdc-bar{position:absolute;border-radius:6px;border:1.5px solid;box-sizing:border-box;z-index:2;display:flex;align-items:center;padding-left:8px;-webkit-user-select:none;user-select:none;touch-action:none}.mdc-bar.selected{box-shadow:0 0 0 2px #0053d459}.mdc-bar.drop-ok{box-shadow:0 0 0 2.5px #1d9e75;border-color:#0f6e56!important}.mdc-bar.drop-invalid{box-shadow:0 0 0 2.5px #e24b4a;border-color:#a32d2d!important}.mdc-bar.anchor{border-style:dashed}.mdc-bar-label{font-size:12px;font-weight:600;pointer-events:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.mdc-bar-sub{display:inline-flex;align-items:center;gap:2px;opacity:.7;font-weight:500}.mdc-resize{position:absolute;right:0;top:0;height:100%;width:13px;cursor:ew-resize;display:flex;align-items:center;justify-content:center;z-index:4}.mdc-resize span{width:3px;height:15px;border-radius:2px;opacity:.5}.mdc-bar:hover .mdc-resize span{opacity:.85}.mdc-linkdot{position:absolute;right:-17px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid;cursor:crosshair;z-index:6;opacity:0;transition:opacity .12s ease}.mdc-bar:hover .mdc-linkdot,.mdc-bar.selected .mdc-linkdot{opacity:1}.mdc-unplaced{flex-shrink:0;max-height:240px;overflow-y:auto;padding:12px 16px;border-top:1px solid #e8e8e4;background:#fff}.mdc-unplaced-head{font-size:12px;font-weight:600;color:#8a8a83;margin-bottom:8px}.mdc-unplaced-chip{display:inline-flex;align-items:center;gap:8px;margin:0 8px 8px 0;padding:6px 10px;border:1px solid #dedcd4;border-radius:20px;background:#f6f5f0;cursor:grab;font-size:12.5px;color:#3a3f4b;touch-action:none}.mdc-unplaced-chip:hover{border-color:#b6b4aa}.mdc-unplaced-chip.dragging{opacity:.5;cursor:grabbing}.mdc-unplaced-reason{font-size:11px;color:#9a9a92}.mdc-link-cue{position:fixed;z-index:10060;pointer-events:none;background:#1f2430;color:#fff;font-size:12px;padding:5px 9px;border-radius:6px;white-space:nowrap}.mdc-link-cue.invalid{background:#a32d2d}.mdc-drag-ghost{position:fixed;z-index:10061;pointer-events:none;transform:translate(-50%,-160%);display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:20px;background:#fff;border:1px solid #b6b4aa;box-shadow:0 6px 18px #0000002e;font-size:12.5px;color:#1f2430;white-space:nowrap}.mdc-drag-ghost.invalid{border-color:#e24b4a}.mdc-drag-ghost-label{font-weight:600}.mdc-drag-ghost-hint{color:#8a8a83;font-size:11px}.mdc-detail{width:320px;flex-shrink:0;border-left:1px solid #e8e8e4;background:#fff;display:flex;flex-direction:column;min-height:0}.mdc-detail-head{display:flex;align-items:center;gap:8px;padding:14px 14px 10px;border-bottom:1px solid #f0efe9}.mdc-detail-name{flex:1;border:none;font-size:15px;font-weight:600;color:#1f2430;padding:4px 0;outline:none}.mdc-detail-name:focus{border-bottom:1.5px solid #0053d4}.mdc-detail-close{border:none;background:transparent;color:#9a9a92;cursor:pointer;padding:4px;border-radius:6px}.mdc-detail-close:hover{background:#0f172a0f;color:#1f2430}.mdc-detail-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:16px}.mdc-field-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#8a8a83;margin-bottom:6px}.mdc-field-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.mdc-field-row.two{display:grid;grid-template-columns:1fr 90px;align-items:end}.mdc-field-block{display:flex;flex-direction:column}.mdc-input,.mdc-select{width:100%;border:1px solid #dcdcd6;border-radius:7px;padding:7px 9px;font-size:13px;box-sizing:border-box}.mdc-uom{text-transform:uppercase;text-align:center;letter-spacing:.05em}.mdc-hint{font-size:11.5px;color:#9a9a92;line-height:1.45;margin:6px 0 0}.mdc-hint-inline{font-size:11px;color:#9a9a92}.mdc-seg{display:inline-flex;border:1px solid #e2e2dc;border-radius:7px;overflow:hidden}.mdc-seg button{border:none;background:#fff;padding:5px 12px;font-size:12.5px;color:#5f6368;cursor:pointer}.mdc-seg button+button{border-left:1px solid #e2e2dc}.mdc-seg button.active{background:#0053d4;color:#fff}.mdc-set-anchor{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 10px;border:1px dashed #e6cfc7;border-radius:7px;background:#fff;color:#993c1d;cursor:pointer;font-size:12.5px}.mdc-set-anchor:hover{background:#fdf3ef}.mdc-anchor-note{display:flex;gap:6px;font-size:12px;color:#993c1d;background:#faece7;border-radius:8px;padding:8px 10px;line-height:1.45}.mdc-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.mdc-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 6px 4px 9px;border-radius:16px;background:#eef2f7;font-size:12px;color:#35506f}.mdc-chip button{border:none;background:transparent;color:#7d95ac;cursor:pointer;display:inline-flex;padding:1px;border-radius:50%}.mdc-chip button:hover{background:#00000014;color:#35506f}.mdc-gap-input{display:flex;align-items:center;gap:8px}.mdc-gap-input input{width:64px;border:1px solid #dcdcd6;border-radius:7px;padding:6px 8px;font-size:13px;text-align:right}.mdc-subtask{display:flex;gap:6px;margin-bottom:6px}.mdc-subtask button{flex-shrink:0;width:32px;border:1px solid #dcdcd6;border-radius:7px;background:#fff;color:#5f6368;cursor:pointer}.mdc-subtask button:disabled{opacity:.4;cursor:default}.mdc-detail-footer{flex-shrink:0;padding:12px 14px;border-top:1px solid #f0efe9}.mdc-delete{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #f0c9c9;border-radius:7px;background:#fff;color:#b91c1c;cursor:pointer;font-size:12.5px}.mdc-delete:hover{background:#dc26260f}.entity-chip{display:inline-flex;align-items:center;line-height:1;gap:5px;height:28px;padding:0 8px 0 10px;border-radius:4px;border:1px solid var(--border);background:var(--bg-secondary);font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;vertical-align:middle;max-width:320px;transition:border-color .15s ease,background .15s ease;text-decoration:none}.entity-chip:hover{border-color:var(--accent);background:var(--bg-hover)}.entity-chip:hover .entity-chip-arrow{opacity:1}.entity-chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;align-self:center}.entity-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1}.entity-chip-meta{font-size:11px;font-weight:500;color:var(--text-muted);flex-shrink:0;white-space:nowrap;line-height:1}.entity-chip-arrow{font-size:12px;color:var(--text-muted);flex-shrink:0;opacity:0;transition:opacity .15s ease;line-height:1}.entity-chip-list{display:flex;flex-direction:column;gap:4px;margin:4px 0}.entity-chip-list .entity-chip{display:flex;width:100%;max-width:300px}.entity-chip-list .entity-chip .entity-chip-name{flex:none}.entity-chip-more{display:flex;align-items:center;height:28px;width:100%;max-width:300px;padding:0 10px;border-radius:4px;border:1px dashed var(--border);background:transparent;font-size:11px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:border-color .15s ease,color .15s ease}.entity-chip-more:hover{border-color:var(--accent);color:var(--text-primary)}.entity-chip-list .entity-chip .entity-chip-meta{flex:none}.entity-chip-list .entity-chip .entity-chip-arrow{margin-left:auto;opacity:1}.assistant-home-content{flex:1;min-height:0;display:flex;flex-direction:row;overflow:hidden}.assistant-home-content .assistant-home-chat{flex:1;min-height:0;min-width:380px;max-width:none;margin:0;width:auto}.assistant-home-content:not(.has-panel) .assistant-home-chat{max-width:780px;margin:0 auto;width:100%}.agent-side-panel{width:380px;flex-shrink:0;border-left:1px solid var(--border);background:var(--bg-primary);display:flex;flex-direction:column;min-height:0;animation:sidePanelIn .2s ease-out}@keyframes sidePanelIn{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.agent-side-panel-header{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:44px;border-bottom:1px solid var(--border);flex-shrink:0}.agent-side-panel-header-left{display:flex;align-items:center;gap:6px;min-width:0}.agent-side-panel-header-icon{color:var(--text-muted);flex-shrink:0}.agent-side-panel-title{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-side-panel-back,.agent-side-panel-close{display:grid;place-items:center;width:28px;height:28px;border:0;background:transparent;border-radius:2px;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.agent-side-panel-back:hover,.agent-side-panel-close:hover{background:var(--bg-hover);color:var(--text-primary)}.agent-side-panel-content{flex:1;overflow-y:auto;padding:12px}.agent-side-panel-milestones{display:flex;flex-direction:column;gap:2px}.agent-side-panel-milestone{display:flex;align-items:stretch;gap:10px;padding:9px 0;border-bottom:1px solid var(--border-light)}.agent-side-panel-milestone:last-child{border-bottom:0}.agent-side-panel-track-bar{width:3px;border-radius:2px;flex-shrink:0;align-self:stretch}.agent-side-panel-milestone-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.agent-side-panel-milestone-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.agent-side-panel-milestone-name{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-side-panel-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.agent-side-panel-milestone-meta{display:flex;align-items:center;gap:8px}.agent-side-panel-track-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.agent-side-panel-date-range{font-size:11px;font-weight:500;color:var(--text-muted)}.agent-side-panel-actions{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0}.agent-side-panel-btn-primary{height:32px;padding:0 12px;border:0;border-radius:2px;background:var(--accent);color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease}.agent-side-panel-btn-primary:hover{background:var(--accent-hover)}.agent-side-panel-btn-ghost{height:32px;padding:0 12px;border:1px solid var(--border);border-radius:2px;background:transparent;color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.agent-side-panel-btn-ghost:hover{background:var(--bg-hover);border-color:var(--text-muted)}.agent-composer-files{display:flex;flex-direction:column;gap:4px;padding:8px 12px 0}.agent-composer-file-error{font-size:11px;font-weight:500;color:var(--error);padding:4px 12px 0}.agent-composer .agent-composer-upload{width:30px;height:30px;flex-shrink:0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;display:grid;place-items:center;transition:background .15s ease,color .15s ease}.agent-composer .agent-composer-upload:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.agent-composer .agent-composer-upload:disabled{opacity:.4;cursor:default}.agent-file-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px 0 8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-primary);max-width:280px}.agent-file-chip-icon{color:#16a34a;flex-shrink:0}.agent-file-chip-name{font-size:12px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-file-chip-size{font-size:11px;font-weight:500;color:var(--text-muted);flex-shrink:0}.agent-file-chip-remove{display:grid;place-items:center;margin-left:auto;width:18px;height:18px;border:0;background:transparent;border-radius:2px;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.agent-file-chip-remove:hover{background:var(--bg-hover);color:var(--text-primary)}.agent-composer.drag-over{border-color:var(--accent);background:var(--accent-light)}.agent-bubble-files{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.agent-bubble-file-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;opacity:.85}.agent-msg-files{display:flex;flex-direction:column;gap:3px;margin-bottom:4px}.agent-msg-file-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500}.assistant-home[data-theme=dark] .entity-chip{border-color:#ffffff1a;background:#ffffff0d;color:#ffffffe6}.assistant-home[data-theme=dark] .entity-chip:hover{border-color:var(--accent);background:#2563eb26}.assistant-home[data-theme=dark] .agent-side-panel{border-color:#ffffff14;background:#1e1e22}.assistant-home[data-theme=dark] .agent-side-panel-header{border-color:#ffffff14}.assistant-home[data-theme=dark] .agent-side-panel-milestone{border-color:#ffffff0f}.assistant-home[data-theme=dark] .agent-side-panel-actions{border-color:#ffffff14}.assistant-home[data-theme=dark] .agent-file-chip{border-color:#ffffff1a;background:#ffffff0a}.assistant-home[data-theme=dark] .agent-composer.drag-over{background:#2563eb1f}.assistant-home-menu{position:fixed;z-index:9999;min-width:160px;background:var(--bg-primary, #fff);border:1px solid var(--border, #e5e7eb);border-radius:8px;box-shadow:0 4px 16px #0000001a;padding:4px 0}.assistant-home[data-theme=dark] .assistant-home-menu{background:#2a3345;border-color:#ffffff1a}.assistant-home-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;font-size:12px;font-weight:500;color:var(--text-primary);background:transparent;border:0;cursor:pointer;text-align:left;transition:background .15s ease}.assistant-home-menu-item:hover{background:var(--bg-hover, #f3f4f6)}.assistant-home[data-theme=dark] .assistant-home-menu-item:hover{background:#ffffff0f}.assistant-home-menu-item--danger{color:#d42e15}.assistant-home-menu-item svg{flex-shrink:0;color:var(--text-secondary)}.assistant-home-menu-item--danger svg{color:#d42e15}.assistant-home-menu-divider{height:1px;background:var(--border, #e5e7eb);margin:4px 0}.assistant-home[data-theme=dark] .assistant-home-menu-divider{background:#ffffff14}.assistant-home-title-input{flex:1;font-size:12px;font-weight:600;border:0;border-bottom:1px solid var(--accent);background:transparent;color:inherit;outline:none;padding:2px 0}.agent-row-meta.agent-row-error{flex-direction:column;align-items:flex-start;gap:8px}.agent-row-error-text{display:block}.agent-retry-btn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;padding:4px 10px;border:1px solid rgba(212,46,21,.3);border-radius:4px;background:transparent;color:#d42e15;cursor:pointer;transition:background .15s ease}.agent-retry-btn:hover:not(:disabled){background:#d42e1512}.agent-retry-btn:disabled{opacity:.4;cursor:default}.agent-side-panel-edit-list{display:flex;flex-direction:column}.agent-side-panel-edit-row{display:flex;align-items:stretch;gap:0;border-bottom:1px solid var(--border, #e5e7eb);padding:8px 0}.agent-side-panel-edit-body{flex:1;display:flex;flex-direction:column;gap:4px;padding:0 12px}.agent-side-panel-edit-name{font-size:12px;font-weight:500;color:var(--text-primary, #19202c)}.agent-side-panel-edit-dates{display:flex;align-items:center;gap:4px}.agent-side-panel-date-input{width:72px;font-size:11px;font-weight:500;padding:3px 6px;border:1px solid var(--border, #e5e7eb);border-radius:2px;background:var(--bg-primary, #fff);color:var(--text-primary, #19202c);outline:none}.agent-side-panel-date-input:focus{border-color:var(--accent, #2563eb)}.agent-side-panel-date-sep{font-size:11px;color:var(--text-muted)}.agent-side-panel-search{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border, #e5e7eb)}.agent-side-panel-search-icon{flex-shrink:0;color:var(--text-muted)}.agent-side-panel-search-input{flex:1;border:0;background:transparent;font-size:12px;font-weight:500;color:var(--text-primary);outline:none}.agent-side-panel-search-input::placeholder{color:var(--text-muted);font-weight:400}.agent-template-list{display:flex;flex-direction:column}.agent-template-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border:0;border-bottom:1px solid var(--border, #e5e7eb);background:transparent;cursor:pointer;text-align:left;transition:background .15s ease;width:100%}.agent-template-row:hover{background:var(--bg-hover, #f3f4f6)}.agent-template-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.agent-template-name{font-size:12px;font-weight:500;color:var(--text-primary)}.agent-template-desc{font-size:11px;font-weight:500;color:var(--text-muted)}.agent-template-row-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.agent-template-count{font-size:11px;font-weight:500;color:var(--text-muted);white-space:nowrap}.agent-template-arrow{color:var(--text-muted);opacity:0;transition:opacity .15s ease}.agent-template-row:hover .agent-template-arrow{opacity:1}.agent-template-empty{padding:20px 12px;font-size:12px;font-weight:500;color:var(--text-muted);text-align:center}.spv-overlay{position:fixed;inset:0;z-index:10000;background:#000000a6;display:flex;flex-direction:column;align-items:center;overflow-y:auto;padding:16px 16px 48px;gap:12px}.spv-toolbar{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:816px;flex-shrink:0}.spv-print-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:500;background:#2563eb;color:#fff;border:0;border-radius:2px;cursor:pointer;transition:background .15s ease}.spv-print-btn:hover{background:#1d4ed8}.spv-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:2px;background:#ffffff26;color:#fff;cursor:pointer;transition:background .15s ease}.spv-close-btn:hover{background:#ffffff40}.spv-doc{width:816px;flex-shrink:0;background:#fff;color:#19202c;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;padding:48px 60px 56px;box-shadow:0 12px 48px #00000047;print-color-adjust:exact;-webkit-print-color-adjust:exact}.spv-doc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.spv-brand{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#19202c;letter-spacing:.01em}.spv-badge{font-size:9px;font-weight:600;padding:3px 8px;border-radius:2px;letter-spacing:.06em;text-transform:uppercase}.spv-badge--risk{background:#fef3c7;color:#92400e}.spv-badge--ok{background:#d1fae5;color:#065f46}.spv-badge--delayed{background:#fee2e2;color:#991b1b}.spv-rule{height:1px;background:#e5e7eb;margin-bottom:28px}.spv-rule--top{margin-top:32px;margin-bottom:16px}.spv-identity{margin-bottom:24px}.spv-proj-name{font-size:26px;font-weight:700;color:#111827;margin:0 0 2px;letter-spacing:-.025em;line-height:1.2}.spv-proj-sub{font-size:13px;font-weight:500;color:#6b7280;margin:0 0 10px}.spv-proj-meta{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:#6b7280;flex-wrap:wrap}.spv-dot{color:#d1d5db}.spv-stats{display:flex;align-items:stretch;border:1px solid #E5E7EB;border-radius:4px;overflow:hidden;margin-bottom:36px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.spv-stat{flex:1;display:flex;flex-direction:column;gap:5px;padding:14px 18px}.spv-stat-sep{width:1px;background:#e5e7eb;flex-shrink:0}.spv-stat-label{font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af}.spv-stat-value{font-size:14px;font-weight:600;color:#111827}.spv-track{margin-bottom:32px}.spv-track-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.spv-track-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.spv-track-name{font-size:10px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.spv-table{width:100%;border-collapse:collapse}.spv-table thead tr{border-bottom:1px solid #E5E7EB}.spv-table th{text-align:left;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#9ca3af;padding:0 12px 8px 0;white-space:nowrap}.spv-th-right{text-align:right}.spv-table tbody tr{border-bottom:1px solid #F3F4F6}.spv-table tbody tr:last-child{border-bottom:0}.spv-table td{padding:10px 12px 10px 0;font-size:12px;font-weight:500;color:#374151;vertical-align:middle}.spv-td-name{font-weight:600;color:#111827!important}.spv-td-status{text-align:right}.spv-status-pill{display:inline-block;padding:2px 8px;border-radius:10px;border:1px solid;font-size:10px;font-weight:500;white-space:nowrap;print-color-adjust:exact;-webkit-print-color-adjust:exact}.spv-footer{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:500;color:#9ca3af}@media print{html[data-printing] body>*{display:none!important}html[data-printing] .spv-overlay{position:fixed!important;inset:0!important;display:flex!important;background:#fff!important;padding:0!important;overflow:visible!important;align-items:flex-start!important;justify-content:center!important}html[data-printing] .no-print{display:none!important}html[data-printing] .spv-doc{box-shadow:none!important;width:100%!important;padding:20mm 25mm!important}}.assistant-home-newchat-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;font-family:inherit;color:var(--text-primary);background:transparent;border:1px solid var(--border);border-radius:2px;cursor:pointer;transition:background .12s ease,border-color .12s ease;white-space:nowrap}.assistant-home-newchat-btn:hover{background:var(--ah-hover);border-color:var(--text-muted)}.agent-composer{position:relative}.agent-composer-ac{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 16px #0000001f;overflow:hidden;z-index:100}.agent-composer-ac-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:0;font-family:inherit;font-size:12px;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .1s ease}.agent-composer-ac-item:hover,.agent-composer-ac-item.active{background:var(--bg-hover)}.agent-composer-ac-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.agent-composer-ac-badge--project{background:#eff6ff;color:#1d4ed8}.agent-composer-ac-badge--template{background:#faf5ff;color:#7c3aed}.agent-composer-ac-label{flex:1}.agent-composer-ac-hint{padding:5px 12px 7px;font-size:10px;color:var(--text-muted);border-top:1px solid var(--border)}[data-theme=dark] .agent-composer-ac-badge--project{background:#2563eb26;color:#93c5fd}[data-theme=dark] .agent-composer-ac-badge--template{background:#7c3aed26;color:#c4b5fd}.agent-template-editor-list{display:flex;flex-direction:column;gap:2px}.agent-template-editor-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--border)}.agent-template-editor-row:last-child{border-bottom:0}.agent-template-editor-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.agent-template-editor-name{font-size:12px;font-weight:500;color:var(--text-primary)}.agent-template-editor-track{font-size:11px;color:var(--text-muted)}.agent-template-days-wrap{display:flex;align-items:center;gap:5px;flex-shrink:0}.agent-template-days-input{width:44px;padding:4px 6px;font-family:inherit;font-size:12px;font-weight:500;text-align:center;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;outline:none;-moz-appearance:textfield}.agent-template-days-input::-webkit-inner-spin-button,.agent-template-days-input::-webkit-outer-spin-button{-webkit-appearance:none}.agent-template-days-input:focus{border-color:#80808080}.agent-template-days-unit{font-size:11px;color:var(--text-muted)}.assistant-home-app-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:0;background:transparent;font-family:inherit;font-size:13px;font-weight:500;color:var(--ah-text-muted);cursor:pointer;border-radius:6px;text-align:left;transition:color .12s ease,background .12s ease}.assistant-home-app-btn:hover{color:var(--ah-text);background:var(--ah-hover)}.assistant-home-app-btn.active{color:var(--ah-text);background:var(--ah-item-active)}.home-view{flex:1;overflow-y:auto;padding:36px 48px 80px;display:flex;flex-direction:column;gap:36px;max-width:860px;width:100%;margin:0 auto;box-sizing:border-box}.home-greeting{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.home-greeting-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.01em}.home-greeting-sub{font-size:13px;color:var(--text-muted);font-weight:400}.home-greeting-date{font-size:12px;color:var(--text-muted);white-space:nowrap;padding-top:5px;flex-shrink:0}.home-all-clear{display:flex;align-items:center;gap:10px;padding:18px 20px;border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:500;color:var(--text-muted)}.home-flags{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden}.home-flag-card{display:flex;align-items:flex-start;gap:12px;padding:13px 14px 13px 16px;border-left:3px solid var(--hf-color, var(--border));border-bottom:1px solid var(--border);min-height:68px;transition:background .1s ease;position:relative}.home-flag-card:last-of-type{border-bottom:0}.home-flag-card:hover{background:var(--bg-hover)}.home-flag-card:hover .home-flag-more{opacity:1}.home-flag-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.home-flag-line1{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;line-height:1.4}.home-flag-signal{font-size:12px;font-weight:600;color:var(--text-primary)}.home-flag-entity{font-size:12px;font-weight:400;color:var(--text-muted)}.home-flag-detail{font-size:12px;font-weight:500;color:var(--text-primary);margin:0}.home-flag-footer{display:flex;align-items:center;gap:10px;margin-top:5px;flex-wrap:wrap}.home-flag-trend{font-size:11px;font-weight:500}.home-flag-why-btn{font-size:11px;font-weight:500;color:var(--text-muted);background:transparent;border:0;cursor:pointer;padding:0;font-family:inherit;text-decoration:underline;text-underline-offset:2px}.home-flag-why-btn:hover{color:var(--text-primary)}.home-flag-action{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--text-primary);text-decoration:none;padding:3px 9px;border:1px solid var(--border);border-radius:2px;background:transparent;transition:background .1s ease;white-space:nowrap;flex-shrink:0}.home-flag-action:hover{background:var(--bg-hover)}.home-flag-why-text{font-size:11px;line-height:1.55;color:var(--text-muted);padding-top:7px;border-top:1px dashed var(--border);margin-top:4px}.home-flag-menu-wrap{position:relative;flex-shrink:0;margin-top:-2px}.home-flag-more{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;background:transparent;cursor:pointer;border-radius:4px;color:var(--text-muted);opacity:0;transition:opacity .1s ease,background .1s ease}.home-flag-more:hover{background:var(--bg-hover);color:var(--text-primary)}.home-flag-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 14px #0000001f;min-width:172px;z-index:200;overflow:hidden}.home-flag-dropdown-item{display:block;width:100%;padding:9px 14px;background:transparent;border:0;font-family:inherit;font-size:12px;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .1s ease}.home-flag-dropdown-item:hover{background:var(--bg-hover)}.home-dismissed-bar{padding:8px 16px;background:var(--bg-secondary);border-top:1px solid var(--border)}.home-dismissed-restore{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);background:transparent;border:0;cursor:pointer;font-family:inherit;padding:0}.home-dismissed-restore:hover{color:var(--text-primary)}.home-section{display:flex;flex-direction:column;gap:14px}.home-section-title{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin:0}.home-project-cards{display:flex;gap:12px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.home-project-card{flex-shrink:0;width:190px;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;transition:background .1s ease,border-color .1s ease}.home-project-card:hover{background:var(--bg-hover);border-color:#8080804d}.home-project-card-hd{display:flex;align-items:center;gap:8px}.home-score-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.home-project-name{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-project-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);gap:4px}.home-progress-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden}.home-progress-fill{height:100%;border-radius:2px}.home-project-pct{font-size:11px;color:var(--text-muted)}.home-week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.home-week-day{display:flex;flex-direction:column;gap:4px;padding:8px 7px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;min-height:110px}.home-week-day.is-today{border-color:#2563eb59;background:#2563eb08}.home-week-day-hd{display:flex;flex-direction:column;gap:2px;padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:2px}.home-week-day-name{font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.home-week-day.is-today .home-week-day-name{color:#2563eb}.home-week-day-num{font-size:15px;font-weight:700;color:var(--text-primary);line-height:1}.home-week-blocks{display:flex;flex-direction:column;gap:3px}.home-week-block{padding:3px 5px;border-radius:3px}.home-week-block-name{font-size:9px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.home-briefing{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;max-width:780px;margin:0 auto}.home-briefing-log{flex:1;overflow-y:auto;padding:36px 12px 24px;display:flex;flex-direction:column;gap:22px}.home-briefing-cursor{display:inline-block;width:2px;height:13px;background:var(--text-primary);margin-left:1px;vertical-align:text-bottom;opacity:.7;animation:hb-blink .75s step-end infinite}@keyframes hb-blink{50%{opacity:0}}.home-chat-invite{display:flex;flex-direction:column;align-items:center;gap:14px;padding:8px 0 4px;animation:hb-fadein .4s ease both}@keyframes hb-fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.home-chat-invite-label{font-size:15px;font-weight:700;color:var(--text-primary);margin:0}.home-briefing-log .agent-row-body>.agent-md-p:first-child{font-size:15px;line-height:1.55;font-weight:400}.home-briefing-log .agent-row-body .agent-md-p{font-size:13px;line-height:1.6}.home-briefing-log .agent-md-heading{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding-top:24px;border-top:1px solid var(--border);margin:0 0 10px}.home-briefing-log .agent-md-heading:first-child{border-top:0;padding-top:0}.home-chat-invite{border-top:1px solid var(--border);padding-top:28px;margin-top:20px}.briefing-card{flex-shrink:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;margin:16px 0 0;overflow:hidden}.briefing-card-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:transparent;border:0;cursor:pointer;text-align:left;gap:8px;color:var(--text-primary)}.briefing-card-header:hover{background:#00000008}[data-theme=dark] .briefing-card-header:hover{background:#ffffff0a}.briefing-card-header-left{display:flex;align-items:center;gap:7px;min-width:0}.briefing-card-icon{color:var(--accent);flex-shrink:0}.briefing-card-title{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap}.briefing-card-ts{font-size:11px;color:var(--text-muted);margin-left:2px}.briefing-card-header-right{display:flex;align-items:center;gap:2px;flex-shrink:0}.briefing-card-refresh{display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:4px 5px;border-radius:4px;line-height:1}.briefing-card-refresh:hover{color:var(--text-primary);background:var(--bg-hover)}.briefing-card-toggle{display:flex;align-items:center;padding:4px 5px;color:var(--text-muted);pointer-events:none}.briefing-card-body{max-height:230px;overflow-y:auto;padding:0 14px 14px}.briefing-card-divider{height:1px;background:var(--border);margin:0 14px 12px}.briefing-card-body.agent-row-body>.agent-md-p:first-child,.briefing-card-body .agent-row-body>.agent-md-p:first-child{font-size:14px;line-height:1.5}.briefing-card-body .agent-md-p{font-size:13px;line-height:1.6}.briefing-card-body .agent-md-heading{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-top:1px solid var(--border);padding-top:12px;margin:0 0 8px}.briefing-card-body .agent-md-heading:first-child{border-top:0;padding-top:0}.assistant-home-chat>.agent-chat{flex:1;min-height:0}.sidebar-drag-ghost{position:fixed;top:0;left:0;z-index:9000;display:none;pointer-events:none;border-left:2px dashed #2563EB;border-right:2px dashed #2563EB;background:#2563eb1a;will-change:transform}.sidebar-drag-ghost.visible{display:block}.sidebar-drag-ghost-label{position:absolute;top:4px;left:50%;transform:translate(-50%);padding:2px 7px;border-radius:4px;background:#2563eb;color:#fff;font-size:11px;font-weight:600;line-height:16px;white-space:nowrap;box-shadow:0 2px 6px #2563eb59}.timeline-table-date-removed{color:#94a3b8;font-size:11px;font-style:italic}.timeline-table-split-badge{margin-left:5px;padding:0 5px;border-radius:3px;background:var(--bg-hover, #F1F5F9);color:var(--text-secondary);font-size:10px;font-weight:600;line-height:15px;white-space:nowrap}.dash-widget-menu-wrap{position:relative;display:flex}.dash-widget.dash-widget-menu-open .dash-widget-actions{opacity:1}.dash-widget-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:30;min-width:170px;padding:4px;border:1px solid var(--border-light);border-radius:8px;background:var(--bg-primary);box-shadow:0 8px 24px #0f172a24}.dash-widget-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-primary);font-size:12px;text-align:left;cursor:pointer}.dash-widget-menu-item:hover:not(:disabled){background:var(--bg-hover)}.dash-widget-menu-item:disabled{color:var(--text-muted);cursor:not-allowed}.dash-widget-sample-warning,.dash-widget-filter-warning{display:inline-flex;align-items:center;gap:4px;flex:none;padding:1px 6px;border-radius:999px;font-size:10px;font-weight:600;line-height:16px;white-space:nowrap;cursor:help}.dash-widget-sample-warning{background:#fde7e3;color:#b4260f}.dash-widget-filter-warning{background:#fef1cc;color:#8a5a00}.rb-table-calc-select{min-width:1.75rem;color:inherit!important;font-size:.625rem!important;font-weight:600!important;opacity:.65}.rb-table-calc-select:hover{opacity:1}.rb-table-calc-select--active{min-width:4.75rem;opacity:1}.rb-table-calc-select .MuiSelect-select{padding:0 1.125rem 0 .25rem!important}.rb-sort-select{flex:1;min-width:0;color:var(--text-primary)!important;font-size:.6875rem!important}.rb-sort-select .MuiSelect-select{padding:0 1.125rem 0 .375rem!important}.share-widget-dialog{width:440px}.share-widget-label{display:flex;flex-direction:column;gap:2px;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.share-widget-hint{font-weight:400;font-size:var(--font-size-xs);color:var(--text-secondary)}.share-widget-input{height:34px;margin-top:var(--space-2);padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);box-sizing:border-box}.share-widget-input:focus{outline:none;border-color:var(--accent)}.share-widget-input[aria-invalid=true]{border-color:var(--error)}.share-widget-error{font-size:var(--font-size-xs);color:var(--error)}.share-widget-footer{display:flex;justify-content:flex-end;gap:8px;padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--border)}.share-widget-footer .warning-dialog-btn{height:34px;padding:0 14px;letter-spacing:0}.share-widget-footer .warning-dialog-btn:disabled{opacity:.5;cursor:not-allowed}.widget-library{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;padding:16px;overflow-y:auto;box-sizing:border-box}.widget-library-header{display:flex;align-items:center;gap:12px;flex-shrink:0}.widget-library-heading{display:flex;flex-direction:column;gap:1px;margin-right:auto}.widget-library-heading h2{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.widget-library-heading span{font-size:var(--font-size-xs);color:var(--text-secondary)}.widget-library-search{display:flex;align-items:center;gap:6px;height:32px;padding:0 8px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-secondary);box-sizing:border-box}.widget-library-search input{width:190px;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:var(--font-size-sm)}.widget-library-notice{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-size-xs)}.widget-library-notice--error{border-color:var(--error);color:var(--error)}.widget-library-empty{margin:32px 0;text-align:center;font-size:var(--font-size-sm);color:var(--text-secondary)}.widget-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.widget-library-card{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-primary)}.widget-library-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.widget-library-card-name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);overflow-wrap:anywhere}.widget-library-card-type{flex-shrink:0;padding:1px 6px;border-radius:999px;background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-size-xs);white-space:nowrap}.widget-library-card-meta{display:flex;justify-content:space-between;gap:8px;font-size:var(--font-size-xs);color:var(--text-secondary)}.widget-library-card-title{font-size:var(--font-size-xs);color:var(--text-secondary);overflow-wrap:anywhere}.widget-library-card-actions{display:flex;align-items:center;gap:6px;margin-top:2px}.widget-library-add{flex:1;justify-content:center}.widget-library-remove{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer}.widget-library-remove:hover{background:var(--bg-hover);color:var(--error)}.widget-library-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:var(--font-size-xs);color:var(--text-secondary)}.widget-library-confirm-yes,.widget-library-confirm-no{height:26px;padding:0 10px;border-radius:2px;font-size:var(--font-size-xs);font-weight:500;cursor:pointer}.widget-library-confirm-yes{border:none;background:var(--error);color:#fff}.widget-library-confirm-no{border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary)}.rp-surface{background:var(--rp-canvas);color:var(--rp-text);font-family:var(--rp-font-body);font-size:var(--rp-font-body-size);min-height:100%;padding-top:12px;display:flex;flex-direction:column;container-type:inline-size;--bg-primary: var(--rp-surface);--bg-secondary: var(--rp-canvas);--bg-normally-off: var(--rp-surface-alt);--bg-hover: var(--rp-surface-alt);--border: var(--rp-border);--border-light: var(--rp-border);--text-primary: var(--rp-text);--text-secondary: var(--rp-text-secondary);--text-muted: var(--rp-text-muted);--accent: var(--rp-accent);--accent-light: var(--rp-accent-soft);--accent-hover: var(--rp-accent);--warning: var(--rp-warning);--error: var(--rp-negative);--success: var(--rp-positive)}.rp-eyebrow{display:flex;align-items:center;gap:6px;font-size:var(--rp-font-label-size);font-weight:500;letter-spacing:var(--rp-label-tracking);text-transform:uppercase;color:var(--rp-text-secondary)}.rp-eyebrow-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.rp-title-run--accent{color:var(--rp-accent)}.rp-title-run--italic{font-style:italic}.rp-header{display:grid;grid-template-columns:1fr auto;gap:10px 24px;padding:20px 24px 16px}.rp-header-main{min-width:0}.rp-header-eyebrow{margin-bottom:8px}.rp-header-title{margin:0;font-family:var(--rp-font-display);font-weight:500;font-size:calc(30px * var(--rp-display-scale));line-height:1.12;letter-spacing:-.01em;color:var(--rp-text)}.rp-header-subtitle{margin:6px 0 0;font-size:var(--rp-font-body-size);color:var(--rp-text-secondary)}.rp-header-meta{display:flex;gap:22px;align-items:flex-start;text-align:right}.rp-header-meta-item{display:flex;flex-direction:column;gap:3px}.rp-header-meta-label{font-size:var(--rp-font-label-size);letter-spacing:var(--rp-label-tracking);text-transform:uppercase;color:var(--rp-text-muted)}.rp-header-meta-value{font-family:var(--rp-font-mono);font-size:12px;color:var(--rp-text-secondary);letter-spacing:.04em}.rp-footer{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 24px 22px;font-size:11px;color:var(--rp-text-muted)}.rp-footer-hint{font-style:italic}.rp-control-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 24px 14px}.rp-chip-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0}.rp-chip-bar-label{font-size:var(--rp-font-label-size);letter-spacing:var(--rp-label-tracking);text-transform:uppercase;color:var(--rp-text-muted);white-space:nowrap}.rp-chip-bar-chips{display:flex;gap:6px;flex-wrap:wrap}.rp-chip{display:inline-flex;align-items:center;gap:7px;height:27px;padding:0 11px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--rp-text-secondary);font-family:inherit;font-size:11px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.rp-chip:hover{color:var(--rp-text);border-color:var(--rp-border)}.rp-chip--active{border-color:var(--rp-border-strong);background:var(--rp-surface);color:var(--rp-text)}.rp-chip-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.rp-chip-count{font-family:var(--rp-font-mono);font-size:10px;color:var(--rp-text-muted)}.rp-chip--active .rp-chip-count{color:var(--rp-text-secondary)}.rp-view-switcher{display:inline-flex;border:1px solid var(--rp-border);border-radius:2px;overflow:hidden;flex-shrink:0}.rp-view-tab{padding:0 15px;height:27px;border:none;background:transparent;color:var(--rp-text-secondary);font-family:inherit;font-size:10px;font-weight:500;letter-spacing:var(--rp-label-tracking);text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s}.rp-view-tab+.rp-view-tab{border-left:1px solid var(--rp-border)}.rp-view-tab:hover{color:var(--rp-text)}.rp-view-tab--active{background:var(--rp-accent);color:var(--rp-canvas)}.rp-panel{display:flex;flex-direction:column;height:100%;min-height:0;padding:var(--rp-panel-padding);border:var(--rp-panel-border-width) solid var(--rp-border);border-radius:var(--rp-panel-radius);background:var(--rp-surface);box-shadow:var(--rp-panel-shadow);box-sizing:border-box}.rp-panel--bare{padding:0;border:none;background:transparent;box-shadow:none}.rp-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;flex-shrink:0}.rp-panel-head-text{min-width:0}.rp-panel-title{margin:5px 0 0;font-family:var(--rp-font-display);font-weight:500;font-size:calc(17px * var(--rp-display-scale));line-height:1.2;color:var(--rp-text)}.rp-panel-subtitle{margin-top:4px;font-size:11px;color:var(--rp-text-muted)}.rp-panel-head-side{display:flex;align-items:center;gap:14px;flex-shrink:0}.rp-panel-head-metric{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.rp-panel-head-metric-label{font-size:var(--rp-font-label-size);letter-spacing:var(--rp-label-tracking);text-transform:uppercase;color:var(--rp-text-muted)}.rp-panel-head-metric-value{font-family:var(--rp-font-display);font-size:calc(22px * var(--rp-display-scale))}.rp-panel-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;scrollbar-width:thin}.rp-panel-footnote{margin-top:10px;padding-top:9px;border-top:1px solid var(--rp-border);font-size:10.5px;font-style:italic;color:var(--rp-text-muted);flex-shrink:0}.rp-legend{display:flex;gap:14px;flex-wrap:wrap}.rp-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--rp-text-secondary)}.rp-legend-item--dimmed{opacity:.55}.rp-legend-dot{width:6px;height:6px;border-radius:50%}.rp-strip{display:flex;flex:1;min-height:0;border:1px solid var(--rp-border);border-radius:var(--rp-panel-radius);background:var(--rp-surface);overflow:hidden}.rp-strip-cell{flex:1;min-width:0;display:flex;justify-content:safe center;padding:11px 16px}.rp-strip-cell+.rp-strip-cell{border-left:1px solid var(--rp-border)}.rp-strip-label{font-size:var(--rp-font-label-size);letter-spacing:var(--rp-label-tracking);text-transform:uppercase;color:var(--rp-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-strip-sublabel{font-size:10px;color:var(--rp-text-muted)}.rp-strip-value{font-family:var(--rp-font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.rp-strip--row .rp-strip-cell{flex-direction:column;gap:6px}.rp-strip--row .rp-strip-cell-labels{display:flex;flex-direction:column;gap:2px;min-width:0}.rp-strip--row .rp-strip-value{font-size:21px}.rp-strip--wide .rp-strip-cell{flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px}.rp-strip--wide .rp-strip-cell-labels{display:flex;flex-direction:column;gap:2px;min-width:0}.rp-strip--wide .rp-strip-value{font-size:27px}.rp-tiles{display:grid;gap:1px;background:var(--rp-border);border:1px solid var(--rp-border);flex:1;align-content:start}.rp-tile{display:flex;flex-direction:column;gap:5px;padding:11px 13px 13px;background:var(--rp-surface);min-width:0}.rp-tile-category{display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:var(--rp-label-tracking);text-transform:uppercase;color:var(--rp-text-muted)}.rp-tile-category-rule{width:3px;height:9px;flex-shrink:0}.rp-tile-label{font-size:11.5px;color:var(--rp-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rp-tile-value{font-family:var(--rp-font-mono);font-size:19px;font-variant-numeric:tabular-nums;margin-top:1px}.rp-tile-share{font-size:10px;color:var(--rp-text-muted)}.rp-chart{display:flex;flex-direction:column;flex:1;min-height:0}.rp-chart-plot-row{display:flex;flex:1;min-height:0;gap:8px}.rp-chart-axis-y{position:relative;width:42px;flex-shrink:0}.rp-chart-tick{position:absolute;right:0;transform:translateY(-50%);font-family:var(--rp-font-mono);font-size:9px;color:var(--rp-text-muted);white-space:nowrap}.rp-chart-plot{position:relative;flex:1;min-width:0;border-left:1px solid var(--rp-border);border-bottom:1px solid var(--rp-border)}.rp-chart-gridline{position:absolute;left:0;right:0;border-top:1px dotted var(--rp-border);pointer-events:none}.rp-chart-gridline--zero{border-top-style:solid;border-top-color:var(--rp-border-strong)}.rp-chart-gridline-v{position:absolute;top:0;bottom:0;border-left:1px dotted var(--rp-border);pointer-events:none}.rp-chart-refline{position:absolute;left:0;right:0;border-top-width:1px;border-top-style:dashed;pointer-events:none;z-index:2}.rp-chart-refline--solid{border-top-style:solid}.rp-chart-refline--dotted{border-top-style:dotted}.rp-chart-refline-label{position:absolute;right:2px;top:-13px;font-size:9px;letter-spacing:.04em;color:var(--rp-text-muted)}.rp-chart-axis-x{display:flex;margin-left:50px;padding-top:7px;gap:2px}.rp-chart-xlabel{flex:1;min-width:0;text-align:center;font-family:var(--rp-font-mono);font-size:9px;color:var(--rp-text-muted);white-space:nowrap;overflow:hidden}.rp-diverging-bars{position:absolute;inset:0;display:flex;gap:3px;padding:0 3px}.rp-diverging-slot{position:relative;flex:1;min-width:0}.rp-diverging-bar{position:absolute;left:0;right:0;min-height:1px;transition:opacity .15s}.rp-diverging-bar--dimmed{opacity:.4}.rp-diverging-slot:hover .rp-diverging-bar{opacity:.75}.rp-scatter-plot{overflow:visible}.rp-scatter-point{position:absolute;border-radius:50%;transform:translate(-50%,50%);opacity:.82;cursor:default;transition:opacity .15s}.rp-scatter-point:hover{opacity:1}.rp-scatter-diagonal{position:absolute;inset:0;width:100%;height:100%}.rp-scatter-ylabel{writing-mode:vertical-rl;transform:rotate(180deg);align-self:center;font-size:9.5px;color:var(--rp-text-muted);white-space:nowrap}.rp-scatter-axis-x{position:relative;height:16px;display:block}.rp-chart-tick-x{position:absolute;transform:translate(-50%);font-family:var(--rp-font-mono);font-size:9px;color:var(--rp-text-muted)}.rp-scatter-xlabel{margin-left:50px;text-align:center;font-size:9.5px;color:var(--rp-text-muted)}.rp-distribution{display:flex;flex-direction:column;gap:11px;flex:1;justify-content:safe center}.rp-distribution-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:5px}.rp-distribution-label{font-size:11px;color:var(--rp-text-secondary)}.rp-distribution-value{font-family:var(--rp-font-mono);font-size:11px;font-variant-numeric:tabular-nums}.rp-distribution-track{height:9px;background:var(--rp-surface-alt);overflow:hidden}.rp-distribution-fill{height:100%;transition:width .25s ease}.rp-ledger-wrap{flex:1;min-height:0;overflow:auto}.rp-ledger{width:100%;border-collapse:collapse;font-size:var(--rp-font-body-size)}.rp-ledger-th{position:sticky;top:0;z-index:1;padding:0 10px 8px;background:var(--rp-surface);border-bottom:1px solid var(--rp-border-strong);text-align:left;font-size:var(--rp-font-label-size);font-weight:500;letter-spacing:var(--rp-label-tracking);text-transform:uppercase;color:var(--rp-text-muted);white-space:nowrap}.rp-ledger-th-inner{display:inline-flex;align-items:center;gap:4px}.rp-ledger-cell--right{text-align:right}.rp-ledger-cell--center{text-align:center}.rp-ledger-tr{border-bottom:1px solid var(--rp-border)}.rp-ledger-tr--clickable{cursor:pointer}.rp-ledger-tr--clickable:hover{background:var(--rp-surface-alt)}.rp-ledger-cell{padding:7px 10px;height:var(--rp-row-height);color:var(--rp-text-secondary);vertical-align:middle}.rp-ledger-cell--mono{font-family:var(--rp-font-mono);font-variant-numeric:tabular-nums;color:var(--rp-text)}.rp-ledger-stacked{display:flex;flex-direction:column;gap:2px}.rp-ledger-stacked-primary{font-family:var(--rp-font-mono);font-size:11.5px;letter-spacing:.02em}.rp-ledger-stacked-secondary{font-size:10px;color:var(--rp-text-muted)}.rp-ledger-badge{display:inline-block;padding:2px 7px;background:var(--rp-surface-alt);border-radius:2px;font-size:9px;letter-spacing:var(--rp-label-tracking);text-transform:uppercase;color:var(--rp-text-secondary);white-space:nowrap}.rp-ledger-empty{color:var(--rp-text-muted)}.rp-ledger-truncated{padding:9px 10px;font-size:10.5px;font-style:italic;color:var(--rp-warning)}@keyframes rp-panel-arrive{0%{box-shadow:0 0 0 2px var(--rp-accent),0 0 0 8px #2563eb29}70%{box-shadow:0 0 0 2px var(--rp-accent),0 0 0 8px #2563eb1a}to{box-shadow:0 0 0 0 transparent,0 0 0 0 transparent}}.dash-widget--arriving>.dash-widget-body>.rp-panel{animation:rp-panel-arrive 2s ease-out forwards;border-radius:var(--rp-panel-radius)}@media(prefers-reduced-motion:reduce){.dash-widget--arriving>.dash-widget-body>.rp-panel{animation-duration:.01s}}.rp-surface .dash-widget--presented{background:transparent;border:none;box-shadow:none;padding:0}.rp-surface .dash-widget--presented .dash-widget-header{position:absolute;top:6px;right:8px;z-index:4;width:auto;min-height:0;padding:0;border:none;background:transparent}.rp-surface .dash-widget--presented .dash-widget-body{padding:0;overflow:visible}.rp-surface .dash-widget{position:relative}.rp-surface .dash-widget-empty{color:var(--rp-text-muted);font-size:11px}.rp-surface .dash-canvas{background:transparent;padding:0 24px}.rp-surface>.dash-canvas:first-child,.rp-surface>.free-canvas:first-child{padding-top:16px}.rp-surface .dash-widget--presented .dash-widget-drag,.rp-surface .dash-widget--presented .dash-widget-actions{opacity:0;transition:opacity .15s}.rp-surface .dash-widget--presented:hover .dash-widget-drag,.rp-surface .dash-widget--presented:hover .dash-widget-actions,.rp-surface .dash-widget--presented.dash-widget-menu-open .dash-widget-actions{opacity:1}@container (max-width: 720px){.rp-header{grid-template-columns:1fr}.rp-header-meta{text-align:left}.rp-strip{flex-wrap:wrap}.rp-strip-cell{flex-basis:50%}}@container (max-width: 1080px){.rp-surface .dash-canvas{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:none!important;grid-auto-rows:minmax(120px,auto)}.rp-surface .dash-canvas>.dash-widget{grid-column:auto / span 2!important;grid-row:auto!important;min-width:0;min-height:calc(var(--dash-rows, 2) * 110px)}.rp-surface .dash-canvas>.dash-widget[data-span="1"],.rp-surface .dash-canvas>.dash-widget[data-span="2"]{grid-column:auto / span 1!important}}@container (max-width: 900px){.rp-surface .free-canvas{position:static!important;height:auto!important;margin:0 16px;display:flex;flex-direction:column;gap:12px}.rp-surface .free-canvas>.free-item{position:static!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;min-height:min(var(--free-h, 160px),60vh)}.rp-surface .free-canvas-guide,.rp-surface .free-item-move,.rp-surface .free-item-resize{display:none}}@container (max-width: 640px){.rp-surface .dash-canvas{grid-template-columns:minmax(0,1fr)!important;padding:0 12px}.rp-surface .dash-canvas>.dash-widget,.rp-surface .dash-canvas>.dash-widget[data-span="1"],.rp-surface .dash-canvas>.dash-widget[data-span="2"]{grid-column:1 / -1!important}.rp-surface .free-canvas{margin:0 12px}.rp-header{padding:14px 12px 12px}.rp-header-title{font-size:calc(23px * var(--rp-display-scale))}.rp-control-row{padding:0 12px 12px}.rp-footer{padding:12px}.rp-strip{flex-direction:column}.rp-strip-cell{flex-basis:auto}.rp-strip-cell+.rp-strip-cell{border-left:none;border-top:1px solid var(--rp-border)}.rp-tiles{grid-template-columns:1fr!important}.rp-panel-head{flex-wrap:wrap;gap:8px}}@media(max-width:720px){.dash-toolbar{flex-wrap:wrap;align-items:flex-start;padding:8px 12px}.dash-toolbar-right{flex-wrap:wrap}.dash-add-btn{font-size:11px}.aw-modal,.aw-modal--browse{width:calc(100vw - 24px);max-height:88vh}.aw-browse-layout{flex-direction:column}.aw-browse-sidebar{width:100%;min-width:0;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--border)}.aw-browse-cat{width:auto;white-space:nowrap}.aw-browse-grid{grid-template-columns:repeat(2,1fr)}.report-settings-dialog{width:calc(100vw - 24px)}}.dash-config-divider{height:1px;margin:14px 0 10px;background:var(--border)}.dash-config-group-title{display:block;margin-bottom:8px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.dash-config-hint{display:block;margin:4px 0 8px;font-size:10.5px;line-height:1.4;color:var(--text-muted, #9CA3AF)}.dash-config-row{display:flex;gap:6px;align-items:flex-end;margin-bottom:4px;flex-wrap:wrap}.dash-config-row .dash-config-input{flex:1;min-width:0}.dash-config-input--narrow{flex:0 0 68px;width:68px}.dash-config-textarea{resize:vertical;min-height:42px;font-family:inherit;line-height:1.4}.dash-config-inline-label{display:flex;flex-direction:column;gap:3px;font-size:10.5px;color:var(--text-secondary)}.dash-config-checkbox{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-primary);cursor:pointer;white-space:nowrap}.dash-config-mini-btn{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-secondary);font-size:10.5px;cursor:pointer}.dash-config-mini-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.dash-config-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer}.dash-config-icon-btn:hover{background:var(--bg-hover);color:var(--error)}.dash-config-option:disabled{opacity:.4;cursor:not-allowed}.report-settings-dialog{width:520px;max-height:calc(100vh - 64px);display:flex;flex-direction:column}.report-settings-body{padding:var(--space-4);overflow-y:auto;min-height:0}.report-settings-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.report-settings-section-head .dash-config-group-title{margin-bottom:0}.report-settings-themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.report-theme-swatch{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;text-align:left}.report-theme-swatch:hover{border-color:var(--border-strong, #D1D5DB)}.report-theme-swatch.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.report-theme-name{font-size:11.5px;font-weight:500;color:var(--text-primary)}.report-theme-hint{font-size:10px;color:var(--text-muted, #9CA3AF)}.report-theme-colors{display:flex;gap:3px}.report-theme-colors span{width:16px;height:12px;border-radius:2px;border:1px solid rgba(0,0,0,.12)}.report-settings-chip-row{display:flex;align-items:center;gap:6px;margin-bottom:5px;flex-wrap:wrap}.report-settings-chip-row .dash-config-input{flex:1;min-width:90px}.report-settings-tone-row{display:flex;gap:3px;flex-shrink:0}.report-settings-dialog{--rp-accent: #E0B072;--rp-info: #8EA9C9;--rp-positive: #7F9A67;--rp-negative: #C65441;--rp-warning: #D9A24A;--rp-text-muted: #9CA3AF}.report-settings-tone{width:15px;height:15px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.report-settings-tone.active{border-color:var(--text-primary)}.add-panel-wrap{position:relative}.add-panel-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:300;width:268px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);box-shadow:0 8px 24px #00000024}.add-panel-menu-head{padding:7px 9px 8px;border-bottom:1px solid var(--border);margin-bottom:3px;font-size:10.5px;line-height:1.4;color:var(--text-muted, #9CA3AF)}.add-panel-item{display:flex;align-items:flex-start;gap:9px;width:100%;padding:7px 9px;border:none;border-radius:2px;background:transparent;color:var(--text-secondary);font-family:inherit;text-align:left;cursor:pointer}.add-panel-item:hover{background:var(--bg-hover);color:var(--text-primary)}.add-panel-item-text{display:flex;flex-direction:column;gap:1px;min-width:0}.add-panel-item-label{font-size:12px;font-weight:500;color:var(--text-primary)}.add-panel-item-desc{font-size:10.5px;color:var(--text-muted, #9CA3AF)}.rp-chart-refline-v{position:absolute;top:0;bottom:0;border-left-width:1px;border-left-style:dashed;pointer-events:none;z-index:2}.rp-chart-refline-v.rp-chart-refline--solid{border-left-style:solid}.rp-chart-refline-v.rp-chart-refline--dotted{border-left-style:dotted}.rp-chart-refline-v .rp-chart-refline-label{right:auto;left:3px;top:2px}.panel-data-dialog{width:min(880px,calc(100vw - 40px));max-height:calc(100vh - 56px);display:flex;flex-direction:column}.panel-data-body{padding:var(--space-4);overflow:auto;min-height:0}.panel-data-grid-head,.panel-data-grid-row{display:grid;gap:6px;align-items:center}.panel-data-grid-head{margin:10px 0 5px}.panel-data-grid-row{margin-bottom:5px}.panel-data-col-label{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted, #9CA3AF)}.panel-data-row-actions{display:flex;gap:3px}.panel-data-icon{width:21px;height:26px}.panel-data-icon:disabled{opacity:.3;cursor:not-allowed}.panel-data-select{padding-right:4px}.panel-data-column-row{display:grid;grid-template-columns:2fr 1.1fr 1fr 1.1fr auto 34px;gap:6px;align-items:center;margin-bottom:5px}.panel-data-dialog .dash-config-input{width:100%;min-width:0;box-sizing:border-box}.free-canvas{position:relative;margin:0 24px}.free-item{box-sizing:border-box}.free-item--active{outline:1px solid var(--rp-accent);outline-offset:2px;z-index:5}.free-item>.dash-widget{position:relative;width:100%;height:100%}.free-item-move{position:absolute;top:0;left:0;right:76px;height:22px;cursor:grab;z-index:3}.free-item-move:active{cursor:grabbing}.free-item--selected>.free-item-move{background:linear-gradient(var(--rp-accent-soft),transparent);opacity:.55}.free-item-resize{position:absolute;right:-3px;bottom:-3px;width:16px;height:16px;cursor:nwse-resize;z-index:4;opacity:0;transition:opacity .15s}.free-item-resize:after{content:"";position:absolute;right:4px;bottom:4px;width:7px;height:7px;border-right:2px solid var(--rp-accent);border-bottom:2px solid var(--rp-accent)}.free-item--selected>.free-item-resize,.free-item--active>.free-item-resize{opacity:1}.free-item:not(.free-item--selected)>.free-item-resize{pointer-events:none}.free-canvas-guide{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed var(--rp-accent);opacity:.6;pointer-events:none;z-index:6}.rp-text{width:100%;font-family:var(--rp-font-body);color:var(--rp-text);white-space:pre-wrap;overflow-wrap:anywhere}.rp-text--left{text-align:left}.rp-text--center{text-align:center}.rp-text--right{text-align:right}.rp-text--display{font-family:var(--rp-font-display);font-weight:500;font-size:calc(30px * var(--rp-display-scale) * var(--rp-text-scale, 1));line-height:1.12;letter-spacing:-.01em}.rp-text--eyebrow{font-size:calc(var(--rp-font-label-size) * var(--rp-text-scale, 1));font-weight:500;letter-spacing:var(--rp-label-tracking);text-transform:uppercase;color:var(--rp-text-secondary)}.rp-text--subtitle{font-size:calc(var(--rp-font-body-size) * var(--rp-text-scale, 1));color:var(--rp-text-secondary)}.rp-text--body{font-size:calc(var(--rp-font-body-size) * var(--rp-text-scale, 1));line-height:1.5;color:var(--rp-text-secondary)}.rp-text--caption{font-size:calc(10.5px * var(--rp-text-scale, 1));font-style:italic;color:var(--rp-text-muted)}.rp-text--editable{cursor:text;border-radius:2px}.rp-text--editable:hover{box-shadow:inset 0 0 0 1px var(--rp-border-strong)}.rp-text--editable:focus-visible{outline:1px solid var(--rp-accent);outline-offset:2px}.rp-text-placeholder{color:var(--rp-text-muted);font-style:italic}.rp-text-input{width:100%;background:transparent;border:none;box-shadow:0 0 0 1px var(--rp-border);border-radius:2px;padding:0;resize:none;height:100%;min-height:1.4em}.rp-text-input:focus{outline:none;box-shadow:0 0 0 1px var(--rp-accent)}.rp-text-editing{position:relative;height:100%}.rp-text-toolbar{position:absolute;bottom:calc(100% + 6px);left:0;z-index:20;display:flex;align-items:center;gap:6px;padding:5px 6px;border:1px solid var(--rp-border-strong);border-radius:4px;background:var(--rp-surface);box-shadow:0 6px 20px #0000002e;font-family:var(--rp-font-body);font-size:11px;letter-spacing:0;text-transform:none;white-space:nowrap}.rp-panel:has(.rp-text-toolbar),.rp-surface .dash-widget--presented:has(.rp-text-toolbar) .rp-panel,.free-item:has(.rp-text-toolbar){overflow:visible;z-index:12}.rp-text-toolbar-select{height:24px;max-width:130px;padding:0 4px;border:1px solid var(--rp-border);border-radius:3px;background:var(--rp-surface);color:var(--rp-text);font-family:inherit;font-size:11px}.rp-text-toolbar-select--font{max-width:150px}.rp-text-toolbar-group{display:flex;align-items:center;gap:2px;padding-left:6px;border-left:1px solid var(--rp-border)}.rp-text-toolbar-group>button{min-width:22px;height:22px;padding:0 5px;border:1px solid transparent;border-radius:3px;background:none;color:var(--rp-text-secondary);font-family:inherit;font-size:11px;font-weight:600;cursor:pointer}.rp-text-toolbar-group>button:hover{background:var(--rp-surface-alt);color:var(--rp-text)}.rp-text-toolbar-group>button.active{border-color:var(--rp-accent);color:var(--rp-accent)}.rp-text-toolbar-size{min-width:38px;text-align:center;color:var(--rp-text-secondary);font-variant-numeric:tabular-nums}.rp-text-swatch{width:16px;height:16px;padding:0;border:1px solid var(--rp-border-strong);border-radius:50%;cursor:pointer}.rp-text-swatch.active{box-shadow:0 0 0 2px var(--rp-accent)}.rp-text-swatch--custom{display:inline-flex;overflow:hidden;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.rp-text-swatch--custom input{width:200%;height:200%;margin:-50%;border:none;padding:0;background:none;cursor:pointer}.rp-text-toolbar-text-btn{padding:0 6px;height:22px;border:none;border-radius:3px;background:none;color:var(--rp-text-muted);font-family:inherit;font-size:10.5px;cursor:pointer}.rp-text-toolbar-text-btn:hover{color:var(--rp-text);background:var(--rp-surface-alt)}.rp-text-toolbar-done{height:22px;padding:0 10px;border:none;border-radius:3px;background:var(--rp-accent);color:#fff;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer}.dash-widget--presented>.dash-widget-body{display:block;padding:0;align-items:stretch;justify-content:flex-start;min-height:0}.dash-widget--presented>.dash-widget-body>.rp-panel{width:100%;height:100%}.rp-surface .dash-widget--presented{overflow:visible}.rp-surface .dash-widget--presented>.dash-widget-body{overflow:visible}.rp-surface .dash-widget--presented .rp-ledger-wrap,.rp-surface .dash-widget--presented .rp-panel{overflow:hidden}.rp-surface .dash-widget--presented .rp-ledger-wrap{overflow:auto}.rp-surface .dash-widget-menu-open{z-index:20}.free-item.dash-widget-menu-open,.free-item:has(.dash-widget-menu-open){z-index:20}.free-item .dash-widget--presented .dash-widget-actions{opacity:0;pointer-events:none}.free-item--selected .dash-widget--presented .dash-widget-actions,.free-item--active .dash-widget--presented .dash-widget-actions,.free-item .dash-widget-menu-open .dash-widget-actions{opacity:1;pointer-events:auto}.free-item--selected>.dash-widget{outline:1px solid var(--rp-accent);outline-offset:2px}.rp-surface .dash-widget--presented .dash-widget-header{z-index:6}.free-item .rp-panel-body{min-height:0;overflow:auto}.free-item .rp-panel-body>*{min-height:0}.free-item--overlapped>.dash-widget{outline:1px dashed var(--rp-negative);outline-offset:1px}.free-item--overlapped:after{content:"";position:absolute;inset:0;background:var(--rp-negative);opacity:.07;pointer-events:none}.data-explorer{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg-secondary)}.data-explorer-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.data-explorer-banner{display:flex;align-items:center;gap:8px;margin:0 16px 8px;padding:8px 12px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-sm)}.data-explorer-banner--error{border-color:var(--error);background:var(--error-light);color:#7f1d1d}.data-explorer-confirm,.data-explorer-cancel{margin-left:auto;padding:4px 10px;border-radius:3px;border:1px solid var(--border);background:var(--bg-primary);font-family:inherit;font-size:11px;font-weight:600;cursor:pointer}.data-explorer-confirm{margin-left:8px;border-color:var(--error);background:var(--error);color:#fff}.data-explorer-cancel{margin-left:0}.data-explorer-body{display:flex;flex:1;min-height:0;gap:16px;padding:0 16px 16px}.data-explorer-list{width:280px;min-width:240px;display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);overflow-y:auto;scrollbar-width:thin}.data-explorer-group{display:flex;flex-direction:column;gap:2px;margin-top:8px}.data-explorer-group-title{padding:0 4px 2px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted)}.data-explorer-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:1px solid transparent;border-radius:4px;background:none;text-align:left;cursor:pointer}.data-explorer-item:hover{background:var(--bg-hover)}.data-explorer-item.active{border-color:var(--accent);background:var(--accent-light)}.data-explorer-item-icon{color:var(--text-secondary);display:flex;flex-shrink:0}.data-explorer-item.active .data-explorer-item-icon{color:var(--accent)}.data-explorer-item-text{display:flex;flex-direction:column;gap:1px;min-width:0}.data-explorer-item-name{font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-explorer-item-meta{font-size:10.5px;color:var(--text-muted)}.data-explorer-detail{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--border);border-radius:6px;background:var(--bg-primary);overflow-y:auto;scrollbar-width:thin}.data-explorer-detail-head{display:flex;align-items:flex-start;gap:12px}.data-explorer-name{margin:0 0 2px;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.data-explorer-name-input{width:100%;max-width:420px;margin-bottom:2px;padding:2px 4px;border:1px solid transparent;border-radius:3px;background:none;font-family:inherit;font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.data-explorer-name-input:hover{border-color:var(--border)}.data-explorer-name-input:focus{border-color:var(--accent);outline:none;background:var(--bg-primary)}.data-explorer-detail-desc{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary)}.data-explorer-detail-desc code{padding:1px 4px;border-radius:2px;background:var(--bg-normally-off);font-size:11px}.data-explorer-fields{display:flex;flex-direction:column;gap:4px}.data-explorer-field{display:grid;grid-template-columns:minmax(120px,1fr) minmax(140px,2fr) 120px 110px;align-items:center;gap:8px}.data-explorer-field-key{padding:3px 6px;border-radius:3px;background:var(--bg-normally-off);color:var(--text-secondary);font-size:11px;overflow:hidden;text-overflow:ellipsis}.data-explorer-field-label{font-size:var(--font-size-sm);color:var(--text-primary)}.data-explorer-field-tag{padding:2px 8px;border:1px solid var(--border);border-radius:10px;font-size:10.5px;color:var(--text-secondary);text-align:center;text-transform:capitalize}.data-explorer-preview{border:1px solid var(--border);border-radius:4px;overflow:auto;max-height:46vh;scrollbar-width:thin}.data-explorer-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.data-explorer-table th{position:sticky;top:0;z-index:1;padding:7px 10px;border-bottom:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);font-size:11px;font-weight:600;text-align:left;white-space:nowrap}.data-explorer-table td{padding:6px 10px;border-bottom:1px solid var(--border-light);color:var(--text-primary);white-space:nowrap}.data-explorer-table td.is-number{text-align:right;font-variant-numeric:tabular-nums}.data-explorer-table tr:last-child td{border-bottom:none}.data-explorer-null{color:var(--text-muted)}.data-explorer-empty{display:block;padding:16px;color:var(--text-muted);font-size:var(--font-size-sm)}.data-explorer-error-text{display:block;margin-top:8px;color:var(--error);font-size:var(--font-size-sm)}.join-modal{width:520px}.join-modal-side{display:flex;flex-direction:column;margin-bottom:10px}@media(max-width:900px){.data-explorer-body{flex-direction:column}.data-explorer-list{width:100%;min-width:0;max-height:240px}.data-explorer-field{grid-template-columns:1fr 1fr}}.data-explorer-storage{display:flex;align-items:center;gap:8px;margin-top:6px}.data-explorer-pill{padding:2px 8px;border:1px solid var(--border);border-radius:10px;font-size:10.5px;font-weight:600;color:var(--text-secondary)}.data-explorer-pill--synced{border-color:var(--success);color:#166534}.data-explorer-download{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--border);border-radius:10px;background:var(--bg-primary);color:var(--accent);font-family:inherit;font-size:10.5px;font-weight:600;cursor:pointer}.data-explorer-download:hover{border-color:var(--accent);background:var(--accent-light)}.rb-calc-add{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;margin-top:8px;padding:6px 8px;border:1px dashed var(--border);border-radius:4px;background:none;color:var(--text-secondary);font-family:inherit;font-size:11px;font-weight:500;cursor:pointer}.rb-calc-add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.rb-calc-list{display:flex;flex-direction:column;gap:2px;margin-top:6px}.rb-calc-item{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:5px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);font-family:inherit;font-size:11px;color:var(--text-primary);cursor:pointer;text-align:left}.rb-calc-item:hover{border-color:var(--accent)}.rb-calc-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rb-calc-item-kind{flex-shrink:0;padding:1px 5px;border-radius:8px;background:var(--bg-normally-off);color:var(--text-muted);font-size:9px;font-weight:700;letter-spacing:.05em}.calc-modal{width:620px}.calc-modal-body{display:flex;flex-direction:column}.calc-formula{min-height:84px;padding:8px 10px;border:1px solid var(--border);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:12px;line-height:1.5;resize:vertical}.calc-formula:focus{outline:none;border-color:var(--accent)}.calc-verdict{margin:6px 0 12px;padding:6px 9px;border-radius:4px;font-size:11px;line-height:1.45}.calc-verdict--empty{background:var(--bg-normally-off);color:var(--text-muted)}.calc-verdict--ok{background:#f0fdf4;color:#166534}.calc-verdict--error{background:var(--error-light);color:#7f1d1d}.calc-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:10px}.calc-column{min-width:0}.calc-chip-list{display:flex;flex-wrap:wrap;gap:4px;max-height:116px;overflow-y:auto;scrollbar-width:thin}.calc-chip{padding:3px 7px;border:1px solid var(--border);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:10.5px;cursor:pointer}.calc-chip:hover{border-color:var(--accent);color:var(--accent)}.calc-chip--fn{font-family:JetBrains Mono,Consolas,monospace;color:var(--text-secondary)}.calc-chip--example{border-style:dashed}.calc-delete{margin-right:auto;padding:7px 12px;border:1px solid var(--border);border-radius:3px;background:var(--bg-primary);color:var(--error);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer}.calc-delete:hover{background:var(--error-light);border-color:var(--error)}.dash-dirty-flag--saving{background:var(--bg-normally-off);color:var(--text-secondary)}.dash-dirty-flag--saving:before{background:var(--text-muted)}.dash-dirty-flag--error{background:var(--error-light);color:#7f1d1d}.dash-dirty-flag--error:before{background:var(--error)}.user-badge{display:inline-flex;align-items:center;gap:8px;margin-left:10px;padding-left:12px;border-left:1px solid var(--border-color, rgba(128, 128, 128, .3));font-size:12px;white-space:nowrap}.user-badge-avatar{width:24px;height:24px;flex-shrink:0;border-radius:50%;background:var(--accent, #3B82F6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:600}.user-badge-name{font-weight:600}.user-badge-role{border:1px solid var(--border-color, rgba(128, 128, 128, .35));border-radius:999px;padding:1px 8px;font-size:11px;opacity:.85}.user-badge-signout{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:none;color:inherit;cursor:pointer;border-radius:6px;opacity:.75}.user-badge-signout:hover{opacity:1;background:#8080802e}.header-title-bar .user-badge{color:#fff;border-left-color:#ffffff40}.header-title-bar .user-badge-role{border-color:#ffffff59;color:#ffffffe6;opacity:1}.header-title-bar .user-badge-signout{color:#fff}.header-title-bar .user-badge-signout:hover{background:#ffffff2e}.data-explorer-share{display:flex;flex-direction:column;gap:6px;margin:10px 0}.data-explorer-share-add{display:flex;flex-wrap:wrap;gap:6px}.data-explorer-share-add select{border:none;background:none;color:inherit;font-size:12px;outline:none}.data-explorer-share-error{color:var(--error)}.dshare-list{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.dshare-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 7px;border-radius:4px;background:var(--bg-hover);color:var(--text-secondary);font-size:11px;font-weight:500}.dshare-chip button{display:grid;place-items:center;width:15px;height:15px;padding:0;border:none;border-radius:2px;background:none;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.dshare-chip button:hover:not(:disabled){background:var(--border);color:var(--text-primary)}.dshare-chip button:disabled{opacity:.4;cursor:default}.dshare-chip--add{padding-left:6px;border:1px dashed var(--border);background:transparent}.dshare-chip--add input{border:none;background:none;color:var(--text-primary);font-family:inherit;font-size:11px;font-weight:500;outline:none;width:150px}.dshare-chip--add input::placeholder{color:var(--text-muted);font-weight:400}.sched-table-view{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.sched-table{flex:1;min-height:0;width:100%}.sched-table .MuiPaper-root{box-shadow:none;background:transparent}.sched-toolbar{display:flex;align-items:center;gap:8px;padding:4px 16px;min-height:40px}.sched-toolbar-spacer{flex:1}.sched-toolbar-count{font-size:var(--font-size-sm);font-weight:500;color:var(--text-muted)}.sched-groupby{position:relative}.sched-groupby-btn{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;line-height:16px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.sched-groupby-btn:hover{background:var(--bg-hover)}.sched-groupby-btn.is-open{border-color:#0053d4;color:#0053d4;background:var(--accent-light)}.sched-groupby-btn .sched-groupby-label{color:var(--text-muted)}.sched-groupby-caret{display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.sched-groupby-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:150px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-primary);box-shadow:0 4px 16px #0000001a}.sched-groupby-item{display:flex;align-items:center;width:100%;padding:7px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;text-align:left;cursor:pointer}.sched-groupby-item:hover{background:var(--bg-hover)}.sched-groupby-item.is-active{color:#0053d4;font-weight:600}.sched-table-view .sched-group-row{display:flex;width:100%}.sched-table-view .sched-group-cell{display:flex;width:100%;flex:1;padding:0;border-bottom:0;box-sizing:border-box}.sched-table-view .sched-group-row{position:sticky;top:36px;z-index:3;background:var(--bg-primary)}.sched-table-view .sched-group-row .sched-section-header{border-top:1px solid var(--border)}.sched-table-view [class*=tableBody]>.sched-group-row:first-of-type .sched-section-header{border-top:0}.sched-table-view .sched-subgroup-row{top:72px;z-index:2}.sched-subgroup{display:flex;align-items:center;gap:8px;width:100%;min-height:28px;padding:2px 16px 2px 30px;border-bottom:1px solid var(--border)}.sched-subgroup--factory{background:#f4f8fe}.sched-subgroup--factory p:first-of-type{color:#0053d4}.sched-subgroup--site{background:#faf5ff}.sched-subgroup--site p:first-of-type{color:#8917cb}.sched-table-view .sched-section-header{display:flex;align-items:center;gap:6px;width:100%;min-height:36px;padding:4px 16px 4px 12px;border:0;border-bottom:1px solid var(--border);background:transparent;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s ease}.sched-table-view .sched-section-header:hover{background:var(--bg-hover)}.sched-collapse-icon{display:inline-flex;flex-shrink:0;color:var(--text-secondary);transform:rotate(-90deg);transform-origin:center;transition:transform .15s ease}.sched-collapse-icon.is-expanded{transform:rotate(0)}.sched-section-title{display:flex;align-items:center;gap:8px;min-width:0}.sched-table-view [class*=tableBody] [class*=tableBodyRow] td[class*=tableBodyCell]{padding-top:4px;padding-bottom:4px;align-items:center}.sched-table-view [class*=tableBody] [class*=tableBodyRow]{height:34px}.sched-table-view [class*=tableBody] [class*=tableBodyRow] td[class*=tableBodyCell]:has([class*=editableCellContainer]){padding:0}.sched-table-view [class*=tableBody] [class*=tableBodyRow] td [class*=editableCellContainer]{display:flex;align-items:center;width:100%;height:100%;padding:0;box-sizing:border-box}.sched-table-view [class*=tableBody] [class*=tableBodyRow] td [class*=editableCellTextFieldRoot]{width:100%;height:100%;margin:0}.sched-table-view [class*=tableBody] [class*=tableBodyRow] td [class*=editableCellTextFieldRoot] input{height:100%;padding:0 16px;box-sizing:border-box}.sched-table-view [class*=tableBody] [class*=tableBodyRow]{cursor:pointer}.sched-dates{gap:6px;white-space:nowrap}.sched-date-edge{border-radius:var(--radius-sm);padding:1px 3px;margin:0 -3px}.sched-date-edge.is-editable{cursor:pointer}.sched-date-edge.is-editable:hover{background:var(--bg-hover)}.sched-dates .MuiFormControl-root,.sched-dates .MuiTextField-root{width:auto;min-width:0;margin:0}.sched-dates .MuiInputBase-root{font-size:14px}.sched-dates input{padding:1px 4px;width:12ch}.sched-dates .MuiIconButton-root{display:none}.sched-table-view [class*=tableBody] [class*=tableBodyRow]:hover td[class*=tableBodyCell]{background-color:var(--bg-hover)}.sched-child{padding-left:14px;border-left:2px solid var(--border);margin-left:22px}.sched-expander{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;padding:0;border:0;border-radius:2px;background:none;color:var(--text-muted);cursor:pointer;transform:rotate(-90deg);transform-origin:center;transition:transform .15s ease,background .15s ease,color .15s ease}.sched-expander:hover{background:var(--bg-hover);color:var(--text-primary)}.sched-expander.is-open{transform:rotate(0)}.sched-expander.is-empty{cursor:default;pointer-events:none}.sched-status{position:relative;display:flex;align-items:center}.sched-status-chip,.sched-status-item{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border:0;border-radius:2px;background:var(--bg-hover);color:var(--text-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;line-height:16px;white-space:nowrap;transition:background .15s ease}.sched-status-chip.is-editable{cursor:pointer}.sched-status-chip.is-editable:hover{background:var(--border)}.sched-status-dot{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:currentcolor}.sched-status-chip.is-draft .sched-status-dot,.sched-status-item.is-draft .sched-status-dot{background:#a3b0c5}.sched-status-chip.is-approved .sched-status-dot,.sched-status-item.is-approved .sched-status-dot{background:var(--accent)}.sched-status-chip.is-done .sched-status-dot,.sched-status-item.is-done .sched-status-dot{background:var(--success)}.sched-status-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;display:flex;flex-direction:column;gap:2px;min-width:148px;padding:4px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;box-shadow:0 4px 16px #0000001a}.sched-status-item{width:100%;justify-content:flex-start;background:none;cursor:pointer}.sched-status-item:hover{background:var(--bg-hover)}.sched-status-item.is-active{color:var(--accent)}.sched-compare-select{height:28px;padding:0 8px;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:2px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.sched-compare-select:hover{background:var(--bg-hover)}.sched-compare-select:focus-visible{outline:none;border-color:var(--accent)}.sched-weeks{width:100%;height:100%;min-height:0;display:flex;flex-direction:column}.sched-weeks-scroll{flex:1;min-height:0;overflow:auto}.sched-weeks-grid{display:grid;align-items:stretch;width:max-content;min-width:100%}.sched-weeks-corner,.sched-weeks-head{position:sticky;top:0;z-index:3;height:36px;display:flex;align-items:center;background:var(--bg-primary);border-bottom:1px solid var(--border);font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.sched-weeks-corner{left:0;z-index:4;padding:0 12px;border-right:1px solid var(--border)}.sched-weeks-head{justify-content:center;border-right:1px solid var(--border-light)}.sched-weeks-label{position:sticky;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0;height:34px;padding:0 12px;background:var(--bg-primary);border-right:1px solid var(--border);border-bottom:1px solid var(--border-light)}.sched-weeks-cell{height:34px;border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}.sched-weeks-cell.is-on{background-clip:content-box;padding:10px 0}.sched-weeks-cell.is-factory{background-color:var(--accent)}.sched-weeks-cell.is-site{background-color:#8917cb}.sched-weeks-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:32px}.sched-sheet [class*=tableBody] [class*=tableBodyRow] td[class*=tableBodyCell]{padding:0}.sched-sheet .sheet-cell{display:flex;align-items:center;gap:4px;width:100%;height:100%;min-width:0;padding:0 12px}.sheet-cell--factory{background:var(--accent-light)}.sheet-cell--site{background:#f9f0ff}.sheet-key{display:inline-flex;align-items:center;gap:6px}.sheet-key-swatch{width:10px;height:10px;border-radius:2px}.sheet-key-swatch--factory{background:var(--accent-light);border:1px solid #cfe0fb}.sheet-key-swatch--site{background:#f9f0ff;border:1px solid #ecd9fb;margin-left:6px}.sheet-empty-strip{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--border);background:var(--bg-secondary)}.sheet-empty-toggle{padding:0;border:0;background:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;transition:color .15s ease}.sheet-empty-toggle:hover{color:var(--text-primary)}.sheet-empty-names{min-width:0}.sched-gutter{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0}.sched-gutter-check{position:absolute;inset:0;margin:0;width:14px;height:14px;align-self:center;justify-self:center;accent-color:var(--accent);opacity:0;cursor:pointer}.sched-table-view tr:hover .sched-gutter-index,.sched-gutter.is-selected .sched-gutter-index{opacity:0}.sched-table-view tr:hover .sched-gutter-check,.sched-gutter.is-selected .sched-gutter-check{opacity:1}.sched-inline-text{min-width:0;padding:2px 4px;margin-left:-4px;border-radius:2px;overflow:hidden;text-overflow:ellipsis;transition:box-shadow .15s ease,background .15s ease}.sched-inline-text.is-editable{cursor:text}.sched-inline-text.is-editable:hover{background:var(--bg-primary);box-shadow:inset 0 0 0 1px var(--border)}.sched-inline-input{width:100%;min-width:0;padding:2px 4px;margin-left:-4px;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--accent);border-radius:2px;outline:none}.sched-inline-input.is-right{text-align:right}.sched-row-actions{display:inline-flex;align-items:center;gap:2px;margin-left:auto;padding-left:8px;opacity:0;pointer-events:none;transition:opacity .15s ease}.sched-table-view tr:hover .sched-row-actions{opacity:1;pointer-events:auto}.sched-row-action{display:grid;place-items:center;width:20px;height:20px;padding:0;border:0;border-radius:2px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.sched-row-action:hover{background:var(--bg-hover);color:var(--text-primary)}.sched-row-action.is-danger:hover{background:var(--error-light);color:var(--error)}.sched-crew{position:relative;display:flex;align-items:center;min-width:0}.sched-crew-trigger{display:inline-flex;align-items:center;min-width:0;padding:2px 4px;margin-left:-4px;border:0;border-radius:2px;background:transparent;transition:background .15s ease}.sched-crew-trigger.is-editable{cursor:pointer}.sched-crew-trigger.is-editable:hover{background:var(--bg-hover)}.sched-crew-avatars{display:inline-flex;align-items:center}.sched-crew-avatars .sched-crew-chip+.sched-crew-chip{margin-left:-6px}.sched-crew-chip{position:relative;display:inline-flex}.sched-crew-name{margin-left:4px;min-width:0}.sched-crew-remove{position:absolute;top:-3px;right:-3px;display:none;place-items:center;width:13px;height:13px;border-radius:50%;background:var(--text-primary);color:#fff;cursor:pointer;box-shadow:0 0 0 1.5px var(--bg-primary);transition:background .15s ease}.sched-crew-remove:hover{background:var(--text-secondary)}.sched-crew-chip:hover .sched-crew-remove{display:grid}.sched-crew-chip:hover{z-index:1}.sched-crew-avatar{display:grid;place-items:center;width:20px;height:20px;flex-shrink:0;border-radius:50%;box-shadow:0 0 0 1.5px var(--bg-primary);color:#fff;font-size:9px;font-weight:600;letter-spacing:.02em}.sched-crew-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:20;display:flex;flex-direction:column;gap:2px;min-width:180px;max-height:240px;overflow-y:auto;padding:4px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:6px;box-shadow:0 4px 16px #0000001a}.sched-crew-item{display:flex;align-items:center;gap:8px;width:100%;padding:4px 6px;border:0;border-radius:2px;background:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);text-align:left;cursor:pointer}.sched-crew-item:hover{background:var(--bg-hover)}.sched-add-row td{padding:0!important;background:var(--bg-primary)}.sched-add-trigger{display:inline-flex;align-items:center;gap:6px;width:100%;padding:7px 16px;border:0;background:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-muted);text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.sched-add-trigger:hover{background:var(--bg-hover);color:var(--text-primary)}.sched-add-form{display:flex;align-items:center;gap:8px;width:100%;padding:6px 16px;background:var(--bg-secondary)}.sched-add-input{flex:1;min-width:0;padding:5px 8px;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--accent);border-radius:2px;outline:none}.sched-add-cancel,.sched-add-save{padding:5px 12px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);cursor:pointer;transition:background .15s ease}.sched-add-cancel:hover{background:var(--bg-hover)}.sched-add-save{border-color:var(--accent);background:var(--accent);color:#fff}.sched-add-save:hover:not(:disabled){background:var(--accent-hover)}.sched-add-save:disabled{opacity:.5;cursor:not-allowed}.sched-bulk-bar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:12px;padding:8px 12px 8px 16px;background:var(--text-primary);border-radius:6px;box-shadow:0 4px 12px #0003;color:#fff}.sched-bulk-bar p{color:#fff}.sched-bulk-action{padding:4px 10px;border:1px solid rgb(255 255 255 / 20%);border-radius:2px;background:transparent;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:#fff;cursor:pointer;transition:background .15s ease}.sched-bulk-action:hover{background:#ffffff1f}.sched-bulk-action.is-danger{border-color:transparent;background:var(--error)}.sched-bulk-action.is-danger:hover{background:#b8250f}.sched-table-view [class*=tableBodyRow][class*=smallRow]{height:34px}.sched-table-view [class*=tableBody] [class*=tableBodyRow] td[class*=tableBodyCell]{padding-top:0;padding-bottom:0}.sched-table-view .sched-subgroup-row{top:72px}.sched-subgroup{min-height:30px;padding-top:4px;padding-bottom:4px}.sched-status.is-icon{flex-shrink:0}.sched-status-ring{display:grid;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:none;transition:background .15s ease}.sched-status-ring.is-editable{cursor:pointer}.sched-status-ring.is-editable:hover{background:var(--bg-hover)}.sched-status-ring-mark{width:12px;height:12px;border-radius:50%;box-sizing:border-box}.sched-status-ring.is-draft .sched-status-ring-mark{border:1.5px dashed #a3b0c5}.sched-status-ring.is-approved .sched-status-ring-mark{border:1.5px solid var(--accent)}.sched-status-ring.is-done .sched-status-ring-mark{border:1.5px solid var(--success);background:var(--success)}.sched-gutter .sched-gutter-check{padding:0}.sched-gutter .sched-gutter-check svg{width:16px;height:16px}.sched-table-view thead,.sched-table-view thead tr,.sched-table-view thead th{background:var(--bg-secondary)!important;z-index:20;opacity:1}.sched-table-view .sched-group-cell{background:var(--bg-primary)}.sched-table-view [class*=tableBodyRow][class*=smallRow],.sched-table-view [class*=tableBodyRow][class*=smallRow]>td{height:34px;min-height:34px;max-height:34px}@keyframes sched-row-in{0%{height:0;opacity:0}40%{opacity:0}to{height:34px;opacity:1}}@keyframes sched-row-out{0%{height:34px;opacity:1}40%{opacity:0}to{height:0;opacity:0}}.sched-table-view tbody tr:not(.sched-group-row){animation:sched-row-in .16s ease-out}.sched-table-view tbody tr.sched-row-out{animation:sched-row-out .14s ease-in forwards;pointer-events:none}.sched-collapse-icon,.sched-expander{transition:transform .15s ease}.sched-subgroup{border-bottom:0}.sched-table-view .sched-group-row:not(.sched-subgroup-row):has(+.sched-subgroup-row) .sched-section-header{border-bottom:0}.sched-status-item,.sched-crew-item{display:flex;align-items:center;gap:8px;min-height:30px;font-size:var(--font-size-sm);font-weight:500}.sched-status-item .sched-status-dot{flex-shrink:0}.sched-crew-check{margin-left:auto;display:inline-flex;flex-shrink:0}.sched-crew-check svg{width:16px;height:16px}.sched-date-cell{display:flex;align-items:center;gap:4px;width:100%;height:100%;min-width:0}.sched-date-cell.is-editable{cursor:pointer}.sched-date-empty{display:grid;place-items:center;width:24px;height:24px;color:var(--text-muted)}.sched-date-cell.is-editable:hover .sched-date-empty{color:var(--text-primary)}.sched-table-view [class*=tableBody] [class*=tableBodyRow]:not(.sched-group-row):hover td[class*=tableBodyCell]{background:#f7f7f8}.sched-table-view [class*=tableBody] [class*=tableBodyRow]:not(.sched-group-row) td[class*=tableBodyCell]:hover:not(:nth-of-type(2)):not([data-readonly]){background:#eff0f2}.sched-block-count{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;color:var(--text-muted)}.sched-toolbar-btn{padding:4px 8px;border:0;border-radius:2px;background:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.sched-toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sched-progress{position:relative;height:2px;overflow:hidden;background:transparent}.sched-progress.is-busy:after{content:"";position:absolute;inset:0 auto 0 0;width:40%;background:var(--accent);border-radius:1px;animation:sched-progress-slide .9s ease-in-out infinite}@keyframes sched-progress-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media(prefers-reduced-motion:reduce){.sched-progress.is-busy:after{animation:none;width:100%;opacity:.35}}.sched-table-view .sched-collapse-icon,.sched-gutter{position:relative;display:block;width:16px;height:16px;flex-shrink:0}.sched-gutter .sched-gutter-index,.sched-gutter .sched-gutter-check{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:0}.sched-table-view .sched-collapse-icon svg{margin:auto}.sched-table-view .sched-section-header{padding-left:17px}.sched-table-view .sched-subgroup{padding-left:33px}.sched-table-view [class*=tableBodyRow] td[class*=tableBodyCell]:nth-of-type(2){border-left:0}.sched-table-view .sched-inline-text{min-width:0;padding:3px 6px;margin-left:-6px;border-radius:2px;overflow:hidden;text-overflow:ellipsis;transition:background .15s ease;box-shadow:none}.sched-table-view .sched-inline-text.is-editable:hover{background:#eff0f2}.sched-table-view .sched-inline-input{width:100%;min-width:0;padding:3px 6px;margin-left:-6px;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--accent);caret-color:var(--accent);background:transparent;border:0;border-radius:2px;outline:none}.sched-block-count{gap:4px}.sched-table-view tbody tr:not(.sched-group-row){animation:sched-row-in .2s ease-out backwards}.sched-table-view tbody tr.sched-row-out{animation:sched-row-out .14s ease-in forwards}.sched-table-view tbody tr:not(.sched-group-row){animation:sched-row-in .18s ease-out}.sched-table-view tbody tr.sched-row-out{animation:sched-row-out .18s ease-in forwards;pointer-events:none}.sched-table-view tbody tr:not(.sched-group-row) td{overflow:hidden}@media(prefers-reduced-motion:reduce){.sched-table-view tbody tr:not(.sched-group-row),.sched-table-view tbody tr.sched-row-out{animation:none}}.sched-lead{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.sched-row-number{min-width:14px;text-align:right;font-variant-numeric:tabular-nums}.sched-sentinel{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px}.sched-sentinel-dots{width:24px;height:4px;border-radius:2px;background:radial-gradient(circle 2px at 2px 2px,var(--border) 99%,transparent) 0 0/10px 4px repeat-x;animation:sched-sentinel-pulse 1.2s ease-in-out infinite}@keyframes sched-sentinel-pulse{0%,to{opacity:.4}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.sched-sentinel-dots{animation:none}}.sched-table .MuiPaper-root{display:flex;flex-direction:column;height:100%;min-height:0}.sched-table .MuiTableContainer-root{flex:1;min-height:0;max-height:none}.sched-table-view tbody tr>td>*{transition:opacity .14s ease-out}@starting-style{.sched-table-view tbody tr>td>*{opacity:0}}@media(prefers-reduced-motion:reduce){.sched-table-view tbody tr>td>*{transition:none}}.sched-lead{gap:8px}.sched-table-view [class*=tableBodyRow] td[class*=tableBodyCell]:nth-of-type(2){padding-left:8px}.sched-datepop{min-width:460px;padding:0!important}.sched-datepop:has(.sched-datepop-single){min-width:0;width:292px}.sched-datepop>ul,.sched-datepop .MuiList-root{padding:0!important}.sched-datepop-fields{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--border-light)}.sched-datepop-field{display:flex;align-items:center;gap:6px;flex:1;min-width:0;padding:6px 8px 6px 10px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);transition:border-color .15s ease}.sched-datepop-field.is-active{border-color:var(--accent)}.sched-datepop-field>svg{flex-shrink:0;color:var(--text-muted)}.sched-datepop-field input{flex:1;min-width:0;padding:0;border:0;outline:none;background:transparent;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.sched-datepop-field input::placeholder{color:var(--text-muted)}.sched-datepop-field input::selection{background:#cddffb}.sched-datepop-clear-field{display:grid;place-items:center;width:18px;height:18px;flex-shrink:0;padding:0;border:0;border-radius:2px;background:none;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.sched-datepop-clear-field:hover{background:var(--bg-hover);color:var(--text-primary)}.sched-datepop-body{display:flex;align-items:stretch}.sched-datepop-body.is-single{display:block}.sched-datepop-single{display:flex;flex-direction:column;gap:6px;width:100%}.sched-datepop-presets{display:flex;flex-direction:column;width:178px;flex-shrink:0;padding:6px;border-right:1px solid var(--border-light)}.sched-datepop-preset{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border:0;border-radius:2px;background:none;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);text-align:left;cursor:pointer;transition:background .15s ease}.sched-datepop-preset:hover{background:var(--bg-hover)}.sched-datepop-calendar{width:268px!important;margin:0!important}.sched-datepop-cal-wrap{padding-top:8px}.sched-datepop-body.is-single .sched-datepop-cal-wrap{width:100%}.sched-datepop-body.is-single .sched-datepop-calendar{width:100%!important}.sched-datepop-calendar .MuiPickersCalendarHeader-label{font-size:var(--font-size-base);font-weight:600}.sched-datepop-calendar .MuiDayCalendar-weekDayLabel{font-size:var(--font-size-xs);font-weight:500;color:var(--text-muted)}.sched-datepop-calendar .MuiPickersDay-root{font-size:var(--font-size-sm);font-weight:500;border-radius:2px}.sched-datepop-calendar .MuiPickersDay-root.Mui-selected{background:var(--accent)}.sched-datepop-calendar .MuiPickersDay-today{border-color:var(--accent)}.sched-datepop-calendar .MuiPickersDay-dayOutsideMonth{color:var(--text-muted)}.sched-datepop-footer{display:flex;justify-content:flex-end;padding:8px 12px;border-top:1px solid var(--border-light)}.sched-datepop-clear{padding:5px 10px;border:1px solid var(--border);border-radius:2px;background:var(--bg-primary);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .15s ease,color .15s ease}.sched-datepop-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.sched-table-view [class*=tableBodyRow] td[class*=tableBodyCell]:has(.sched-date-cell.is-open),.sched-table-view [class*=tableBodyRow] td[class*=tableBodyCell]:has(.sched-crew.is-open),.sched-table-view [class*=tableBodyRow] td[class*=tableBodyCell]:has(.sched-status.is-open){background:#eff0f2;box-shadow:inset 0 0 0 1px var(--accent)}.sched-datepop-calendar .sched-day-between{background:var(--accent-light)!important;border-radius:0!important;color:var(--text-primary)!important}.sched-datepop-calendar .sched-day-start,.sched-datepop-calendar .sched-day-end{background:var(--accent)!important;color:#fff!important}.sched-datepop-calendar .sched-day-between{box-shadow:-3px 0 0 var(--accent-light),3px 0 0 var(--accent-light)}.sched-datepop-calendar .sched-day-in-range.sched-day-start:not(.sched-day-end){box-shadow:3px 0 0 var(--accent-light)}.sched-datepop-calendar .sched-day-in-range.sched-day-end:not(.sched-day-start){box-shadow:-3px 0 0 var(--accent-light)}.sched-table-view [class*=tableBody] [class*=tableBodyRow] td[data-fill]{padding-left:0;padding-right:0}.sched-table-view .sched-inline-text.is-fill,.sched-table-view .sched-inline-input.is-fill{display:flex;align-items:center;width:100%;height:100%;margin:0;padding:0 12px;border-radius:0}.sched-table-view .sched-inline-text.is-fill.is-editable:hover{background:transparent;box-shadow:inset 0 0 0 1px var(--border)}.sched-table-view .sched-inline-input.is-fill{border:0;box-shadow:inset 0 0 0 1px var(--accent);background:var(--bg-primary);color:var(--text-primary)}.sched-table-view td[data-fill]{position:relative}.sched-table-view .sched-qty-unit{position:absolute;right:12px;pointer-events:none}.sched-crew-paper{min-width:220px}.sched-crew-paper>ul,.sched-crew-paper .MuiList-root{padding-top:0!important}.sched-crew-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-light);color:var(--text-muted)}.sched-crew-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.sched-crew-search input::placeholder{color:var(--text-muted)}.sched-crew-paper .sched-crew-item.is-active{background:var(--bg-hover)}
