:root{--font-heading: "Segoe UI", Arial, sans-serif;color-scheme:light;font-family:Segoe UI,Arial,sans-serif;line-height:1.45;font-weight:400;--app-background: radial-gradient(circle at top left, rgba(198, 107, 61, .18), transparent 34%), radial-gradient(circle at bottom right, rgba(13, 92, 99, .12), transparent 28%), linear-gradient(180deg, #f6f3ee 0%, #efe9df 100%);background:var(--app-background);color:#1f2c28;--sidebar: #1d2b2b;--sidebar-ink: rgba(255, 250, 244, .82);--accent: #c66b3d;--accent-rgb: 198, 107, 61;--accent-deep: #8d3f1c;--panel: rgba(255, 252, 248, .88);--panel-border: rgba(29, 43, 43, .08);--surface: rgba(255, 255, 255, .66);--surface-strong: rgba(255, 255, 255, .84);--field-bg: rgba(255, 255, 255, .78);--border: rgba(29, 43, 43, .1);--border-strong: rgba(29, 43, 43, .15);--ink: #1f2c28;--text: #1f2c28;--primary: #0d5c63;--muted: #5c6763;--good: #2f7f5f;--warning: #bb7b1f;--critical: #a34434;--info: #0d5c63;--shadow: 0 24px 60px rgba(40, 31, 20, .08);--topbar-bg: rgba(246, 243, 238, .84);--hero-surface: radial-gradient(circle at 10% 0%, rgba(198, 107, 61, .12), transparent 34%), linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(247, 241, 232, .9));--row-critical-bg: rgba(163, 68, 52, .04);--row-warning-bg: rgba(187, 123, 31, .04);--row-highlight-bg: rgba(46, 125, 50, .08);--gantt-header-bg: rgba(248, 246, 241, .95);--gantt-grid-bg: rgba(255, 255, 255, .2)}[data-theme=dark]{color-scheme:dark;--app-background: radial-gradient(circle at top left, rgba(198, 107, 61, .16), transparent 34%), radial-gradient(circle at bottom right, rgba(35, 148, 164, .14), transparent 30%), linear-gradient(180deg, #111817 0%, #182221 100%);background:var(--app-background);color:#eef7f4;--sidebar: #101b1a;--sidebar-ink: rgba(242, 249, 246, .86);--accent: #e08a4d;--accent-rgb: 224, 138, 77;--accent-deep: #f4b174;--panel: rgba(24, 34, 33, .92);--panel-border: rgba(220, 235, 230, .12);--surface: rgba(35, 49, 47, .78);--surface-strong: rgba(41, 57, 55, .92);--field-bg: rgba(17, 26, 25, .88);--border: rgba(220, 235, 230, .13);--border-strong: rgba(220, 235, 230, .2);--ink: #eef7f4;--text: #eef7f4;--primary: #8bd9df;--muted: #a7b8b4;--good: #66d39b;--warning: #f0b35c;--critical: #ef8f7e;--info: #7fd4df;--shadow: 0 24px 70px rgba(0, 0, 0, .38);--topbar-bg: rgba(17, 24, 23, .9);--hero-surface: radial-gradient(circle at 10% 0%, rgba(224, 138, 77, .16), transparent 34%), linear-gradient(135deg, rgba(29, 43, 42, .98), rgba(22, 33, 32, .94));--row-critical-bg: rgba(239, 143, 126, .12);--row-warning-bg: rgba(240, 179, 92, .12);--row-highlight-bg: rgba(102, 211, 155, .12);--gantt-header-bg: rgba(27, 39, 38, .95);--gantt-grid-bg: rgba(255, 255, 255, .03)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{color:var(--ink);background:var(--app-background)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{width:100%;border:1px solid var(--border-strong);border-radius:6px;padding:.85rem 1rem;background:var(--field-bg);color:var(--ink)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}textarea{resize:vertical}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.main-frame,.content-area,.page-stack,.panel,.tab-grid,.span-2{min-width:0}.main-frame,.content-area{max-width:100%;overflow-x:hidden}.sidebar{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem 1.25rem;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 12%),linear-gradient(180deg,#203434,#1d2b2b);color:var(--sidebar-ink)}.mobile-menu-toggle,.mobile-sidebar-backdrop{display:none}.brand-panel{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;background:#ffffff0f}.brand-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:8px;font-weight:700;letter-spacing:.06em;background:linear-gradient(135deg,#c66b3d,#d99b4b);color:#fff}.brand-title,.footer-title,.user-name{font-weight:700}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.sidebar .eyebrow,.sidebar-footer,.brand-panel .eyebrow{color:#fffaf4a8}.sidebar-nav{display:flex;flex-direction:column;gap:.4rem}.nav-link{display:flex;align-items:center;gap:.9rem;padding:.9rem 1rem;border-radius:8px;color:#fffaf4d1;transition:background-color .18s ease,transform .18s ease}.nav-link:hover,.nav-link.active{background:#ffffff17;transform:translate(4px)}.nav-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:6px;font-size:.72rem;letter-spacing:.08em;background:#ffffff14}.sidebar-footer{margin-top:auto;padding:1rem;border-radius:8px;background:#ffffff0d}.footer-subtitle,.subtle-text,.user-meta,.metric-delta,.detail-label,.stack-item span,.hero-card span,.table-empty{color:var(--muted)}.main-frame{min-width:0}.route-loading{min-height:320px;display:grid;place-items:center}.loading-state,.empty-state{display:grid;justify-items:center;gap:.45rem;color:var(--muted);text-align:center;font-size:.95rem}.empty-state strong{color:var(--ink)}.loading-state-indicator{width:1.6rem;height:1.6rem;border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem 1.5rem;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--topbar-bg);border-bottom:1px solid var(--border);min-width:0}.topbar-left,.topbar-right,.action-row{display:flex;gap:1rem;align-items:center}.topbar-heading,.topbar-controls,.topbar-right{min-width:0}.topbar-heading{flex:1 1 300px}.topbar-title-row{min-width:0;flex-wrap:wrap;row-gap:.35rem}.topbar-title{max-width:min(42vw,520px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-controls{flex:1 1 clamp(220px,24vw,420px)!important;max-width:clamp(260px,25vw,420px)!important;min-width:0!important;padding-inline:clamp(.4rem,1vw,1rem)!important}.topbar-controls .search-shell,.topbar-controls .search-shell>div,.topbar-controls .search-input{width:100%;min-width:0}.topbar-right{flex:0 1 auto;flex-wrap:nowrap;justify-content:flex-end}.action-row.vertical-actions{flex-direction:column;align-items:flex-end;gap:.75rem}.action-row.vertical-actions button{min-width:200px;justify-content:center}.project-switcher{min-width:0;width:clamp(180px,20vw,320px);max-width:100%;font-weight:600}.search-shell{display:flex;flex-direction:column;gap:.4rem;min-width:0}.search-shell span,.field span{font-size:.82rem;font-weight:600;color:var(--muted)}.notification-chip,.user-pill{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;border-radius:8px;background:var(--surface-strong);border:1px solid var(--border)}.notification-chip strong{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 .4rem;border-radius:999px;color:#fff;background:var(--accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:42px;padding:.6rem .75rem;border:1px solid var(--border-strong);border-radius:8px;color:var(--ink);background:var(--surface-strong);font-weight:700;font-size:.82rem}.theme-toggle:hover{background:var(--surface)}.avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:6px;color:#fff;font-weight:700}.content-area{padding:1.5rem}.page-stack{display:flex;flex-direction:column;gap:1.25rem}.hero-banner,.panel,.metric-card,.login-card,.hero-card{animation:riseIn .42s ease both}.hero-banner,.panel,.metric-card,.login-card{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow)}.hero-banner,.section-header,.panel{border-radius:6px;padding:1.25rem 1.35rem}.section-header{display:flex;justify-content:space-between;gap:1.5rem;align-items:center}.section-header h1,.hero-banner h1,.login-hero h1{margin:.15rem 0 .35rem;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.02}.section-header p,.hero-banner p,.login-hero p{margin:0;max-width:72ch;color:var(--muted)}.hero-banner{display:flex;justify-content:space-between;gap:1.5rem;background:var(--hero-surface)}.hero-copy{display:flex;flex-direction:column;gap:1.5rem;max-width:60%}.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.hero-stat-grid{display:flex;gap:2.5rem;flex-wrap:wrap}.hero-stat span{display:block;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.hero-stat strong{display:block;font-size:1.7rem;line-height:1.1;margin:.2rem 0}.hero-stat p{font-size:.85rem;opacity:.8;margin:0}.hero-meta{display:grid;gap:.9rem;min-width:240px}.hero-meta div,.hero-card,.quick-link-card{padding:1rem;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.hero-meta span,.metric-label{display:block;font-size:.82rem;color:var(--muted)}.hero-meta strong,.metric-value{font-size:1.5rem;line-height:1.1}.metric-grid{display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.raid-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{padding:1rem 1.1rem;border-radius:10px}.metric-header,.panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:start}.panel-header h2,.metric-card h2,.login-card h2{margin:.2rem 0 0}.panel,.metric-card,.stack-item,.contract-list-item,.field,.data-table td,.data-table th,.manual-list-item,.notification-dropdown{min-width:0}.panel p,.metric-card,.stack-item,.contract-list-item,.manual-list-item,.data-table td,.field span,.subtle-text{overflow-wrap:anywhere}.dashboard-grid,.contracts-layout,.tab-grid,.resource-grid,.hero-grid,.quick-link-grid,.quick-account-grid,.detail-grid{display:grid;gap:1rem}.dashboard-grid,.contracts-layout,.tab-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.commercial-journey-panel{overflow:hidden}.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-top:1rem}.journey-step-card{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.85rem;padding:.95rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:inherit;text-decoration:none;min-width:0}.journey-step-card:hover{border-color:var(--accent);background:var(--surface-strong)}.journey-step-index{display:grid;place-items:center;width:2rem;height:2rem;border-radius:8px;background:rgba(var(--accent-rgb),.14);color:var(--accent);font-weight:800}.journey-step-body{display:grid;gap:.45rem;min-width:0}.journey-step-title{display:flex;justify-content:space-between;align-items:start;gap:.5rem;min-width:0}.journey-step-title strong{overflow-wrap:normal;word-break:normal}.journey-step-body p,.journey-step-body span{margin:0;color:var(--muted);font-size:.86rem}.journey-step-body span{font-weight:700}.schedule-tab-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;width:100%;min-width:0}.schedule-tab-stack>.panel{width:100%;min-width:0;grid-column:1 / -1}.documents-repository-panel{overflow:hidden}.documents-table .table-shell{width:100%;overflow-x:auto}.documents-table .data-table{min-width:1340px;table-layout:fixed}.documents-table .data-table th:nth-child(1),.documents-table .data-table td:nth-child(1){width:300px}.documents-table .data-table th:nth-child(2),.documents-table .data-table td:nth-child(2){width:120px}.documents-table .data-table th:nth-child(3),.documents-table .data-table td:nth-child(3){width:110px}.documents-table .data-table th:nth-child(4),.documents-table .data-table td:nth-child(4){width:150px}.documents-table .data-table th:nth-child(5),.documents-table .data-table td:nth-child(5){width:110px}.documents-table .data-table th:nth-child(6),.documents-table .data-table td:nth-child(6){width:120px}.documents-table .data-table th:nth-child(7),.documents-table .data-table td:nth-child(7){width:430px;min-width:430px}.document-title-cell{display:grid;gap:.25rem;min-width:0}.document-title-cell strong,.document-title-cell span{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.document-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.5rem;min-width:0}.document-actions .secondary-button,.document-actions .compact-btn{display:inline-flex;align-items:center;justify-content:center;min-width:92px;white-space:nowrap;overflow-wrap:normal;word-break:normal;text-align:center}.comment-count-pill,.comment-signal-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:2.6rem;white-space:nowrap}.comment-count-pill{min-height:1.8rem;padding:.25rem .55rem;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface);font-size:.78rem;font-weight:700}.detail-card{padding:.85rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.comment-attachment-picker,.comment-attachment-selection{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 .75rem}.comment-attachment-picker{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.comment-attachment-picker .compact-btn{width:100%;min-width:0;min-height:44px;padding:.55rem .75rem;white-space:normal;text-align:left;justify-content:flex-start;align-items:center}.comment-attachment-chip,.comment-attachment-reference{display:inline-flex;align-items:center;gap:.45rem;max-width:100%;min-width:0;padding:.38rem .55rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink);font-size:.82rem;font-weight:700;overflow-wrap:anywhere}.comment-attachment-chip.unresolved{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));color:var(--warning)}.comment-attachment-chip button,.comment-attachment-reference button{width:auto;min-width:0;border:1px solid var(--border);border-radius:4px;padding:.2rem .4rem;background:var(--field-bg);color:var(--ink);font-size:.75rem;font-weight:700;line-height:1.1}.resource-grid,.hero-grid,.quick-link-grid,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem}.vertical-kpis{grid-template-columns:1fr}.kpi-row div{padding:.75rem .65rem;border-radius:8px;background:var(--surface)}.kpi-row span,.detail-label{font-size:.8rem}.kpi-row strong,.detail-grid strong{display:block;margin-top:.2rem;font-size:.95rem;line-height:1.35;overflow-wrap:break-word}.currency-value{display:inline-block;max-width:100%;line-height:1.45;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;word-break:normal}.nowrap-value{display:inline-block;max-width:100%;white-space:nowrap}.budget-total-kpis{grid-template-columns:repeat(3,minmax(148px,1fr));overflow-x:auto;padding-bottom:.15rem}.budget-total-kpis>div{min-height:104px;overflow:visible}.budget-total-kpis .currency-value{display:block;padding-block:.08rem .18rem;font-size:.88rem;line-height:1.65;overflow:visible;white-space:nowrap}.stack-list{display:flex;flex-direction:column;gap:.8rem}.raid-toolbar{display:flex;justify-content:flex-end;margin-bottom:1rem}.raid-panel-header{align-items:flex-start;row-gap:.75rem;margin-bottom:1rem}.raid-panel-header .secondary-button{flex:0 0 auto;white-space:nowrap}.raid-stack-list{padding-top:.05rem}.raid-suggestion-modal{display:flex;flex-direction:column;gap:1rem}.raid-suggestion-list{display:flex;flex-direction:column;gap:.9rem;max-height:min(62vh,760px);overflow:auto;padding-right:.2rem}.raid-suggestion-card{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:start;padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.raid-suggestion-main{min-width:0}.raid-suggestion-main h3{margin:0 0 .35rem;font-size:1.05rem;line-height:1.35;overflow-wrap:anywhere}.raid-suggestion-main p{margin:0;color:var(--muted)}.raid-suggestion-meta,.raid-suggestion-actions{display:flex;flex-wrap:wrap;gap:.55rem}.raid-suggestion-meta{margin-bottom:.65rem}.raid-suggestion-actions{justify-content:flex-start;min-width:0}.raid-suggestion-actions button{width:auto;min-width:132px;min-height:38px;padding:.55rem .9rem;white-space:nowrap}.raid-suggestion-detail{display:grid;gap:.35rem;margin-top:.8rem;color:var(--muted);font-size:.88rem}.stack-item,.contract-list-item{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:flex-start;gap:1rem;padding:.95rem 1rem;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.action-row{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}.schedule-planner-header{flex-direction:column;align-items:flex-start;gap:1.5rem;margin-bottom:1.25rem}.schedule-planner-title-group{display:flex;width:100%;flex:0 0 auto;align-items:flex-start;gap:1rem;min-width:0}.schedule-planner-title-group>div:first-child{min-width:170px;flex:0 0 auto}.gantt-pdf-export-group{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr)) minmax(190px,auto);align-items:stretch;gap:.75rem;flex:1 1 auto;min-width:0;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.gantt-pdf-export-group .gantt-pdf-scale-control{width:100%}.gantt-pdf-export-group button{grid-column:3;grid-row:1 / span 2;min-height:44px;width:100%;justify-content:center;white-space:nowrap}.schedule-planner-actions{display:grid;grid-template-columns:repeat(2,240px);justify-content:start;align-items:stretch;gap:.85rem 1rem;flex:0 0 auto}.schedule-planner-actions button{min-height:44px;width:240px;justify-content:center;white-space:nowrap}.gantt-pdf-scale-control{display:flex;min-height:44px;width:240px;align-items:center;gap:.65rem;justify-content:space-between;padding:.45rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--panel-muted)}.gantt-pdf-scale-control span{color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.gantt-pdf-scale-control select{width:112px;min-height:34px;padding:.35rem .55rem}form.panel{display:flex;flex-direction:column}.stack-item strong,.contract-list-item strong{display:block;margin-bottom:.15rem}.action-stack{align-items:flex-start}.text-link,.strong-link{color:var(--accent-deep);font-weight:700}.primary-button,.secondary-button,.quick-account,.contract-list-item,.tab-button,.quick-link-card{transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.primary-button:hover,.secondary-button:hover,.quick-account:hover,.contract-list-item:hover,.tab-button:hover,.quick-link-card:hover{transform:translateY(-1px)}.primary-button,.secondary-button{border:none;padding:.85rem 1.15rem;border-radius:6px;font-weight:700}.primary-button{color:#fff;background:linear-gradient(135deg,var(--accent),#d69b47);box-shadow:0 12px 24px #c66b3d38}.secondary-button{color:var(--ink);background:var(--surface-strong);border:1px solid var(--border)}.field{display:flex;flex-direction:column;gap:.45rem}.inline-field{min-width:320px}.vendor-header-actions{display:grid;grid-template-columns:minmax(280px,360px) max-content;gap:1rem;align-items:end}.vendor-search-field{min-width:0}.vendor-create-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:52px;white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:0;border-radius:0;font-size:.78rem;font-weight:700;line-height:1.35;text-transform:capitalize}.badge-good{color:var(--good);background:transparent}.badge-warning{color:var(--warning);background:transparent}.badge-critical{color:var(--critical);background:transparent}.badge-info{color:var(--info);background:transparent}.badge-neutral{color:var(--ink);background:transparent}.table-shell{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.95rem .85rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.data-table tr.row-critical{background:var(--row-critical-bg)}.data-table tr.row-warning{background:var(--row-warning-bg)}.data-table tr.row-critical-path{background:var(--row-critical-bg);border-left:4px solid var(--critical)}.data-table tr.row-highlight{background:var(--row-highlight-bg);border-left:4px solid var(--good)}.data-table th{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.badge{overflow-wrap:normal;word-break:keep-all}.schedule-snapshot-table .table-shell{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:.25rem}.schedule-snapshot-header{align-items:stretch;gap:1rem;margin-bottom:1.1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.schedule-snapshot-header>div:last-child{align-items:stretch;flex-wrap:wrap}.schedule-snapshot-header select.small,.schedule-snapshot-header .secondary-button{min-height:3.4rem}.schedule-snapshot-table .data-table{width:max-content;min-width:1360px;table-layout:fixed}.schedule-snapshot-table .data-table th:nth-child(1),.schedule-snapshot-table .data-table td:nth-child(1){width:44px;text-align:center}.schedule-snapshot-table .data-table th:nth-child(2),.schedule-snapshot-table .data-table td:nth-child(2){width:76px}.schedule-snapshot-table .data-table th:nth-child(3),.schedule-snapshot-table .data-table td:nth-child(3){width:380px;min-width:380px;white-space:normal;overflow-wrap:normal;word-break:normal}.schedule-snapshot-table .data-table th:nth-child(4),.schedule-snapshot-table .data-table td:nth-child(4){width:108px;white-space:nowrap}.schedule-snapshot-table .data-table th:nth-child(5),.schedule-snapshot-table .data-table td:nth-child(5){width:132px;min-width:132px;white-space:nowrap;overflow-wrap:normal}.schedule-snapshot-table .data-table th:nth-child(6),.schedule-snapshot-table .data-table td:nth-child(6){width:136px;min-width:136px;white-space:nowrap;overflow-wrap:normal}.schedule-snapshot-table .data-table th:nth-child(7),.schedule-snapshot-table .data-table td:nth-child(7){width:110px}.schedule-snapshot-table .data-table th:nth-child(8),.schedule-snapshot-table .data-table td:nth-child(8){width:150px}.schedule-snapshot-table .data-table th:nth-child(n+9),.schedule-snapshot-table .data-table td:nth-child(n+9){width:170px;min-width:170px;white-space:normal;overflow-wrap:anywhere}.schedule-snapshot-table .data-table th:nth-child(n+9){line-height:1.25;vertical-align:bottom}.schedule-snapshot-table .data-table td:nth-child(n+9) span{display:inline-block;min-width:0;max-width:100%;overflow-wrap:anywhere}.wbs-activity-cell{display:grid;gap:.35rem;min-width:0}.wbs-activity-name{display:block;min-width:0;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:none;hyphens:none;color:var(--ink)}.wbs-activity-badges{display:flex;flex-wrap:wrap;gap:.35rem}.wbs-select-cell{display:inline-flex;align-items:center;min-width:46px;gap:.45rem}.wbs-unassigned-resource{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid color-mix(in srgb,var(--warning) 52%,var(--border));border-radius:999px;color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent);flex:0 0 auto}.project-budget-stack{width:100%}.project-budget-totals-panel,.project-budget-table{width:100%;min-width:0}.project-budget-table .table-shell{width:100%;overflow-x:auto}.project-budget-table .data-table{min-width:1040px;table-layout:fixed}.project-budget-table .data-table th:nth-child(1),.project-budget-table .data-table td:nth-child(1){width:150px;min-width:150px}.project-budget-table .data-table th:nth-child(2),.project-budget-table .data-table td:nth-child(2){width:36%}.project-budget-table .data-table th:nth-child(3),.project-budget-table .data-table td:nth-child(3),.project-budget-table .data-table th:nth-child(4),.project-budget-table .data-table td:nth-child(4),.project-budget-table .data-table th:nth-child(5),.project-budget-table .data-table td:nth-child(5){width:156px}.project-budget-table .data-table th:nth-child(6),.project-budget-table .data-table td:nth-child(6){width:150px}.project-budget-table .data-table td:nth-child(n+3){line-height:1.45}.project-budget-table .data-table td:nth-child(n+3) .currency-value,.project-budget-table .data-table td:nth-child(6) .badge{white-space:nowrap}.project-budget-table .badge{line-height:1.45}.project-boq-table .table-shell,.project-bom-table .table-shell{width:100%;overflow-x:auto}.project-boq-table .data-table,.project-bom-table .data-table{table-layout:fixed}.project-boq-table .data-table{min-width:1620px}.project-bom-table .data-table{min-width:1520px}.project-boq-table .data-table th:nth-child(1),.project-boq-table .data-table td:nth-child(1){width:122px}.project-boq-table .data-table th:nth-child(2),.project-boq-table .data-table td:nth-child(2){width:240px}.project-boq-table .data-table th:nth-child(3),.project-boq-table .data-table td:nth-child(3){width:360px}.project-boq-table .data-table th:nth-child(4),.project-boq-table .data-table td:nth-child(4){width:100px}.project-boq-table .data-table th:nth-child(5),.project-boq-table .data-table td:nth-child(5){width:132px}.project-boq-table .data-table th:nth-child(6),.project-boq-table .data-table td:nth-child(6){width:172px}.project-boq-table .data-table th:nth-child(7),.project-boq-table .data-table td:nth-child(7){width:118px}.project-boq-table .data-table th:nth-child(8),.project-boq-table .data-table td:nth-child(8){width:112px}.project-boq-table .data-table th:nth-child(9),.project-boq-table .data-table td:nth-child(9){width:240px}.project-bom-table .data-table th:nth-child(1),.project-bom-table .data-table td:nth-child(1){width:126px}.project-bom-table .data-table th:nth-child(2),.project-bom-table .data-table td:nth-child(2){width:270px}.project-bom-table .data-table th:nth-child(3),.project-bom-table .data-table td:nth-child(3){width:270px}.project-bom-table .data-table th:nth-child(4),.project-bom-table .data-table td:nth-child(4){width:94px}.project-bom-table .data-table th:nth-child(5),.project-bom-table .data-table td:nth-child(5){width:156px}.project-bom-table .data-table th:nth-child(6),.project-bom-table .data-table td:nth-child(6){width:122px}.project-bom-table .data-table th:nth-child(7),.project-bom-table .data-table td:nth-child(7),.project-bom-table .data-table th:nth-child(8),.project-bom-table .data-table td:nth-child(8){width:116px}.project-bom-table .data-table th:nth-child(9),.project-bom-table .data-table td:nth-child(9){width:230px}.project-boq-table .data-table td:nth-child(1) strong,.project-boq-table .data-table td:nth-child(4) .nowrap-value,.project-boq-table .data-table td:nth-child(5) .currency-value,.project-boq-table .data-table td:nth-child(6) .currency-value,.project-boq-table .data-table td:nth-child(7) .nowrap-value,.project-boq-table .data-table td:nth-child(8) .badge,.project-bom-table .data-table td:nth-child(1) strong,.project-bom-table .data-table td:nth-child(4) .nowrap-value,.project-bom-table .data-table td:nth-child(5) .nowrap-value,.project-bom-table .data-table td:nth-child(6) .nowrap-value,.project-bom-table .data-table td:nth-child(7) .badge,.project-bom-table .data-table td:nth-child(8) .badge{white-space:nowrap}.prr-checklist-table .table-shell{width:100%;overflow-x:auto}.prr-checklist-table .data-table{min-width:1320px;table-layout:fixed}.prr-checklist-table .data-table th,.prr-checklist-table .data-table td{overflow-wrap:break-word;word-break:normal}.prr-checklist-table .data-table th:nth-child(1),.prr-checklist-table .data-table td:nth-child(1){width:150px;min-width:150px;overflow-wrap:normal;word-break:normal}.prr-checklist-table .data-table th:nth-child(2),.prr-checklist-table .data-table td:nth-child(2){width:230px}.prr-checklist-table .data-table th:nth-child(3),.prr-checklist-table .data-table td:nth-child(3){width:130px}.prr-checklist-table .data-table th:nth-child(4),.prr-checklist-table .data-table td:nth-child(4){width:330px}.prr-checklist-table .data-table th:nth-child(5),.prr-checklist-table .data-table td:nth-child(5){width:250px}.prr-checklist-table .data-table th:nth-child(6),.prr-checklist-table .data-table td:nth-child(6){width:230px}.customer-billing-table .table-shell{width:100%;overflow-x:auto}.customer-billing-table .data-table{min-width:1180px}.customer-billing-table .data-table th:nth-child(1),.customer-billing-table .data-table td:nth-child(1){min-width:116px;white-space:nowrap}.customer-billing-table .data-table th:nth-child(2),.customer-billing-table .data-table td:nth-child(2){min-width:280px}.project-invoice-table .table-shell{width:100%;overflow-x:auto}.project-invoice-table .data-table{min-width:1180px;table-layout:fixed}.project-invoice-table .data-table th:nth-child(1),.project-invoice-table .data-table td:nth-child(1){width:160px}.project-invoice-table .data-table th:nth-child(2),.project-invoice-table .data-table td:nth-child(2){width:90px}.project-invoice-table .data-table th:nth-child(3),.project-invoice-table .data-table td:nth-child(3),.project-invoice-table .data-table th:nth-child(4),.project-invoice-table .data-table td:nth-child(4){width:156px}.project-invoice-table .data-table th:nth-child(5),.project-invoice-table .data-table td:nth-child(5){width:132px}.project-invoice-table .data-table th:nth-child(6),.project-invoice-table .data-table td:nth-child(6){width:100px}.project-invoice-table .data-table th:nth-child(7),.project-invoice-table .data-table td:nth-child(7){width:280px}.project-invoice-table .data-table th:nth-child(8),.project-invoice-table .data-table td:nth-child(8){width:160px}.project-invoice-table .data-table td:nth-child(1),.project-invoice-table .data-table td:nth-child(3) .currency-value,.project-invoice-table .data-table td:nth-child(4) .currency-value,.project-invoice-table .data-table td:nth-child(5) .nowrap-value,.project-invoice-table .data-table td:nth-child(6) .badge{white-space:nowrap}.budget-category-cell{display:inline-block;min-width:max-content;white-space:nowrap;text-transform:capitalize}.table-empty{text-align:center}.table-empty-state{display:grid;justify-items:center;gap:.45rem;padding:2rem 1rem;color:var(--muted)}.table-empty-state svg{color:var(--accent);opacity:.75}.table-empty-state strong{color:var(--ink)}.table-empty-state span{max-width:34rem;font-size:.88rem}.gantt-frame{display:grid;gap:.75rem;min-width:0}.gantt-shell{display:flex;flex-direction:column;overflow-x:auto;overflow-y:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:grab;touch-action:pan-y}.gantt-shell.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.gantt-shell.is-panning *{-webkit-user-select:none;user-select:none}.gantt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.gantt-toolbar>div:first-child{display:grid;gap:.15rem;min-width:0}.gantt-toolbar strong{color:var(--ink);line-height:1.15}.gantt-granularity-toggle{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.gantt-granularity-toggle button{min-width:82px;border:1px solid var(--border-strong);border-radius:999px;padding:.45rem .75rem;background:var(--panel);color:var(--ink);font-weight:700;line-height:1.1}.gantt-granularity-toggle button.active{border-color:var(--accent);background:var(--accent);color:#fff}.gantt-header,.gantt-row{display:grid;grid-template-columns:var(--gantt-label-width, 280px) minmax(var(--gantt-timeline-width, 760px),1fr)}.gantt-header{align-items:stretch;min-height:42px;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--gantt-header-bg);border-bottom:1px solid var(--border)}.gantt-header>span{display:flex;align-items:center;padding:0 1rem;border-right:1px solid var(--border)}.gantt-scale{position:relative;min-width:var(--gantt-timeline-width, 760px);min-height:42px;overflow:visible}.gantt-scale-tick{position:absolute;top:50%;min-width:4.5rem;padding-left:.45rem;transform:translateY(-50%);border-left:1px solid var(--border-strong);color:var(--ink);font-weight:700;letter-spacing:.04em}.gantt-scale-day{min-width:3rem;font-size:.68rem;letter-spacing:0}.gantt-scale-week{min-width:4.25rem;font-size:.72rem}.gantt-scale-tick-end{min-width:0;width:max-content;padding-left:0;padding-right:.45rem;transform:translate(-100%,-50%);border-left:0;border-right:1px solid var(--border-strong);text-align:right}.gantt-today-scale-label{position:absolute;top:50%;z-index:8;transform:translate(-50%,-50%);padding:.18rem .45rem;border-radius:999px;background:#14b8a6;color:#041312;font-size:.68rem;font-weight:800;letter-spacing:0;line-height:1;box-shadow:0 0 0 2px var(--surface),0 8px 18px #14b8a647;white-space:nowrap}.gantt-legend{display:flex;align-items:center;gap:1rem;min-height:36px;padding:0 1rem 0 calc(var(--gantt-label-width, 280px) + 1rem);border-bottom:1px solid var(--border);color:var(--muted);font-size:.78rem;font-weight:600;background:var(--surface)}.gantt-legend span{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.gantt-legend i{display:inline-block;width:1.5rem;height:.45rem;border-radius:999px}.gantt-legend-baseline{background:var(--border-strong)}.gantt-legend-planned{background:linear-gradient(90deg,#c66b3d,#e1a04d)}.gantt-legend-progress{background:linear-gradient(90deg,#2f7f5ffa,#5bb581fa)}.gantt-label{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.35rem;padding:.55rem 1rem;border-right:1px solid var(--border)}.gantt-label-title{min-width:0;display:grid;grid-template-columns:3.25rem minmax(0,1fr);gap:.45rem;align-items:start}.gantt-label-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-label-meta{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.78rem;text-transform:capitalize}.gantt-body{position:relative;display:flex;flex-direction:column;overflow:visible;gap:0}.gantt-timeline-backdrop{position:absolute;inset:0 0 0 var(--gantt-label-width, 280px);min-width:var(--gantt-timeline-width, 760px);pointer-events:none;background:var(--gantt-grid-bg)}.gantt-time-line,.gantt-today-line{position:absolute;top:0;bottom:0;width:1px}.gantt-day-line{background:#788c8829}.gantt-week-line,.gantt-month-line{background:var(--border)}.gantt-today-overlay{position:absolute;inset:0 0 0 var(--gantt-label-width, 280px);z-index:8;min-width:var(--gantt-timeline-width, 760px);pointer-events:none}.gantt-today-line{width:3px;background:#14b8a6;box-shadow:0 0 0 1px #0413127a,0 0 18px #14b8a68c;opacity:.95}.gantt-row{min-height:var(--gantt-row-height, 76px);position:relative;z-index:2;border-bottom:1px solid var(--border);cursor:pointer}.gantt-row:last-child{border-bottom:0}.gantt-row-selected{background:color-mix(in srgb,var(--accent) 9%,transparent);box-shadow:inset 3px 0 0 var(--accent)}.gantt-track{position:relative;min-height:var(--gantt-row-height, 76px);min-width:var(--gantt-timeline-width, 760px);overflow:visible;background:transparent}.gantt-dependency-layer{position:absolute;inset:0 0 0 var(--gantt-label-width, 280px);min-width:var(--gantt-timeline-width, 760px);width:calc(100% - var(--gantt-label-width, 280px));height:100%;z-index:5;overflow:visible;pointer-events:none}.gantt-dependency-path-halo{fill:none;stroke:#fffffff5;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.gantt-dependency-path{fill:none;stroke:#0f6974e6;stroke-width:.5;stroke-linecap:round;stroke-linejoin:round;marker-end:url(#gantt-arrowhead);vector-effect:non-scaling-stroke}.gantt-dependency-path-selected{stroke:var(--accent-strong);stroke-width:1.2}.gantt-dependency-muted{opacity:.22}.gantt-dependency-layer marker path{fill:#0f6974db}.gantt-baseline,.gantt-current{position:absolute;z-index:3;top:50%;transform:translateY(-50%);height:8px;border-radius:999px}.gantt-baseline{top:calc(50% - 11px);background:var(--border-strong)}.gantt-current{top:calc(50% + 5px);height:16px;background:linear-gradient(90deg,#c66b3d,#e1a04d);box-shadow:0 6px 16px #c66b3d40;overflow:hidden;cursor:var(--gantt-drag-cursor, grab)}.gantt-current.gantt-critical{background:linear-gradient(90deg,var(--critical),#d16a5a);box-shadow:0 6px 16px #a3443459}.gantt-progress-fill{position:absolute;inset:0 auto 0 0;min-width:0;border-radius:inherit;background:linear-gradient(90deg,#2f7f5ffa,#5bb581fa);box-shadow:inset -1px 0 #ffffff59}.gantt-current.gantt-critical .gantt-progress-fill{background:linear-gradient(90deg,#2f7f5ffa,#5bb581fa)}.gantt-milestone-baseline,.gantt-milestone-current{position:absolute;z-index:4;transform:translate(-50%,-50%) rotate(45deg)}.gantt-milestone-baseline{top:calc(50% - 10px);width:12px;height:12px;border-radius:3px;background:var(--border-strong)}.gantt-milestone-current{top:calc(50% + 5px);width:18px;height:18px;border-radius:4px;background:linear-gradient(135deg,#c66b3d,#e1a04d);box-shadow:0 6px 16px #c66b3d40;cursor:var(--gantt-drag-cursor, grab)}.gantt-milestone-current.gantt-critical{background:linear-gradient(135deg,var(--critical),#d16a5a);box-shadow:0 6px 16px #a3443459}.gantt-milestone-current.gantt-complete,.gantt-milestone-current.gantt-complete.gantt-critical{background:linear-gradient(135deg,#2f7f5ffa,#5bb581fa);box-shadow:0 6px 16px #2f7f5f59}.gantt-milestone-current.gantt-complete:after{content:"";position:absolute;width:7px;height:3px;left:50%;top:50%;border-left:2px solid rgba(255,255,255,.95);border-bottom:2px solid rgba(255,255,255,.95);transform:translate(-50%,-55%) rotate(0)}.schedule-inspector-grid,.schedule-leveling-grid{display:grid;gap:.75rem}.schedule-inspector-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.schedule-inspector-card,.schedule-leveling-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:.85rem}.schedule-inspector-card strong,.schedule-leveling-card strong{display:block;margin-bottom:.35rem}.schedule-leveling-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem}.schedule-path-list{display:flex;flex-direction:column;gap:.4rem}.schedule-path-group .eyebrow{margin-bottom:.45rem}.schedule-inspector-actions{margin:.75rem 0 1rem}.schedule-path-list button{justify-content:flex-start;width:100%}.schedule-recurring-preview{display:flex;flex-direction:column;gap:.5rem;max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:8px;padding:.75rem;background:var(--surface)}.chart-card{display:flex;flex-direction:column;gap:.85rem}.chart-legend,.curve-axis{display:flex;gap:1rem}.chart-legend{justify-content:flex-start;flex-wrap:wrap}.curve-axis{justify-content:space-between}.legend-item{display:inline-flex;gap:.45rem;align-items:center;color:var(--muted)}.legend-item-detail{align-items:flex-start;min-width:150px;max-width:220px}.legend-item-detail span{display:grid;gap:.15rem;line-height:1.25}.legend-item-detail strong{color:var(--text);font-size:.95rem}.legend-item-detail small{color:var(--muted);font-size:.78rem}.legend-swatch{display:inline-block;width:18px;height:4px;border-radius:999px;flex:0 0 auto;margin-top:.45rem}.legend-swatch.planned,.planned-line{background:#c66b3d;stroke:#c66b3d}.legend-swatch.actual,.actual-line{background:#0d5c63;stroke:#0d5c63}.curve-chart{width:100%;min-height:220px}.grid-line{stroke:var(--border-strong);stroke-width:1}.curve-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.curve-axis span{flex:1;text-align:center;color:var(--muted);font-size:.82rem}.login-page{min-height:100vh;display:grid;grid-template-columns:1.2fr .9fr;gap:1.5rem;padding:1.5rem}.login-hero,.login-card{border-radius:8px;padding:2rem}.login-hero{display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at top left,rgba(198,107,61,.22),transparent 30%),radial-gradient(circle at bottom right,rgba(13,92,99,.2),transparent 28%),linear-gradient(160deg,#1d2b2bf0,#263f3cf5);color:#fff7f1}.login-hero p,.login-hero .eyebrow,.hero-card span{color:#fff7f1c7}.hero-card{background:#ffffff14;border:1px solid rgba(255,255,255,.08);color:#fff}.login-card{display:flex;flex-direction:column;gap:1rem;justify-content:center}.quick-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-account,.contract-list-item{text-align:left;border:1px solid var(--border);background:var(--surface)}.quick-account{display:flex;flex-direction:column;gap:.25rem;padding:1rem}.contract-list-item.active{border-color:#c66b3d66;background:#c66b3d14}.error-banner{padding:.85rem 1rem;border-radius:6px;color:var(--critical);background:#a3443417}.form-error{padding:.75rem .85rem;border:1px solid rgba(163,68,52,.18);border-radius:6px;color:var(--critical);background:#a3443414;font-size:.88rem}.form-success{padding:.75rem .85rem;border:1px solid rgba(47,127,95,.18);border-radius:6px;color:var(--good);background:#2f7f5f17;font-size:.88rem;font-weight:600}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.operation-alert{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.85rem 1.25rem 0;padding:.85rem 1rem;border:1px solid rgba(163,68,52,.18);border-radius:8px;color:var(--critical);background:#a3443414}.operation-alert div:first-child{display:grid;gap:.15rem}.operation-alert span{color:var(--muted);font-size:.86rem}.operation-alert-actions{display:flex;flex:0 0 auto;gap:.5rem}.schedule-health-alerts{margin-top:1.5rem;padding:1rem;border-radius:8px;border:1px solid rgba(163,68,52,.35);background:#a3443414}.schedule-health-title{color:var(--critical);margin-bottom:.65rem}.schedule-health-item{color:var(--ink);border:1px solid var(--border);background:var(--surface-strong)}.schedule-health-item span{color:var(--muted)}.schedule-health-item strong{color:var(--ink)}.schedule-health-critical{border-left:4px solid var(--critical)}.schedule-health-warning{border-left:4px solid var(--warning)}.schedule-health-link{color:var(--critical);font-weight:700}[data-theme=dark] .schedule-health-alerts{border-color:#ef8f7e80;background:#ef8f7e1f}[data-theme=dark] .schedule-health-item{background:#23312ff5}[data-theme=dark] .schedule-health-item span{color:#c4d4d0}[data-theme=dark] .schedule-health-item strong{color:#f7fbf9}.render-fallback{min-height:100vh;display:grid;align-content:center;justify-items:start;gap:1.25rem;padding:clamp(1.25rem,5vw,4rem);color:var(--ink);background:var(--bg)}.render-fallback>div{max-width:680px}.render-fallback h1{margin:.2rem 0 .75rem;font-size:clamp(2rem,5vw,3.5rem);letter-spacing:0}.render-fallback p{margin:0;color:var(--muted)}.render-fallback-actions{display:flex;gap:.75rem}.tab-strip{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.15rem}.tab-button{flex:0 0 auto;border:1px solid var(--border);border-radius:999px;padding:.7rem 1rem;background:var(--surface);text-transform:capitalize}.tab-button.active{color:#fff;background:linear-gradient(135deg,#1d2b2b,#335252)}[data-theme=dark] .tab-button.active{color:#f7fbf9;background:linear-gradient(135deg,#294342,#386260)}.quick-link-grid{margin-top:1rem}.quick-link-card{display:block;font-weight:700;color:var(--accent-deep)}@keyframes riseIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1240px){.metric-grid,.dashboard-grid,.contracts-layout,.tab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}.login-page,.portfolio-signal-layout,.solution-manuals-layout{grid-template-columns:1fr}.invoice-financial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dependency-link-grid{grid-template-columns:minmax(0,1fr) minmax(96px,.5fr) minmax(96px,.5fr)}}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;z-index:45;width:min(84vw,320px);height:100dvh;transform:translate(-105%);transition:transform .18s ease;box-shadow:20px 0 50px #00000047}.sidebar.mobile-open{transform:translate(0)}.mobile-menu-toggle{position:fixed;top:.75rem;left:.75rem;z-index:60;display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-strong);color:var(--ink);box-shadow:var(--shadow)}.mobile-sidebar-backdrop{position:fixed;inset:0;z-index:40;display:block;border:0;padding:0;background:#0000006b}.topbar{padding-left:4.5rem}.topbar,.section-header,.hero-banner{flex-direction:column;align-items:stretch}.topbar-left,.topbar-right,.action-row,.operation-alert{flex-wrap:wrap}.topbar-title{max-width:100%}.project-switcher,.search-shell,.inline-field{min-width:0;width:100%}.vendor-header-actions{grid-template-columns:1fr;width:100%}.vendor-create-button{width:100%}.topbar-controls,.topbar-right,.topbar-heading{width:100%;max-width:none!important;min-width:0!important}.topbar-right>*{min-width:0}.schedule-planner-header{flex-direction:column}.schedule-planner-title-group,.schedule-planner-actions{width:100%}.schedule-planner-title-group{flex-direction:column}.gantt-pdf-export-group{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0}.gantt-pdf-export-group button{grid-column:1 / -1;grid-row:auto}.schedule-planner-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-planner-actions button,.gantt-pdf-scale-control{width:100%}.notification-dropdown{right:auto!important;left:0!important;width:min(360px,calc(100vw - 2rem))!important}.responsive-split-actions{flex-direction:column}.responsive-action-stack{width:100%;min-width:0}.raid-suggestion-card{grid-template-columns:1fr}.raid-suggestion-actions{justify-content:flex-start;min-width:0}.raid-suggestion-actions button{width:min(100%,180px)}}@media(max-width:760px){.content-area,.sidebar,.login-page{padding:1rem}.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading actions" "search search";align-items:center;gap:.65rem;padding:.7rem .75rem .75rem 3.85rem}.mobile-menu-toggle{top:.72rem;left:.75rem;width:40px;height:40px}.topbar-heading{grid-area:heading;width:auto}.topbar-heading .eyebrow{display:none}.topbar-title-row{flex-wrap:nowrap;gap:.5rem!important;margin-top:0!important}.topbar-title{max-width:100%;font-size:1.05rem!important;line-height:1.2}.topbar-status{flex:0 0 auto;gap:.25rem!important;padding:.25rem .45rem!important;font-size:.68rem!important}.topbar-status span{display:none}.topbar-controls{grid-area:search;padding:0!important}.topbar-controls .search-input{min-height:38px;padding-top:.5rem;padding-bottom:.5rem}.topbar-right{grid-area:actions;display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:.35rem!important;width:auto!important}.topbar-right .toolbar-field{flex:0 0 86px;width:86px!important}.project-switcher{width:86px!important;min-height:38px;padding:.48rem 1.55rem .48rem .55rem!important;font-size:.78rem}.notification-center-root,.notification-trigger,.theme-toggle,.user-pill,.topbar-right>.secondary-button{flex:0 0 auto}.notification-trigger,.theme-toggle,.topbar-right>.secondary-button{width:38px;min-width:38px;height:38px;min-height:38px;padding:0!important}.theme-toggle span,.user-pill .user-name,.user-pill .user-meta{display:none}.user-pill{width:38px;min-width:38px;height:38px;min-height:38px;max-width:38px!important;justify-content:center;padding:0!important}.user-pill .avatar{width:28px!important;height:28px!important;border-radius:6px!important;font-size:.72rem!important}.schedule-planner-actions,.gantt-pdf-export-group{grid-template-columns:1fr}.gantt-pdf-export-group button{grid-column:auto;grid-row:auto}.gantt-pdf-scale-control{width:100%}.metric-grid,.dashboard-grid,.contracts-layout,.tab-grid,.resource-grid,.hero-grid,.quick-link-grid,.quick-account-grid,.detail-grid,.responsive-two-grid,.rag-method-grid,.invoice-financial-grid,.project-settings-grid,.dependency-link-grid,.kpi-row{grid-template-columns:1fr}.span-2{grid-column:span 1}.gantt-header,.gantt-row{grid-template-columns:1fr}.panel,.metric-card,.modal-content,.drawer-content,.section-header,.hero-banner{min-width:0}.modal-form-grid,.detail-grid,.cr-detail-grid,.settings-grid{grid-template-columns:1fr!important}.modal-footer,.drawer-footer,.modal-actions,.drawer-actions,.operation-alert-actions,.created-user-card{flex-direction:column;align-items:stretch}.primary-button,.secondary-button,.btn{max-width:100%;white-space:normal}.solution-manual-preview{height:auto;min-height:70vh}.solution-manual-catalog{height:auto;min-height:auto}.solution-manual-list{max-height:58vh}.solution-manual-preview iframe{height:70vh!important;flex:none}.task-board-owner-filter{margin-left:0;width:100%}.task-board-owner-toggle{width:100%}}@media(max-width:560px){.topbar{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "actions";padding-left:3.65rem}.topbar-controls{display:none}.topbar-right{justify-content:flex-start;overflow-x:auto;padding-bottom:.1rem;scrollbar-width:none}.topbar-right::-webkit-scrollbar{display:none}.topbar-title-row{justify-content:space-between}.topbar-status{max-width:88px}}@media(max-width:420px){.topbar{padding-right:.6rem}.topbar-right .toolbar-field{flex-basis:74px;width:74px!important}.project-switcher{width:74px!important;font-size:.72rem}.topbar-status{display:none!important}}h1,h2,h3,h4,h5,h6,.brand-title,.section-header h1,.hero-banner h1,.login-hero h1{font-family:var(--font-heading);letter-spacing:-.015em;font-weight:600}.overlay{position:fixed;inset:0;background:#050c0b8a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out forwards}.modal-content{background:var(--panel);border:1px solid var(--panel-border);border-radius:12px;box-shadow:0 32px 80px #1d2b2b33;width:90%;max-width:540px;max-height:90vh;overflow-y:auto;opacity:0;transform:scale(.96) translateY(20px);animation:popIn .3s cubic-bezier(.16,1,.3,1) 50ms forwards}.modal-header,.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-header h2,.drawer-header h2{margin:0;font-size:1.25rem}.modal-body,.drawer-body{padding:1.5rem}.modal-footer,.drawer-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:1rem}.close-btn{background:transparent;border:none;font-size:1.5rem;line-height:1;padding:.2rem .6rem;border-radius:4px;color:var(--muted)}.close-btn:hover{background:var(--surface);color:var(--ink)}.drawer-content{position:fixed;inset:0 0 0 auto;width:100%;max-width:480px;background:var(--panel);border-left:1px solid var(--panel-border);box-shadow:-10px 0 40px #1d2b2b26;display:flex;flex-direction:column;transform:translate(100%);animation:slideInRight .3s cubic-bezier(.16,1,.3,1) forwards}.drawer-body{flex:1;overflow-y:auto}.data-table-toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem .85rem}.data-table-toolbar input{max-width:300px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideInRight{to{transform:translate(0)}}.budget-chart-grid{display:flex;flex-direction:column;gap:1rem}.budget-chart-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1rem;align-items:center}.budget-chart-label{font-size:.82rem;font-weight:600;color:var(--muted);text-transform:capitalize;text-align:right}.budget-chart-bars{display:flex;flex-direction:column;gap:4px}.budget-bar{position:relative;height:22px;border-radius:4px;min-width:2px;display:flex;align-items:center;transition:width .6s cubic-bezier(.16,1,.3,1)}.budget-bar.is-small{overflow:visible}.budget-bar.is-small .budget-bar-value{color:var(--muted);text-shadow:none;position:absolute;left:100%;margin-left:4px}.budget-bar-value{font-size:.72rem;font-weight:700;padding:0 .5rem;white-space:nowrap;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.budget-bar-planned{background:linear-gradient(90deg,var(--info),#1a8999)}.budget-bar-actual{background:linear-gradient(90deg,var(--accent),#d69b47)}.budget-bar-forecast{background:linear-gradient(90deg,#5c676399,#5c6763cc)}.audit-diff{font-size:.85rem;line-height:1.4}.audit-old{color:var(--critical);text-decoration:line-through;opacity:.75}.audit-new{color:var(--good);font-weight:600}.filter-strip{display:flex;flex-wrap:wrap;gap:1.25rem;padding:.75rem 1rem;background:var(--surface);border-radius:10px;border:1px solid var(--border)}.filter-group{display:flex;align-items:center;gap:.4rem}.filter-label{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-right:.25rem}.filter-chip{padding:.3rem .75rem;border-radius:999px;font-size:.8rem;font-weight:500;background:transparent;color:var(--muted);border:1px solid var(--border);cursor:pointer;transition:all .15s ease;text-transform:capitalize}.filter-chip:hover{border-color:var(--accent);color:var(--text)}.filter-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.drawer-form-stack{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.drawer-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.delete-blocker-notice{display:grid;gap:.35rem;margin:.75rem 0 0;padding:.8rem .9rem;border:1px solid rgba(163,68,52,.24);border-radius:8px;background:#a344341a;color:var(--critical);font-size:.88rem}.delete-blocker-notice span{color:var(--muted)}.delete-blocker-notice ul{margin:0;padding-left:1.1rem}.delete-blocker-notice li+li{margin-top:.25rem}.wbs-governance-control{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.wbs-governance-row{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;align-items:start;margin-top:.35rem}.wbs-stage-gate-toggle{display:inline-grid;grid-template-columns:18px minmax(0,auto);align-items:center;justify-content:start;gap:.6rem;max-width:max-content;cursor:pointer;color:var(--ink);font-weight:700;line-height:1.25}.wbs-stage-gate-toggle input{margin:0}.wbs-stage-gate-toggle span{overflow-wrap:normal;word-break:normal}.wbs-stage-gate-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding-left:1.65rem}.compact-btn{padding:.25rem .65rem;font-size:.78rem}.portfolio-edit-button{display:inline-flex;align-items:center;justify-content:center;min-width:72px;white-space:nowrap;overflow-wrap:normal;word-break:normal}.engagement-action-row{justify-content:flex-end;gap:.5rem;min-width:168px}.engagement-action-button{min-width:76px;white-space:nowrap;overflow-wrap:normal;word-break:normal;text-align:center;justify-content:center}.secondary-button.compact,.primary-button.compact{padding:.45rem .75rem;font-size:.78rem;min-width:max-content;white-space:nowrap;text-align:center;justify-content:center}.leave-action-row{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;min-width:168px}.leave-action-button{min-width:76px;white-space:nowrap;overflow:visible}.task-board-owner-filter{margin-left:auto;flex:0 1 240px;min-width:min(100%,220px);justify-content:flex-end}.task-board-owner-toggle{display:inline-flex;align-items:center;justify-content:flex-start;gap:.65rem;box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:.65rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:20px;cursor:pointer;font-size:.9rem;line-height:1.2}.task-board-owner-toggle input{flex:0 0 auto;width:1rem;min-width:1rem;height:1rem}.task-board-owner-toggle strong{display:block;flex:1 1 auto;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:keep-all;text-align:left}.admin-users-table .table-shell{width:100%;overflow-x:auto}.admin-users-table .data-table{min-width:1012px;table-layout:fixed}.admin-users-table .data-table th,.admin-users-table .data-table td{overflow-wrap:normal;word-break:normal}.admin-users-table .data-table th:nth-child(1),.admin-users-table .data-table td:nth-child(1){width:44px}.admin-users-table .data-table th:nth-child(2),.admin-users-table .data-table td:nth-child(2){width:205px}.admin-users-table .data-table th:nth-child(3),.admin-users-table .data-table td:nth-child(3){width:105px}.admin-users-table .data-table th:nth-child(4),.admin-users-table .data-table td:nth-child(4){width:80px}.admin-users-table .data-table th:nth-child(5),.admin-users-table .data-table td:nth-child(5){width:150px}.admin-users-table .data-table th:nth-child(6),.admin-users-table .data-table td:nth-child(6),.admin-users-table .data-table th:nth-child(7),.admin-users-table .data-table td:nth-child(7){width:110px}.admin-users-table .data-table th:nth-child(8),.admin-users-table .data-table td:nth-child(8){width:80px}.admin-users-table .data-table th:nth-child(9),.admin-users-table .data-table td:nth-child(9){width:128px}.admin-user-name-cell{display:grid;gap:.25rem;min-width:0}.admin-user-name-cell strong,.admin-user-table-text{display:block;max-width:100%;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.admin-user-email{overflow-wrap:anywhere}.admin-user-actions{display:grid;grid-template-columns:1fr;align-items:stretch;gap:.45rem;width:118px}.admin-user-actions .secondary-button,.admin-user-actions .primary-button{width:100%;min-width:0;min-height:2.25rem;padding:.45rem .55rem;white-space:normal;word-break:normal;overflow-wrap:normal;line-height:1.15;text-align:center;justify-content:center}.progress-slider{display:flex;align-items:center;gap:.75rem}.progress-slider input[type=range]{flex:1;accent-color:var(--accent)}.progress-slider .progress-value{font-weight:700;font-size:.9rem;min-width:3rem;text-align:right}.clickable-row:hover{background:rgba(var(--accent-rgb, 184, 149, 71),.06)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.responsive-two-grid,.portfolio-signal-layout,.rag-method-grid,.invoice-financial-grid,.solution-manuals-layout,.project-settings-grid,.dependency-link-grid{display:grid;gap:1rem;min-width:0}.responsive-two-grid,.rag-method-grid,.project-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-settings-grid{gap:2rem;margin-top:1rem}.compact-grid{gap:.5rem}.rag-method-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.portfolio-signal-layout{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.invoice-financial-grid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.5fr)}.dependency-link-grid{grid-template-columns:minmax(180px,1fr) minmax(96px,.52fr) minmax(96px,.52fr);gap:.65rem;align-items:end}.dependency-link-grid .field{min-width:0}.dependency-link-grid .primary-button{grid-column:1 / -1;width:100%;min-width:0;min-height:3rem;padding-inline:.9rem;white-space:nowrap;justify-content:center}.task-resource-assignment-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:start;justify-items:start;gap:.75rem;width:100%;min-width:0;box-sizing:border-box;padding:.7rem .85rem;border:1px solid var(--border);border-radius:6px;cursor:pointer;text-align:left}.task-resource-assignment-card input[type=checkbox]{justify-self:start;flex:0 0 auto;margin:0}.task-resource-assignment-copy{min-width:0;font-size:.85rem;line-height:1.35;text-align:left}.task-resource-assignment-copy strong,.task-resource-assignment-copy .subtle-text{display:block;overflow-wrap:anywhere}.responsive-split-actions{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.responsive-action-stack{display:flex;flex-direction:column;gap:.5rem;min-width:140px}.solution-manuals-layout{grid-template-columns:minmax(280px,.45fr) minmax(0,1fr);align-items:stretch}.solution-manual-catalog{display:flex;flex-direction:column;height:calc(100vh - 11rem);min-height:680px;overflow:hidden}.solution-manual-list{display:grid;gap:.6rem;flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:.25rem}.solution-manual-preview{display:flex;flex-direction:column;height:calc(100vh - 11rem);min-height:680px;overflow:hidden}.solution-manual-preview .panel-header{flex:0 0 auto}.solution-manual-frame{flex:1 1 auto;min-height:0}.detail-grid>div{display:flex;flex-direction:column;gap:.25rem}.detail-label{font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.kanban-board{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;min-height:400px}.kanban-column{background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;overflow:hidden}.kanban-column-header{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.kanban-column-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.kanban-column-title{font-weight:700;font-size:.85rem;flex:1}.kanban-column-count{font-size:.75rem;font-weight:700;color:var(--muted);background:var(--bg);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.kanban-column-body{flex:1;padding:.75rem;display:flex;flex-direction:column;gap:.6rem;overflow-y:auto;max-height:600px}.kanban-empty{color:var(--muted);font-size:.82rem;text-align:center;padding:2rem 1rem}.kanban-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.85rem;display:flex;flex-direction:column;gap:.4rem;transition:box-shadow .15s ease,transform .15s ease}.kanban-card:hover{box-shadow:0 4px 16px #0000004d;transform:translateY(-1px)}.kanban-critical{border-left:3px solid var(--critical)}.kanban-card-header{display:flex;align-items:center;justify-content:space-between}.kanban-card-code{font-size:.72rem;font-weight:700;color:var(--accent);letter-spacing:.03em}.kanban-card-title{font-weight:600;font-size:.88rem;line-height:1.3}.kanban-card-meta{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.kanban-card-progress{display:flex;align-items:center;gap:.5rem;margin-top:.2rem}.kanban-progress-bar{flex:1;height:5px;background:var(--border);border-radius:3px;overflow:hidden}.kanban-progress-fill{height:100%;border-radius:3px;transition:width .3s ease}.kanban-progress-label{font-size:.72rem;font-weight:700;min-width:2.5rem;text-align:right}.kanban-card-dates{display:flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--muted)}.kanban-card-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.kanban-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s ease;background:var(--surface);color:var(--ink)}.kanban-action-btn:hover{filter:brightness(.95);transform:translateY(-1px)}.kanban-action-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.kanban-action-btn.good{background:var(--good);color:#fff;border-color:var(--good)}.kanban-action-btn.secondary{background:var(--surface);border-color:var(--border);color:var(--muted)}.milestone-timeline{display:flex;flex-direction:column;padding:1rem 0}.milestone-item{display:flex;gap:1.25rem;min-height:80px}.milestone-connector{display:flex;flex-direction:column;align-items:center;width:36px;flex-shrink:0}.milestone-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#fff;flex-shrink:0;z-index:1}.dot-completed{background:var(--good)}.dot-overdue{background:var(--critical);animation:pulse-dot 2s ease-in-out infinite}.dot-upcoming{background:var(--accent)}@keyframes pulse-dot{0%,to{box-shadow:0 0 #e4646466}50%{box-shadow:0 0 0 8px #e4646400}}.milestone-line{width:2px;flex:1;background:var(--border);min-height:20px}.milestone-content{flex:1;padding-bottom:1.5rem}.milestone-top-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.milestone-code{font-size:.75rem;font-weight:700;color:var(--accent);letter-spacing:.04em}.milestone-title{font-size:1rem;font-weight:700;margin:0 0 .35rem}.milestone-details{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.8rem;color:var(--muted)}.milestone-variance{margin-top:.35rem;font-size:.82rem}.milestone-item.overdue .milestone-title{color:var(--critical)}.milestone-item.completed .milestone-title{color:var(--good)}.burn-progress-container{padding:1rem 0}.burn-bar-track{position:relative;height:28px;background:var(--border);border-radius:14px;overflow:visible}.burn-bar-fill{height:100%;border-radius:14px;transition:width .5s ease}.burn-threshold-line{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--accent);opacity:.8;z-index:2}.burn-threshold-label{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);background:var(--accent);color:#fff;padding:4px 10px;border-radius:4px;font-size:.72rem;font-weight:700;white-space:nowrap;box-shadow:0 4px 12px #c66b3d33}.burn-threshold-label:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--accent)}.burn-bar-labels{position:relative;display:flex;justify-content:space-between;margin-top:1rem;font-size:.78rem;color:var(--muted);font-weight:600}.burn-label-start{text-align:left}.burn-label-end{text-align:right;max-width:40%}.burn-chart{padding:1rem 0}.burn-chart-area{display:flex;align-items:flex-end;gap:4px;height:240px;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.burn-chart-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%}.burn-chart-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}.burn-col-planned{width:40%;background:var(--info);border-radius:4px 4px 0 0;min-height:2px;transition:height .4s ease;opacity:.6}.burn-col-actual{width:40%;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px;transition:height .4s ease}.cr-detail-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:2rem;padding:1.5rem 2rem;background:var(--surface);border-bottom:1px solid var(--border)}.cr-detail-section p{font-size:.9rem;line-height:1.5;color:var(--ink);margin-bottom:1rem}.cr-workflow-timeline{display:flex;flex-direction:column;gap:1rem;padding-left:1rem;border-left:2px solid var(--border)}.timeline-step{display:flex;align-items:flex-start;gap:.75rem;opacity:.5;filter:grayscale(1)}.timeline-step.complete{opacity:1;filter:none;color:var(--accent)}.timeline-step.active{opacity:1;filter:none;color:var(--warning)}.step-content{display:flex;flex-direction:column}.step-content strong{font-size:.82rem;font-weight:700}.step-content span{font-size:.75rem;color:var(--muted)}.expansion-content{overflow:hidden}.notification-item-hover:hover{background:var(--surface)!important}@keyframes pulse-critical{0%{box-shadow:0 0 #dc262666}70%{box-shadow:0 0 0 10px #dc262600}to{box-shadow:0 0 #dc262600}}.pulse-critical{animation:pulse-critical 2s infinite;background:#dc26261a!important}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.shadow-premium{box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.secondary-button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.link-button{border:none;background:transparent;color:var(--accent);cursor:pointer;font-weight:700;padding:0}.login-mode-row{display:flex;justify-content:space-between;gap:1rem;margin-top:.25rem}.success-banner,.token-box{border:1px solid rgba(46,125,50,.2);background:#2e7d3214;color:#1b5e20;border-radius:6px;padding:.75rem;font-size:.85rem}.token-box{display:grid;gap:.4rem;word-break:break-all}.token-box span{font-weight:700}.token-box code{color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.45rem}.created-user-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(46,125,50,.2);background:#2e7d320f;border-radius:6px;padding:.85rem}.created-user-card strong{display:block;margin-top:.2rem}.subtle-link{background:none;border:none;color:var(--accent);text-decoration:underline;cursor:pointer;padding:0;font-family:inherit}.subtle-link:hover{color:var(--primary)}.schedule-column-controls{display:grid;gap:.65rem;border:1px solid var(--border);border-radius:8px;padding:.8rem;margin-bottom:1rem;background:var(--surface)}.inline-toggle-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,190px));gap:.75rem;justify-content:start;align-items:stretch}.inline-check{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;justify-items:start;gap:.65rem;border:1px solid var(--border);border-radius:14px;padding:.65rem .85rem;min-height:74px;width:190px;background:var(--panel);font-weight:700;color:var(--ink);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none}.inline-check input{margin:0;justify-self:center;cursor:pointer}.inline-check span{min-width:0;line-height:1.25;overflow-wrap:normal;word-break:normal}.bulk-wbs-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;padding:1rem;margin-top:.9rem;margin-bottom:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.bulk-wbs-toolbar>div:first-child{display:grid;gap:.2rem;min-width:min(100%,260px);margin-right:auto}.pm-cockpit-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:.75rem;align-items:stretch;margin:1rem 0}.pm-focus-card{display:grid;gap:.25rem;padding:.8rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.pm-focus-card span,.pm-focus-card small{color:var(--muted)}.pm-focus-card strong{font-size:1.65rem}.pm-report-button{min-height:100%;white-space:normal}.smart-warning-panel,.quick-inspector-panel{display:grid;gap:.85rem;padding:.9rem;margin:1rem 0;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.compact-header{margin-bottom:0}.smart-warning-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem}.smart-warning-item{display:grid;gap:.25rem;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--ink);padding:.75rem;cursor:pointer}.smart-warning-item.critical{border-color:#ae44338c}.smart-warning-item.warning{border-color:#c17e188c}.smart-warning-item span{color:var(--muted);font-size:.9rem}.bom-impact-panel{display:grid;gap:.85rem;margin:.75rem 0 1rem;padding:.9rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.bom-impact-summary,.bom-impact-item,.bom-impact-task{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}.bom-impact-summary strong,.bom-impact-item strong{display:block}.bom-impact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem}.bom-impact-item{min-width:0;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.bom-impact-item.critical{border-color:#ae44338c}.bom-impact-item.warning{border-color:#c17e188c}.bom-impact-item span,.bom-impact-task span{color:var(--muted);font-size:.88rem}.bom-impact-task{flex:0 0 min(42%,260px);flex-direction:column;gap:.2rem}.bom-impact-task strong{font-size:.92rem}.quick-inspector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.gantt-context-menu{position:fixed;z-index:80;display:grid;gap:.25rem;min-width:260px;max-height:min(720px,calc(100vh - 2rem));overflow-y:auto;padding:.6rem;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.gantt-context-menu button{border:0;border-radius:6px;padding:.65rem .75rem;background:transparent;color:var(--ink);text-align:left;font:inherit;font-weight:700;cursor:pointer}.gantt-context-menu button:hover{background:var(--surface)}.gantt-context-menu button:disabled{cursor:not-allowed;opacity:.55}.gantt-context-menu button:disabled:hover{background:transparent}.gantt-context-menu .gantt-undo-menu-item{border:1px solid var(--border);background:var(--surface);color:var(--accent)}.gantt-context-menu-section{display:grid;gap:.25rem;padding-top:.45rem;border-top:1px solid var(--border)}.gantt-context-menu-section>span{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.gantt-context-button-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem}.gantt-context-button-grid.progress-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.gantt-context-button-grid.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gantt-context-button-grid button{min-height:2.25rem;padding:.45rem .35rem;text-align:center}.gantt-context-menu .danger-menu-item{color:var(--critical)}.gantt-context-menu .delete-blocker-notice.compact{max-width:300px;margin:.35rem 0;padding:.65rem .7rem;font-size:.78rem}.gantt-context-menu .delete-blocker-notice.compact ul{padding-left:.9rem}@media(max-width:1100px){.pm-cockpit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-report-button{min-height:3rem}}@media(max-width:720px){.pm-cockpit-grid,.quick-inspector-grid{grid-template-columns:1fr}.bulk-wbs-toolbar{align-items:stretch}.bulk-wbs-toolbar select,.bulk-wbs-toolbar button{width:100%}}@media(max-width:1240px){.solution-manuals-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.solution-manual-catalog,.solution-manual-preview{height:auto;min-height:0}.solution-manual-list{max-height:54vh}.solution-manual-frame{width:100%;min-height:70vh;flex:none}}
