*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{top:0;bottom:0}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-3{top:-.75rem}.-top-6{top:-1.5rem}.bottom-0{bottom:0}.bottom-20{bottom:5rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-\[-12px\]{top:-12px}.top-\[-16px\]{top:-16px}.top-\[-2px\]{top:-2px}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-\[1\]{z-index:1}.z-\[2\]{z-index:2}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0{height:0}.h-1{height:.25rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.w-0{width:0}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-\[2px\]{width:2px}.w-full{width:100%}.min-w-0{min-width:0}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.\!truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-l-md{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.border-l-2{border-left-width:2px}.border-l-\[4px\]{border-left-width:4px}.border-r-\[4px\]{border-right-width:4px}.border-t-2{border-top-width:2px}.border-t-\[5px\]{border-top-width:5px}.border-dashed{border-style:dashed}.border-\[\#2b67a3\]{--tw-border-opacity:1;border-color:rgb(43 103 163/var(--tw-border-opacity,1))}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/70{border-color:hsla(0,0%,100%,.7)}.border-l-transparent{border-left-color:transparent}.border-r-transparent{border-right-color:transparent}.bg-\[\#2b67a3\]{--tw-bg-opacity:1;background-color:rgb(43 103 163/var(--tw-bg-opacity,1))}.bg-\[\#3076BD\]{--tw-bg-opacity:1;background-color:rgb(48 118 189/var(--tw-bg-opacity,1))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity,1))}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-3{padding:.75rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pt-1{padding-top:.25rem}.pt-14{padding-top:3.5rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[7px\]{font-size:7px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-snug{line-height:1.375}.tracking-\[0\.12em\]{letter-spacing:.12em}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\[clip-path\:polygon\(0_0\2c calc\(100\%_-_12px\)_0\2c 100\%_50\%\2c calc\(100\%_-_12px\)_100\%\2c 0_100\%\)\]{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%)}:root{color-scheme:light dark;--ink:#111827;--steel:#1f2937;--mist:#e5e7eb;--panel:#f8fafc;--accent:#1f3a56;--accent-warm:#a2642a;--radius:6px;--shadow:0 12px 30px rgba(15,23,42,.08);--font-heading:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif;--font-body:"IBM Plex Sans Condensed","IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif}*{box-sizing:border-box}body,html{padding:0;margin:0;min-height:100%}body,html{background:var(--sapBackgroundColor,#f7f7f7);color:var(--sapTextColor,#32363a);font-family:var(--sapFontFamily,"72","72full",Arial,Helvetica,sans-serif)}body{position:relative;overflow-x:hidden}.ant-input,.ant-input-affix-wrapper,.ant-input-group-addon,.ant-input-number,.ant-picker,.ant-select:not(.ant-select-customize-input) .ant-select-selector{background:var(--sapField_Background,#fff)!important;border-color:var(--sapField_BorderColor,#89919a)!important;color:var(--sapField_TextColor,var(--sapTextColor,#32363a))!important;box-shadow:none!important}.ant-input-number input,.ant-picker-input>input,.ant-select-selection-item,.ant-select-selection-placeholder,.ant-select-selection-search-input{color:inherit!important}.ant-input-number input::-moz-placeholder,.ant-input::-moz-placeholder,.ant-picker-input>input::-moz-placeholder{color:var(--sapField_PlaceholderTextColor,var(--sapContent_LabelColor,#6a6d70))!important}.ant-input-number input::placeholder,.ant-input::placeholder,.ant-picker-input>input::placeholder{color:var(--sapField_PlaceholderTextColor,var(--sapContent_LabelColor,#6a6d70))!important}.ant-input-affix-wrapper:hover,.ant-input-number:hover,.ant-input:hover,.ant-picker:hover,.ant-select:not(.ant-select-disabled):hover .ant-select-selector{border-color:var(--sapField_Hover_BorderColor,var(--sapField_BorderColor,#89919a))!important}.ant-input-affix-wrapper-focused,.ant-input-focused,.ant-input-number-focused,.ant-input:focus,.ant-picker-focused,.ant-select-focused .ant-select-selector,.ant-select-open .ant-select-selector{border-color:var(--sapField_Focus_BorderColor,var(--sapField_Hover_BorderColor,var(--sapField_BorderColor,#89919a)))!important;box-shadow:0 0 0 .0625rem color-mix(in srgb,var(--sapContent_FocusColor,#000) 28%,transparent)!important}.ant-input-affix-wrapper.ant-input-affix-wrapper-disabled,.ant-input-number.ant-input-number-disabled,.ant-input[disabled],.ant-picker.ant-picker-disabled,.ant-select.ant-select-disabled .ant-select-selector{background:color-mix(in srgb,var(--sapField_Background,#fff) 84%,var(--sapList_HeaderBackground,#f7f7f7) 16%)!important;border-color:color-mix(in srgb,var(--sapField_BorderColor,#89919a) 74%,transparent)!important;color:var(--sapContent_DisabledTextColor,#89919a)!important}a{color:inherit;text-decoration:none}ui5-side-navigation-item{--_ui5_side_navigation_item_padding_left:1rem}ui5-side-navigation-sub-item{--_ui5_side_navigation_item_padding_left:2.5rem}ui5-side-navigation{--_ui5_side_navigation_border_right:none;background:var(--sapGroup_ContentBackground,#fff)!important;border-inline-end:1px solid var(--sapList_BorderColor,#d9d9d9)!important}.app-header-stack{display:flex;flex-direction:column}.header-nav{display:flex;align-items:center;gap:2px;padding:0 1rem;height:40px;background:var(--sapShell_Background,#fff);border-bottom:1px solid var(--sapPageHeader_BorderColor,#d9d9d9);box-shadow:0 1px 2px rgba(0,0,0,.05)}.header-nav-item{display:inline-flex;align-items:center;gap:6px;padding:0 14px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--sapShell_TextColor,#32363a);font-family:var(--sapFontFamily,"72",sans-serif);font-size:var(--sapFontSmallSize,.8125rem);font-weight:400;cursor:pointer;position:relative;transition:background .15s,color .15s;white-space:nowrap}.header-nav-item:hover{background:var(--sapList_Hover_Background,#eaecee)}.header-nav-item:active{background:var(--sapList_Active_Background,#0854a0);color:var(--sapList_Active_TextColor,#fff)}.header-nav-item--active{background:var(--sapList_SelectionBackgroundColor,#e5f0fa);color:var(--sapSelectedColor,#0854a0);font-weight:600}.header-nav-item--active:after{content:"";position:absolute;bottom:-4px;left:8px;right:8px;height:3px;border-radius:3px 3px 0 0;background:var(--sapSelectedColor,#0854a0)}.header-nav-icon{width:16px;height:16px;flex-shrink:0}.header-nav-chevron{width:12px;height:12px;flex-shrink:0;margin-left:2px}.admin-dropdown-popover{min-width:220px}.admin-dropdown-popover ui5-li[selected]{font-weight:600}.background-grid{position:fixed;inset:0;background-image:linear-gradient(hsla(206,6%,56%,.08) 1px,transparent 0),linear-gradient(90deg,hsla(206,6%,56%,.08) 1px,transparent 0);background-size:80px 80px;opacity:.35;pointer-events:none;z-index:0}.page-shell{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;padding:12px 28px 32px}.project-page-shell{padding-top:0}.app-header{display:flex;flex-direction:column;gap:6px}.project-toolbar{background:var(--sapPageHeader_Background,#fff);padding:8px 32px;border-bottom:1px solid var(--sapList_BorderColor,#d9d9d9)}.project-toolbar .ant-tag{border:none}.project-toolbar--tight{padding-bottom:6px;margin-bottom:0}.ant-menu-item-group-title{color:var(--sapContent_LabelColor,#6a6d70)!important;opacity:1;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.summary-grid{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:10px;align-items:stretch}.summary-grid .section-card,.summary-grid>div{height:100%}.layout-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid #dbe3ef;background:#fff}.dashboard-layout-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;align-items:stretch}.dashboard-layout-grid .section-card{height:100%}.dashboard-layout-item{min-width:0;display:flex;flex-direction:column}.dashboard-layout-item .section-card{position:relative;height:100%;display:flex;flex-direction:column}.finance-actualization-table-shell table td:first-child,.finance-actualization-table-shell table th:first-child{position:sticky;left:0;z-index:2;background:var(--sapList_Background,#fff)}.finance-actualization-table-shell table td:nth-child(2),.finance-actualization-table-shell table th:nth-child(2){position:sticky;left:180px;z-index:2;background:var(--sapList_Background,#fff)}.finance-actualization-table-shell table th:first-child,.finance-actualization-table-shell table th:nth-child(2){z-index:3;background:var(--sapList_HeaderBackground,#f7f7f7)}.finance-actualization-table-shell table td:nth-child(2),.finance-actualization-table-shell table th:nth-child(2){box-shadow:4px 0 8px rgba(0,0,0,.06)}.dashboard-layout-item .section-card .ant-card-body{height:100%}.dashboard-layout-item.is-dragging{z-index:40}.dashboard-layout-item.is-dragging .section-card{box-shadow:0 16px 34px rgba(15,23,42,.22)}.dashboard-layout-grid.is-editing .dashboard-layout-item.is-editable .section-card{border-style:dashed;border-color:#64748b}.layout-item-controls{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-bottom:4px;font-size:.68rem}.layout-drag-handle{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.layout-drag-handle:active{cursor:grabbing}.layout-item-span{min-width:40px;text-align:center;color:#64748b;font-weight:600}.summary-card .compact-card-header{padding:12px 16px 8px!important}.summary-card .ant-card-body{padding:12px 16px!important}.summary-card{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--summary-glow,rgba(59,130,246,.08)),#fff 55%);border-color:rgba(148,163,184,.55);border-left:4px solid var(--summary-accent,#3b82f6);transition:transform .16s ease,box-shadow .16s ease;--card-accent:var(--summary-accent,#3b82f6)}.summary-card--tight .ant-card-body{padding-bottom:6px}.summary-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--summary-accent,#3b82f6)}.project-dashboard--compact .summary-grid{grid-template-columns:repeat(5,minmax(150px,1fr));gap:8px}.project-dashboard--compact .dashboard-layout-grid{gap:8px}.project-dashboard--compact .kpi-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.project-dashboard--compact .summary-card .compact-card-header{padding:8px 12px 6px!important}.project-dashboard--compact .summary-card .ant-card-body{padding:8px 12px!important}.project-dashboard--compact .summary-card-kpi{min-height:110px}.project-dashboard--compact .kpi-rows{gap:4px}.project-dashboard--compact .kpi-label{font-size:.7rem!important}.project-dashboard--compact .kpi-value{font-size:.9rem!important}.project-dashboard--compact .summary-metric{font-size:1.1rem}.project-dashboard--compact .summary-card .summary-metric--hero,.project-dashboard--compact .summary-metric--hero{font-size:1.35rem!important}.project-dashboard--compact .project-title{font-size:1.35rem}.project-dashboard--compact .project-hero-row{gap:8px}.project-dashboard--compact .hero-report-date{font-size:.68rem;padding:2px 6px}.project-dashboard--compact .compact-card-header{margin-bottom:6px}.project-dashboard--compact .compact-card-title{font-size:.72rem}.project-dashboard--compact .section-card .ant-card-body{padding:10px 12px}.project-dashboard--compact .detail-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:8px}.project-dashboard--compact .detail-grid-column{gap:8px}.summary-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.12)}.summary-card .ant-typography-secondary{display:block;margin-bottom:2px;font-weight:600;font-size:.9rem;color:#475569}.summary-card--budget{--summary-accent:#0ea5e9;--summary-glow:rgba(14,165,233,.14)}.summary-card--phase{--summary-accent:#f97316;--summary-glow:rgba(249,115,22,.14)}.summary-card--dates{--summary-accent:#22c55e;--summary-glow:rgba(34,197,94,.14)}.portfolio-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.portfolio-header--compact{padding-bottom:3px;border-bottom:1px solid #e5e7eb}.portfolio-controls{display:flex;align-items:center;justify-content:space-between;gap:10px}.portfolio-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;flex:1;justify-content:center;margin-right:0}.portfolio-view-switch{min-width:320px;max-width:360px}.portfolio-view-switch.ant-segmented{border-radius:2px;background:#eef2f7;border:1px solid #cbd5e1;padding:2px}.portfolio-view-switch .ant-segmented-item{border-radius:2px;font-size:.78rem;font-weight:600;color:#475569;min-width:0}.portfolio-view-switch .ant-segmented-item-label{display:block;white-space:normal;line-height:1.15;text-align:center;word-break:break-word}.portfolio-view-switch .ant-segmented-item-selected{background:#fff;color:#0f172a}.portfolio-view-option{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;row-gap:2px;gap:6px;max-width:140px}.portfolio-search{min-width:540px;width:540px}.portfolio-search.ant-input-affix-wrapper{height:38px;border-radius:2px;border-color:#94a3b8;background:#fff;box-shadow:none}.portfolio-search.ant-input-affix-wrapper:hover{border-color:#64748b}.portfolio-search.ant-input-affix-wrapper.ant-input-affix-wrapper-focused{border-color:#475569;box-shadow:0 0 0 2px rgba(71,85,105,.12)}.portfolio-sort{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#6b7280;margin-left:auto}.portfolio-sort-select{height:32px;border:1px solid #d1d5db;padding:4px 10px;background:#fff;font-size:.85rem}.portfolio-kpi-grid{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:10px}.portfolio-kpi-grid--top{margin-top:2px;margin-bottom:2px}.portfolio-kpi-card{background:#fff;border:1px solid #dbe3ef;border-radius:0;box-shadow:none;padding:14px 12px;min-height:124px;display:flex;flex-direction:column;justify-content:flex-start;gap:8px}.portfolio-kpi-header{display:flex;align-items:center;justify-content:space-between}.portfolio-kpi-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#334155;line-height:1.25;font-weight:600}.portfolio-kpi-icon{width:22px;height:22px;border:1px solid #cbd5e1;display:inline-flex;align-items:center;justify-content:center;color:#64748b;font-size:.85rem;background:#f8fafc}.portfolio-kpi-value{font-size:clamp(1.2rem,1.45vw,1.85rem);font-weight:700;line-height:1.12;color:#0f172a;word-break:break-word}.portfolio-kpi-trend{margin-top:auto;min-height:28px}.portfolio-kpi-trend .ant-progress{margin:0}.portfolio-kpi-trend .ant-progress-bg,.portfolio-kpi-trend .ant-progress-inner,.portfolio-kpi-trend .ant-progress-outer,.portfolio-kpi-trend .ant-progress-success-bg{border-radius:0!important}.portfolio-kpi-progress-placeholder{width:100%;height:10px;background:#dbe3ef;border-radius:0}.portfolio-kpi-trend--placeholder .portfolio-kpi-progress-placeholder{opacity:.7}.portfolio-kpi-trend--no-bar .portfolio-kpi-meta{margin-top:0}.portfolio-kpi-meta{margin-top:4px;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;line-height:1.2}.development-browser{display:flex;flex-direction:column;gap:10px}.development-browser-section{border:1px solid #dbe3ef;background:#fff;padding:10px}.development-browser-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#475569;font-weight:600;margin-bottom:8px}.development-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.development-card{border:1px solid #cbd5e1;background:#fff;padding:0;display:flex;flex-direction:column;gap:0;text-align:left;cursor:pointer;transition:border-color .12s ease,background-color .12s ease;overflow:hidden}.development-card:hover{border-color:#94a3b8}.development-card.is-active{border-color:#334155;background:#f8fafc}.development-card-thumb{width:100%;aspect-ratio:16/9;background:#e2e8f0;overflow:hidden}.development-card-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.development-card-thumb-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#cbd5e1,#94a3b8);color:#0f172a;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600}.development-card-body{padding:8px 10px;display:flex;flex-direction:column;gap:4px}.development-card-name{font-size:.86rem;font-weight:600;color:#0f172a}.development-card-meta{font-size:.72rem;color:#64748b}.development-phase-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.development-phase-card{border:1px solid #cbd5e1;background:#fff;padding:0;cursor:pointer;text-align:left;overflow:hidden}.development-phase-card.is-active{border-color:#334155;background:#f8fafc}.development-card-thumb--phase{aspect-ratio:16/8}.portfolio-list{display:grid;grid-template-columns:1fr;gap:18px;width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.portfolio-card{background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-template-columns:150px 1fr;overflow:hidden;width:100%}.portfolio-thumb{position:relative;background:#0f172a;min-height:120px}.portfolio-thumb-badges{position:absolute;top:8px;left:8px;z-index:2;display:flex;flex-direction:column;gap:4px}.portfolio-thumb-phase-badge{background:rgba(30,64,175,.9);color:#eff6ff;border:1px solid rgba(96,165,250,.95);padding:3px 8px;font-size:.66rem;line-height:1;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:3px;backdrop-filter:blur(2px)}.portfolio-thumb-stage-badge{background:rgba(0,0,0,.9);color:#f8fafc;border:1px solid rgba(71,85,105,.95);padding:2px 8px;font-size:.6rem;line-height:1.1;font-weight:600;letter-spacing:.04em;border-radius:3px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;backdrop-filter:blur(2px)}.portfolio-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.portfolio-thumb-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:2.4rem;font-weight:600;color:#f8fafc;background:linear-gradient(135deg,#1f3a56,#0f172a)}.portfolio-body{padding:8px 12px 10px;display:flex;flex-direction:column;gap:8px}.portfolio-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.portfolio-head-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.portfolio-title{font-size:1rem;font-weight:700;line-height:1.25;color:#1677ff;display:inline-block}.portfolio-title:hover{color:#0958d9}.portfolio-subtitle{margin-top:4px;color:#64748b;font-size:.75rem;line-height:1.35}.portfolio-tags{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap}.portfolio-dates-inline{margin-top:8px;display:grid;grid-template-columns:repeat(3,minmax(165px,1fr));gap:6px 12px;font-size:.72rem;color:#6b7280}.portfolio-date-item{display:flex;flex-direction:column;gap:2px}.portfolio-date-label{text-transform:uppercase;letter-spacing:.04em;font-size:.62rem;color:#64748b}.portfolio-dates-inline strong{color:#111827;font-weight:600;margin-left:0;font-size:.79rem}.portfolio-delay{margin-top:6px;color:#b91c1c;font-weight:600;font-size:.74rem}.portfolio-action-links{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:290px}.portfolio-metrics{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px;align-items:stretch}.portfolio-metrics--layout{grid-template-columns:80px 1fr 1fr;align-items:start}.portfolio-dates{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px}.metric-block{background:#fff;border:1px solid #e2e8f0;padding:12px}.metric-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:6px}.metric-value{font-size:.95rem;font-weight:600;color:#0f172a}.metric-caption{font-size:.75rem;color:#64748b;margin-top:6px}.metric-progress{display:flex;flex-direction:column;gap:2px}.metric-progress-row{display:flex;align-items:center;gap:6px;font-size:.7rem;color:#475569}.metric-progress-row span:first-child{width:52px}.metric-progress-row span:last-child{width:32px;text-align:right}.metric-progress-row .ant-progress{flex:1;max-width:170px}.health-index{display:flex;flex-direction:column;gap:8px}.health-bar{width:20px;height:80px;background:#e5e7eb;position:relative}.health-bar-fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,#16a34a,#f59e0b 50%,#ef4444)}.health-value{font-weight:600;color:#0f172a}.schedule-performance{display:flex;flex-direction:column;gap:6px}.cpi-row,.delay-row,.spi-row{display:flex;align-items:center;gap:8px;font-size:.75rem}.delay-row strong{font-size:.9rem;color:#111827}.delay-row small{color:#6b7280}.cost-performance{display:flex;flex-direction:column;gap:6px}.cost-meta-row{margin-top:3px;font-size:.7rem;color:#475569}.cost-subtitle{font-weight:600;color:#0f172a}.cost-subtitle,.cost-variance{margin-top:2px;font-size:.7rem}.cost-variance{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#475569}.cost-variance strong{color:#0f172a}.cost-alert,.cost-variance--negative strong{color:#b91c1c}.cost-alert{margin-top:3px;font-weight:600;font-size:.72rem}.portfolio-content{display:grid;grid-template-columns:1fr 200px;gap:10px;align-items:start;border-top:1px solid #e5e7eb;padding-top:8px}.portfolio-side{border-left:1px solid #e5e7eb;padding-left:10px;gap:8px}.portfolio-side,.side-section ul{display:flex;flex-direction:column}.side-section ul{list-style:none;padding:0;margin:3px 0 0;font-size:.71rem;color:#475569;gap:2px}.side-more{color:#64748b;font-style:italic}.side-section li strong{color:#0f172a}.side-row{display:flex;justify-content:space-between;gap:12px;font-size:.71rem;color:#475569;margin-top:4px}.schedule-performance--compact .metric-label{margin-bottom:2px}.schedule-performance--compact .spi-row{margin-bottom:1px}.schedule-performance--compact{gap:0}.schedule-performance--compact .metric-progress-row+.metric-progress-row{margin-top:0}.schedule-performance--compact .metric-progress-row .ant-progress-bg,.schedule-performance--compact .metric-progress-row .ant-progress-inner,.schedule-performance--compact .metric-progress-row .ant-progress-success-bg{border-radius:2px!important}.cost-performance--compact .metric-label{margin-bottom:2px}.cost-performance--compact .cpi-row{margin-bottom:1px}.cost-performance--compact{gap:0}.cost-performance--compact .metric-progress-row .ant-progress-bg,.cost-performance--compact .metric-progress-row .ant-progress-inner,.cost-performance--compact .metric-progress-row .ant-progress-success-bg{border-radius:2px!important}.side-row strong{color:#0f172a}@media (max-width:1200px){.portfolio-controls{flex-wrap:wrap}.portfolio-view-switch{min-width:280px;max-width:100%}.portfolio-search{min-width:420px;width:420px}.portfolio-kpi-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.development-grid,.development-phase-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portfolio-dates,.portfolio-metrics{grid-template-columns:repeat(2,minmax(160px,1fr))}.portfolio-content,.portfolio-metrics--layout{grid-template-columns:1fr}.portfolio-side{border-left:none;padding-left:0;border-top:1px solid #e5e7eb;padding-top:12px}.portfolio-dates-inline{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (max-width:900px){.portfolio-controls{gap:8px;flex-direction:column;align-items:stretch}.portfolio-actions{width:100%;flex-wrap:wrap;margin-right:0}.portfolio-view-switch{width:100%}.portfolio-sort{width:100%;margin-left:0}.portfolio-kpi-grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.development-grid,.development-phase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-card,.portfolio-list{grid-template-columns:1fr}.portfolio-thumb{min-height:140px}.portfolio-top{flex-direction:column;align-items:flex-start}.portfolio-action-links{justify-content:flex-start;min-width:0}.portfolio-search{width:min(100%,540px);min-width:0}.portfolio-dates-inline{grid-template-columns:1fr}}@media (max-width:640px){.development-grid,.development-phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-dashboard :where(.ant-card,.ant-btn,.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-tag){border-radius:var(--radius)}.summary-card--stats{--summary-accent:#a855f7;--summary-glow:rgba(168,85,247,.14)}.summary-card--schedule{--summary-accent:#facc15;--summary-glow:rgba(250,204,21,.16)}.summary-card--cost{--summary-accent:#14b8a6;--summary-glow:rgba(20,184,166,.16)}.performance-gauge-row{gap:12px;margin:2px 0 6px}.executive-gauge,.performance-gauge-row{display:flex;align-items:center;width:100%}.executive-gauge{flex-direction:column;gap:4px;margin-top:-4px}.executive-gauge-chart{width:100%;height:140px;display:flex;align-items:center;justify-content:center}.executive-gauge-component{width:100%;height:100%}.summary-metric{display:block;font-size:1.4rem;line-height:1.2;font-weight:700;color:#0f172a}.summary-card .card-row-inline .summary-metric{font-size:1.3rem}.summary-metric--hero{font-size:1.75rem;line-height:1.15;font-weight:700;color:#0f172a}.summary-card .summary-metric--hero{font-size:1.75rem!important}.summary-metric--primary{font-size:1.65rem!important;line-height:1.2}.summary-card-kpi{min-height:140px}.summary-card-kpi .ant-card-body{padding:10px 14px 12px!important}.kpi-rows{display:flex;flex-direction:column;gap:6px}.returns-subtitle{display:block;margin-bottom:6px;font-size:.72rem!important;font-weight:700!important;letter-spacing:.08em;text-transform:uppercase}.returns-kpi-rows .kpi-row{align-items:flex-start}.returns-kpi-rows .kpi-label{max-width:62%;white-space:normal;line-height:1.25}.returns-map-stack{display:grid;grid-template-rows:minmax(0,.45fr) minmax(0,.55fr);gap:10px;height:100%}.returns-map-stack .returns-map-card{height:100%!important}.returns-map-stack .returns-map-card .ant-card-body{height:100%}.returns-map-stack .returns-map-card--map .map-frame{height:100%;min-height:170px;max-height:230px}.project-stats-divider{width:38%;height:1px;background:#cbd5e1;margin:2px 0 1px}.kpi-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.kpi-row--anchor-only{justify-content:flex-end}.kpi-anchor-link{font-weight:600}.anchor-link-with-icon{display:inline-flex;align-items:center;gap:6px}.kpi-label{font-size:.8rem!important;font-weight:500!important;color:#64748b!important;flex-shrink:0}.summary-grid .card-row-inline>.ant-typography:first-child,.summary-grid .kpi-label,.summary-grid .party-label .ant-typography{text-transform:none;letter-spacing:.01em;font-size:.72rem!important;font-weight:500!important;color:#5b6b80!important}.summary-grid .compact-card-title{font-size:.8rem!important;font-weight:600!important;letter-spacing:.01em!important;color:#1f2937!important}.summary-grid .metric-unit,.summary-grid .party-section-title,.summary-grid .project-dates-compact-phase-label,.summary-grid .project-dates-compact-prefix,.summary-grid .project-dates-compact-token-label{font-size:.72rem!important;font-weight:500!important;letter-spacing:.01em!important;color:#5b6b80!important}.summary-grid .card-row-inline>.ant-typography:last-child,.summary-grid .card-row-inline>.ant-typography:last-child strong,.summary-grid .kpi-value,.summary-grid .project-dates-compact-token-value,.summary-grid .summary-metric,.summary-grid .summary-metric--hero,.summary-grid .summary-metric--primary{font-size:.98rem!important;font-weight:700!important;line-height:1.2!important;color:#0f172a!important}.summary-grid .summary-currency-prefix{font-size:.58em!important;font-weight:700!important}.kpi-value{font-size:1rem!important;font-weight:700!important;color:#0f172a!important;text-align:right}.summary-budget-hero{display:grid;gap:2px;margin-bottom:10px}.summary-budget-soft-cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:2px;margin-bottom:2px}.summary-budget-soft-cost-item{display:grid;gap:2px;padding:6px 8px;border:1px solid #dbe2ea;background:#f8fafc;min-height:78px;align-content:start}@media (max-width:1200px){.summary-budget-soft-cost-grid{grid-template-columns:1fr}}.summary-budget-anchor-link{display:inline-flex;align-items:center;margin-top:8px;font-size:.78rem;font-weight:600}.summary-budget-total-value{color:#4096ff!important;font-size:2.05rem!important;line-height:1.1!important}.summary-currency-prefix{font-size:.4em;font-weight:700;letter-spacing:.02em;vertical-align:baseline}.project-dashboard--compact .summary-budget-total-value{font-size:1.7rem!important}.summary-budget-soft-cost-item .summary-metric--primary{white-space:nowrap;font-size:1.08rem!important;line-height:1.1!important;margin-top:2px}.summary-budget-pie-chart{width:100%;height:86px;margin:0;padding:0}.summary-budget-performance-layout{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:8px;margin-top:2px}.summary-budget-performance-legend{display:grid;gap:4px}.summary-budget-performance-legend-row{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:6px;font-size:.7rem;color:#475569}.summary-budget-performance-legend-row>span:last-child{color:#0f172a;font-weight:700;white-space:nowrap}.summary-budget-performance-dot{width:7px;height:7px;border-radius:999px}.summary-budget-performance-dot--committed{background:#16a34a}.summary-budget-performance-dot--remaining{background:#d1d5db}.dashboard-anchor-target{scroll-margin-top:110px}.project-dates-grid{display:grid;gap:8px}.project-dates-caption{display:block;margin-bottom:4px;font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.project-dates-pair{display:grid;gap:2px}.project-dates-separator{height:1px;background:#dbe3ef;margin:2px 0 4px}.project-dates-section-title{display:block;margin-bottom:4px;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.project-dates-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));-moz-column-gap:10px;column-gap:10px}.project-dates-row>:first-child{text-align:left!important}.project-dates-row>:nth-child(2){text-align:right!important}.project-dates-value--highlight{display:inline-flex;justify-self:end;padding:1px 6px;border:1px solid #93c5fd;background:#dbeafe;color:#1d4ed8!important}.project-phase-dates-card{border:1px solid #dbe3ef;background:#f8fafc;padding:7px 8px;display:grid;gap:6px}.project-phase-dates-card--current{border-color:#93c5fd;background:#eff6ff}.project-phase-dates-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-phase-dates-title{text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700;color:#475569}.project-phase-dates-current-tag{margin:0!important;font-size:.62rem!important;line-height:1!important;height:18px!important;display:inline-flex;align-items:center}.project-phase-dates-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.project-phase-dates-cell{display:grid;gap:2px;min-width:0}.project-phase-dates-cell .kpi-value{font-size:.96rem!important;line-height:1.15}.project-dates-compact-table{display:flex;flex-direction:column;gap:6px;flex:1;min-height:0}.project-dates-compact-row{display:grid;gap:4px;padding:7px 8px;border:0;background:#fff;border-bottom:1px solid #e2e8f0;flex:1;align-content:center}.project-dates-compact-row--current{background:#fff;box-shadow:inset 2px 0 0 #3b82f6}.project-dates-compact-main{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.project-dates-compact-phase-label{text-transform:none;letter-spacing:.01em;font-size:.72rem;font-weight:700;color:#334155;line-height:1.1;white-space:nowrap}.project-dates-compact-current-tag{margin:0!important;font-size:.58rem!important;line-height:1!important;height:16px!important;display:inline-flex;align-items:center}.project-dates-compact-line{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;-moz-column-gap:10px;column-gap:10px}.project-dates-compact-prefix{font-size:.68rem;font-weight:700;letter-spacing:.01em;color:#64748b;text-transform:none;width:72px;min-width:72px;text-align:left}.project-dates-compact-range{display:grid;grid-template-columns:minmax(86px,1fr) minmax(86px,1fr);align-items:center;gap:12px;min-width:0;width:100%}.project-dates-compact-token{display:grid;grid-template-columns:auto minmax(62px,1fr);align-items:baseline;gap:4px;min-width:0;width:100%}.project-dates-compact-token-label{font-size:.62rem;font-weight:700;letter-spacing:.01em;color:#64748b;text-transform:none}.project-dates-compact-token-value{font-size:.86rem!important;line-height:1.15;color:#0f172a!important;white-space:nowrap;text-align:right;justify-self:end;min-width:62px;font-variant-numeric:tabular-nums}.summary-card--dates .ant-card-body{display:flex;flex-direction:column;min-height:0}.project-dashboard--compact .project-dates-compact-row{padding:6px 7px}.project-dashboard--compact .project-dates-compact-phase-label{font-size:.68rem}.project-dashboard--compact .project-dates-compact-token-value{font-size:.8rem!important}.summary-card-kpi .schedule-bar-chart{margin-top:10px}.summary-label{font-size:.95rem;font-weight:600;color:#475569}.compact-card-title-row{gap:8px}.compact-card-title-row,.summary-icon{display:inline-flex;align-items:center}.summary-icon{width:22px;height:22px;border-radius:8px;border:1px solid rgba(15,23,42,.35);color:#1f2937;background:rgba(15,23,42,.06);justify-content:center}.summary-icon--budget,.summary-icon--dates,.summary-icon--phase,.summary-icon--schedule,.summary-icon--stats{color:#1f2937;border-color:rgba(15,23,42,.35);background:rgba(15,23,42,.06)}.summary-pill{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:4px 10px;border-radius:999px;font-weight:700;font-size:1.05rem;color:#0f172a;background:#e2e8f0}.summary-pill--lg{min-width:72px;padding:6px 14px;font-size:1.15rem}.summary-pill--positive{color:#065f46;background:rgba(16,185,129,.16)}.summary-pill--negative{color:#b91c1c;background:rgba(239,68,68,.16)}.summary-pill--neutral{color:#0f172a;background:rgba(148,163,184,.2)}.schedule-performance{display:grid;gap:12px}.schedule-performance-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-performance-metrics>div{padding:8px 10px;border-radius:10px;border:1px solid rgba(226,232,240,.9);background:rgba(248,250,252,.9)}.schedule-metric-value{margin-top:4px;font-size:1.4rem;font-weight:700;color:#0f172a}.schedule-performance-bars{padding:6px 6px 10px;border-radius:12px;border:1px solid rgba(226,232,240,.9);background:rgba(248,250,252,.9)}.schedule-bar-chart{display:flex;flex-direction:column;gap:0;padding:2px 0}.schedule-bar-track{position:relative;height:22px;overflow:hidden;background:#e5e7eb}.schedule-bar-track--planned{background:#e7e5e4}.schedule-bar-track--actual{background:#e5e7eb}.schedule-bar-fill{height:100%;transition:width .2s ease-in-out}.schedule-bar-fill--planned{background:#da485a}.schedule-bar-fill--actual{background:#1aa365}.schedule-performance-bars--stacked{padding:8px 8px 10px}.schedule-percent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-percent-item{display:grid;gap:2px;padding:6px 8px;border:1px solid #dbe2ea;background:#f8fafc;min-height:78px;align-content:start}.schedule-double-bar{display:grid;gap:1px}.schedule-double-tracks{display:grid;gap:0}.schedule-double-label{font-size:.84rem;font-weight:700;color:#1f2937;line-height:1.15}.schedule-double-label--top{margin-bottom:1px}.schedule-double-label--bottom{margin-top:1px}.schedule-performance-bars--stacked .schedule-bar-track{height:26px;border-radius:0}.schedule-progress-donuts-chart{width:100%;height:132px;margin:0;padding:0}@media (max-width:1200px){.schedule-percent-grid{grid-template-columns:1fr}}.metric-unit{font-size:.7rem;font-weight:500;color:#64748b}.schedule-bar-row{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;font-weight:600;color:#475569;padding:2px 4px}.schedule-bar-label{text-transform:none}.schedule-bar-value{color:#0f172a;display:inline-flex;align-items:center;gap:4px}.schedule-arrow{font-size:.75rem;line-height:1}.schedule-arrow--up{color:#16a34a}.schedule-arrow--down{color:#ef4444}.ql-toolbar.ql-snow{border-radius:10px 10px 0 0;border-color:#e2e8f0}.ql-container.ql-snow{border-radius:0 0 10px 10px;border-color:#e2e8f0;min-height:140px}.ql-editor,.rich-text{font-family:var(--font-body),system-ui,sans-serif;color:var(--sapTextColor)}.rich-text{line-height:1.5}.rich-text a{color:var(--sapLinkColor)}.rich-text b,.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4,.rich-text h5,.rich-text h6,.rich-text strong{color:inherit}.rich-text p{margin:0 0 8px}.rich-text p:last-child{margin-bottom:0}.rich-text ol,.rich-text ul{margin:0 0 8px 20px;padding-left:0}.rich-text ol{list-style-type:decimal}.rich-text ul{list-style-type:disc}.rich-text li{display:list-item;margin:0 0 4px}.rich-text li:last-child{margin-bottom:0}.rich-text li.ql-indent-1{margin-left:18px}.rich-text li.ql-indent-2{margin-left:36px}.rich-text li.ql-indent-3{margin-left:54px}.rich-text li.ql-indent-4{margin-left:72px}.summary-card.schedule-card .ant-card-body{padding:8px 10px}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:10px;align-items:start}.detail-grid .compact-card-title{font-size:.8rem!important;font-weight:600!important;letter-spacing:.01em!important;color:#1f2937!important}.detail-grid .authority-approvals-table .ant-table-thead>tr>th,.detail-grid .card-row-inline>.ant-typography:first-child,.detail-grid .kpi-label,.detail-grid .returns-kpi-rows .kpi-label{font-size:.72rem!important;font-weight:500!important;letter-spacing:.01em!important;color:#5b6b80!important;text-transform:none!important}.detail-grid .card-row-inline>.ant-typography:last-child,.detail-grid .card-row-inline>.ant-typography:last-child strong,.detail-grid .kpi-value,.detail-grid .summary-metric,.detail-grid .summary-metric--hero,.detail-grid .summary-metric--primary{font-size:.92rem!important;font-weight:700!important;line-height:1.2!important;color:#0f172a!important;text-transform:none!important}.detail-grid .authority-approvals-cell,.detail-grid .authority-approvals-cell--date,.detail-grid .authority-approvals-cell--status{font-size:.8rem!important;font-weight:600!important;color:#334155!important}.detail-grid .authority-approvals-cell--name{font-size:.82rem!important;font-weight:600!important;color:#1f2937!important}.detail-grid-column>div{width:100%}.detail-grid .section-card{height:100%}.detail-grid .financial-highlights-card{height:100%;min-height:500px}.detail-grid .section-card:not(.financial-highlights-card){height:auto;align-self:start}.detail-grid{align-items:stretch}.detail-grid-column{display:flex;flex-direction:column;gap:10px;height:100%}.detail-grid-column .financial-highlights-card,.detail-grid-column .financial-highlights-card .ant-card-body{flex:1;display:flex;flex-direction:column;min-height:0}.detail-grid-column .financial-highlights-card .financials-card-body{flex:1;min-height:0}.detail-grid-column-right{display:flex;flex-direction:column;gap:10px;height:100%}.detail-grid-column-right>div:last-child{flex:1;min-height:0}.detail-grid-column-right>div:last-child .section-card{height:100%;min-height:0}.detail-grid-column--left{grid-column:1;grid-row:1/3}.detail-grid-column--middle{grid-column:2;grid-row:1/3}.detail-grid-column--right{grid-column:3/5;grid-row:1/3}.detail-grid-row-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.detail-grid-fill{flex:1}.grid-span-2{grid-column:span 2}.project-hero-bar{padding:6px 28px;margin-left:-28px;margin-right:-28px;margin-top:0;border-radius:0;background:#fff;border-top:1px solid #e5e7eb;box-shadow:none}.project-title{margin:0;font-size:1.5rem;font-weight:700}.project-title--with-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.project-title-main{font-size:1.5rem;font-weight:700;color:#1f2937}.project-title-sep{font-size:1.2rem;color:#9ca3af}.project-title-tag{font-size:1.15rem;font-weight:700;padding:2px 8px;border-radius:6px;border:2px solid transparent;line-height:1.1;display:inline-flex;align-items:center}.project-title-tag.phase-tag{background:#dbeafe;color:#1d4ed8;border-color:rgba(59,130,246,.45)}.project-title-tag.stage-tag{background:#ccfbf1;color:#0f766e;border-color:rgba(20,184,166,.45)}.project-hero-row{justify-content:space-between;gap:16px;flex-wrap:wrap}.project-hero-left,.project-hero-row{display:flex;align-items:center}.project-hero-title-group{display:flex;flex-direction:column;gap:6px}.project-hero-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-hero-tag{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:none;letter-spacing:.01em;border:1px solid transparent}.project-hero-tag.phase-tag{background:rgba(30,64,175,.12);color:#1d4ed8;border-color:rgba(30,64,175,.25)}.project-hero-tag.stage-tag{background:rgba(12,74,110,.12);color:#0f766e;border-color:rgba(13,148,136,.3)}.project-hero-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-masterplan{font-size:.75rem;font-weight:700;color:#374151;background:#f3f4f6;padding:2px 8px;border-radius:6px;border:1px solid #e5e7eb;display:inline-flex;align-items:center}.hero-masterplan strong{font-weight:700;color:#111827}.hero-report-date{font-size:.75rem;font-weight:600;color:#374151!important;background:#f3f4f6;padding:2px 8px;border-radius:6px;border:1px solid #e5e7eb;display:inline-flex;align-items:center}.hero-report-date span{color:#111827!important}.compact-card{padding:0}.compact-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:10px;min-height:30px}.compact-card-title{font-size:.8rem;font-weight:600;color:var(--steel);letter-spacing:.02em}.card-status-tag{margin-inline-start:8px;text-transform:uppercase;letter-spacing:.04em;font-size:.66rem;line-height:1;padding-inline:7px;height:20px;display:inline-flex;align-items:center}.card-meta-stack{margin-top:8px;display:flex;flex-direction:column;gap:4px}.compact-card-header:not(.has-icon) .compact-card-title:before{content:"";display:inline-flex;margin-right:8px;vertical-align:middle}.card-title-dot,.compact-card-header:not(.has-icon) .compact-card-title:before{width:10px;height:10px;border-radius:999px;background:var(--card-accent,#3b82f6);box-shadow:0 0 0 4px color-mix(in srgb,var(--card-accent,#3b82f6) 18%,transparent)}.timeline-card-header{align-items:center}.timeline-card-shell{--timeline-planned-fill:#e5e7eb;--timeline-planned-tick:#cbd5e1;--timeline-planned-border:#cbd5e1;background:var(--sapTile_Background);border:1px solid var(--sapList_BorderColor);box-shadow:var(--sapContent_Shadow1)}[data-sap-theme$=_dark] .timeline-card-shell{--timeline-planned-fill:#2f3640;--timeline-planned-tick:#4b5563;--timeline-planned-border:#6b7280}.timeline-card-title{color:var(--sapTextColor)}.timeline-card-meta{color:var(--sapContent_LabelColor)}.timeline-scroll-container{scrollbar-width:auto;scrollbar-color:color-mix(in srgb,var(--sapNeutralColor) 88%,var(--sapBackgroundColor) 12%) color-mix(in srgb,var(--sapBackgroundColor) 82%,var(--sapNeutralColor) 18%)}[data-sap-theme$=_dark] .timeline-scroll-container{scrollbar-color:color-mix(in srgb,var(--sapNeutralColor) 82%,#fff 18%) color-mix(in srgb,var(--sapGroup_ContentBackground) 58%,var(--sapBackgroundColor) 42%)}.timeline-scroll-container::-webkit-scrollbar{height:14px}.timeline-scroll-container::-webkit-scrollbar-track{background:color-mix(in srgb,var(--sapBackgroundColor) 82%,var(--sapNeutralColor) 18%);border:1px solid color-mix(in srgb,var(--sapList_BorderColor) 82%,var(--sapNeutralColor) 18%);border-radius:0}[data-sap-theme$=_dark] .timeline-scroll-container::-webkit-scrollbar-track{background:color-mix(in srgb,var(--sapGroup_ContentBackground) 58%,var(--sapBackgroundColor) 42%);border:1px solid color-mix(in srgb,var(--sapList_BorderColor) 60%,var(--sapBackgroundColor) 40%)}.timeline-scroll-container::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--sapNeutralColor) 88%,var(--sapContent_ForegroundBorderColor) 12%);border:1px solid color-mix(in srgb,var(--sapContent_ForegroundBorderColor) 78%,var(--sapBackgroundColor) 22%);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.18);border-radius:0}[data-sap-theme$=_dark] .timeline-scroll-container::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--sapNeutralColor) 82%,#fff 18%);border:1px solid color-mix(in srgb,var(--sapContent_ForegroundBorderColor) 68%,#fff 32%);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.12)}.timeline-scroll-container::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--sapNeutralColor) 96%,var(--sapContent_ForegroundBorderColor) 4%)}[data-sap-theme$=_dark] .timeline-scroll-container::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--sapNeutralColor) 72%,#fff 28%)}.timeline-actual-position-line{border-left-color:var(--sapNegativeColor)}.timeline-actual-position-badge{background:color-mix(in srgb,var(--sapNegativeColor) 84%,var(--sapBackgroundColor) 16%);color:var(--sapContent_ContrastTextColor);box-shadow:var(--sapContent_Shadow1)}.timeline-actual-position-arrow{border-top-color:var(--sapNegativeColor)}.timeline-milestone-name{color:var(--sapTextColor);background:var(--sapTile_Background)}.timeline-lane-label{color:var(--sapContent_LabelColor);letter-spacing:.02em}.timeline-planned-connector{background:color-mix(in srgb,var(--sapInformativeColor) 64%,transparent)}.timeline-planned-gap{border-top-color:color-mix(in srgb,var(--sapInformativeColor) 58%,transparent)}.timeline-actual-connector{background:color-mix(in srgb,var(--sapPositiveColor) 50%,transparent)}.timeline-actual-gap{border-top-color:color-mix(in srgb,var(--sapPositiveColor) 50%,transparent)}.timeline-date-pair{color:var(--sapTextColor)}.timeline-planned-label{color:var(--sapContent_LabelColor);text-shadow:var(--sapContent_TextShadow)}.timeline-phase-summary{border-top:2px solid var(--sapContent_ForegroundBorderColor)}.timeline-phase-summary.is-active{border-top-width:4px;border-top-color:var(--sapSelectedColor)}.timeline-phase-summary-cap{background:var(--sapContent_ForegroundBorderColor)}.timeline-phase-summary.is-active .timeline-phase-summary-cap{background:var(--sapSelectedColor)}.timeline-phase-title{color:var(--sapTextColor)}.timeline-phase-summary.is-active .timeline-phase-title{color:var(--sapSelectedColor)}.timeline-phase-duration{color:var(--sapTextColor)}.timeline-legend-row{border-top:1px solid var(--sapList_BorderColor)}.timeline-legend-text{color:var(--sapContent_LabelColor)}.timeline-header-center{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;text-align:center}.timeline-header-metric{font-size:1.1rem;font-weight:500;color:#8b3245}.timeline-header-sep{color:#94a3b8;font-weight:700}.timeline-header-metric.is-delay{color:#8b3245;font-weight:700}.timeline-header-metric.is-ontrack{color:#8b3245}.milestone-pin{cursor:pointer;background:transparent;border:0;padding:0;line-height:0;width:22px;height:22px;display:grid;place-items:center}.milestone-diamond{width:18px;height:18px;color:#dc2626;display:block;filter:drop-shadow(0 2px 6px rgba(15,23,42,.25))}.milestone-modal-meta{font-size:.8rem;font-weight:600;color:#475569;margin-bottom:8px}.milestone-doc-list{display:grid;gap:8px}.milestone-doc-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:.9rem;color:#0f172a}.milestone-doc-link{border:0;background:transparent;padding:0;margin:0;text-align:left;color:#0f172a;font:inherit;cursor:pointer}.milestone-doc-link:hover{color:#1d4ed8}.milestone-doc-link:disabled{cursor:not-allowed;color:#94a3b8}.milestone-doc-tag{margin-left:auto;font-size:.7rem;font-weight:700;color:#1f2937;background:#f1f5f9;padding:2px 6px;border-radius:999px}.authority-approvals-table .ant-table{background:transparent}.authority-approvals-table .ant-table-container{border:0!important}.authority-approvals-table .ant-table-thead>tr>th{background:transparent;padding:5px 8px;border-bottom:1px solid #e2e8f0;color:#5b6b80;font-size:.72rem;font-weight:500;letter-spacing:.01em;text-transform:none}.authority-approvals-table .ant-table-tbody>tr>td{padding:4px 8px;border-bottom:1px solid #eef2f7;vertical-align:middle;line-height:1.15}.authority-approvals-table .ant-table-tbody>tr>td .ant-typography{margin:0!important;font-size:.8rem!important;font-weight:500!important;color:#334155!important;line-height:1.15!important}.authority-approvals-cell{line-height:1.2;display:inline-block}.authority-approvals-cell,.authority-approvals-cell--name,.authority-approvals-cell--status{font-size:.78rem;font-weight:400;color:#334155}.authority-approvals-cell--status{text-transform:none;letter-spacing:.01em}.authority-approvals-cell--date{font-size:.78rem;font-weight:400;color:#334155;font-variant-numeric:tabular-nums}.project-documents-table,.project-documents-table .ant-table,.project-documents-table .ant-table-container,.project-documents-table .ant-table-wrapper{width:100%}.project-documents-table .ant-table-content{overflow-x:auto!important}.project-documents-table .ant-table-thead>tr>th{white-space:nowrap}.project-documents-table .ant-table-tbody>tr>td{padding-top:9px;padding-bottom:9px}.project-documents-cell{display:inline-flex;align-items:center;gap:7px;min-width:0;color:#334155}.project-documents-cell svg{color:#64748b;flex-shrink:0}.project-documents-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-documents-open-btn{border-color:#cbd5e1;color:#1e3a5f;font-weight:600}.project-documents-open-btn:focus,.project-documents-open-btn:hover{border-color:#94a3b8!important;color:#0f2747!important;background:#f8fafc!important}.supplier-breakdown-modal .ant-modal-body{padding-top:10px;padding-bottom:10px}.supplier-breakdown-table .ant-table{font-size:12px}.supplier-breakdown-table .ant-table-thead>tr>th{padding:8px 10px;font-size:11px;font-weight:600;color:#334155;background:#f8fafc;white-space:nowrap}.supplier-breakdown-table .ant-table-tbody>tr>td{padding:7px 10px;line-height:1.25;white-space:nowrap}.supplier-breakdown-table .supplier-breakdown-cell-wrap{white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;line-height:1.3}.supplier-breakdown-table .ant-table-cell-fix-right{background:#fff}.login-page-shell{height:100vh;padding:0;overflow:hidden}.login-enterprise-layout{width:100%;height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#f8fbff;overflow:hidden}.login-panel{min-width:0}.login-panel--form{background:#eef2f7;border-right:1px solid #d6dde7;padding:40px 56px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;overflow-y:auto}.login-brand{width:min(460px,100%)}.login-brand-logo{display:block;width:132px;height:auto;margin-bottom:4px}.login-brand-kicker{margin:0 0 12px;font-size:2rem;letter-spacing:.06em;text-transform:uppercase;color:#0f2747;font-weight:800;font-family:var(--font-heading),sans-serif}.login-brand-subtitle{margin:0;color:#5b6b80;font-size:.82rem;max-width:440px}.login-card{width:min(460px,100%);border-radius:8px;background:#fff}.login-card .ant-card-body{padding:14px 16px}.login-card .ant-typography{font-family:var(--font-heading),sans-serif!important;font-weight:700}.login-panel--visual{position:relative;min-height:0;background-image:url(https://www.constructionweekonline.com/cloud/2021/07/07/Imkan-Pixel-project-resized.jpg);background-size:96% auto;background-position:50%;background-repeat:no-repeat;background-color:#111827;display:flex;align-items:flex-end;justify-content:center;padding:40px}.login-visual-overlay{width:min(520px,100%);text-align:center;color:#fff;padding:0;background:transparent;border:0;text-shadow:0 2px 12px rgba(0,0,0,.55)}.login-visual-title{margin:0 0 10px;font-family:var(--font-heading),sans-serif;font-size:2rem;font-weight:800;letter-spacing:.01em}.login-visual-text{margin:0;color:hsla(0,0%,100%,.98);font-size:1.05rem;line-height:1.45;font-weight:500}@media (max-width:1024px){.login-enterprise-layout{grid-template-columns:1fr;height:100vh}.login-panel--form{border-right:0;padding:22px 18px}.login-panel--visual{min-height:240px;padding:20px}}@media (max-width:700px){.login-page-shell{overflow:hidden}.login-brand-logo{width:124px}.login-brand-kicker{font-size:1.3rem}.login-panel--visual{display:none}}.milestone-inline-label{display:inline-flex;align-items:center;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:.65rem;font-weight:700;color:#111827;background:#e2e8f0;white-space:nowrap}.card-row-inline{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-header-actions{display:inline-flex;align-items:center;gap:8px}.photos-stack{display:grid;gap:8px;margin-bottom:0!important;height:100%;align-content:start}.photos-primary-image{width:100%;min-height:240px}.photos-preview-hidden{display:none!important}.photos-grid{margin-bottom:0!important}.updates-preview{position:relative}.financials-chart{margin-bottom:0;padding:0;border-radius:0;background:transparent;border:0;flex:1;min-height:400px;height:100%;display:flex;align-items:stretch}.financials-chart>div{width:100%!important;height:100%!important}.financials-card-body{display:flex;flex-direction:column;height:100%}.financial-highlights-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}@media (max-width:1400px){.financial-highlights-grid{grid-template-columns:1fr}}.map-frame{width:100%;height:230px}.highlight-value{color:#1d4ed8;font-weight:700}.party-row-key{background:rgba(37,99,235,.06);border-radius:8px;padding:4px 6px;display:grid;grid-template-columns:minmax(0,1fr) 114px;align-items:center;-moz-column-gap:10px;column-gap:10px}.party-row-key .ant-typography-secondary{color:#1d4ed8;font-weight:600;display:block;line-height:1.2;word-break:normal;overflow-wrap:normal}.party-label{display:inline-flex;align-items:center;gap:6px}.party-row-key .party-label{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;-moz-column-gap:8px;column-gap:8px;min-width:0}.party-row-key>.ant-typography{justify-self:end;min-width:114px;text-align:left}.party-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border-radius:999px;font-size:.7rem;font-weight:700;color:#1d4ed8;background:rgba(37,99,235,.12)}.party-section-title{margin-top:16px;padding-top:6px;font-weight:600;text-transform:none;letter-spacing:.01em;font-size:.7rem;color:#64748b}.party-section-spacer{height:10px}@media (max-width:1200px){.summary-grid{grid-template-columns:repeat(2,minmax(200px,1fr))}.dashboard-layout-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.detail-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.detail-grid-column--left,.detail-grid-column--middle,.detail-grid-column--right{grid-column:auto;grid-row:auto}.detail-grid-column--right{grid-column:1/-1}}@media (max-width:768px){.dashboard-layout-grid,.detail-grid,.detail-grid-row-two,.summary-grid{grid-template-columns:1fr}}.kpi-card{padding:12px 16px;background:#fff;border:1px solid var(--mist);border-radius:var(--radius);box-shadow:var(--shadow)}.kpi-label{text-transform:none;letter-spacing:.01em;font-size:.7rem;color:#6b7280}.kpi-value{font-size:1.2rem;font-weight:600;color:var(--steel)}.section-card{border-radius:var(--radius);border:1px solid var(--mist);box-shadow:var(--shadow);--card-accent:#3b82f6}.project-dashboard .section-card{border-color:#dbe3ef;box-shadow:0 10px 24px rgba(15,23,42,.08);background:#fff}.draft-dashboard .ant-card,.draft-dashboard .section-card{background:var(--sapGroup_ContentBackground,#fff);border-color:var(--sapList_BorderColor,#d5dbe3);box-shadow:0 10px 24px color-mix(in srgb,var(--sapTile_ShadowColor,#000) 14%,transparent)}.draft-dashboard .ant-card-head{background:var(--sapTile_Background,var(--sapGroup_ContentBackground,#fff));border-bottom-color:var(--sapList_BorderColor,#d5dbe3)}.draft-dashboard .ant-card-extra,.draft-dashboard .ant-card-head-title,.draft-dashboard .ant-tabs-content,.draft-dashboard .ant-tabs-content-holder,.draft-dashboard .ant-tabs-tab,.draft-dashboard .ant-tabs-tab-btn,.draft-dashboard .ant-tabs-tabpane,.draft-dashboard .ant-typography,.draft-dashboard .ant-typography b,.draft-dashboard .ant-typography strong{color:var(--sapTextColor,#32363a)}.draft-dashboard .ant-card-meta-description,.draft-dashboard .ant-tabs-tab:not(.ant-tabs-tab-active) .ant-tabs-tab-btn,.draft-dashboard .ant-typography.ant-typography-secondary{color:var(--sapContent_LabelColor,#6a6d70)!important}.draft-dashboard .ant-tabs-nav:before{border-bottom-color:var(--sapList_BorderColor,#d5dbe3)!important}.draft-dashboard .ant-tabs-ink-bar{background:var(--sapSelectedColor,#0070f2)!important}.draft-dashboard .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:var(--sapSelectedColor,#0070f2)!important}.draft-dashboard .ant-input,.draft-dashboard .ant-input-affix-wrapper,.draft-dashboard .ant-input-number,.draft-dashboard .ant-input-number-disabled,.draft-dashboard .ant-input-number-input,.draft-dashboard .ant-input-textarea,.draft-dashboard .ant-input[disabled],.draft-dashboard .ant-picker,.draft-dashboard .ant-picker-input>input,.draft-dashboard .ant-picker.ant-picker-disabled{background:var(--sapField_Background,#fff)!important;border-color:var(--sapField_BorderColor,#89919a)!important;color:var(--sapField_TextColor,var(--sapTextColor,#32363a))!important}.draft-dashboard .ant-input-number-input::-moz-placeholder,.draft-dashboard .ant-input::-moz-placeholder,.draft-dashboard .ant-picker-input>input::-moz-placeholder{color:var(--sapField_PlaceholderTextColor,var(--sapContent_LabelColor,#6a6d70))!important}.draft-dashboard .ant-input-number-input::placeholder,.draft-dashboard .ant-input::placeholder,.draft-dashboard .ant-picker-input>input::placeholder{color:var(--sapField_PlaceholderTextColor,var(--sapContent_LabelColor,#6a6d70))!important}.draft-dashboard .timeline-item{background:var(--sapTile_Background,var(--sapGroup_ContentBackground,#fff));border-color:var(--sapList_BorderColor,#d5dbe3)}.draft-dashboard .ql-container.ql-snow,.draft-dashboard .ql-toolbar.ql-snow{background:var(--sapField_Background,#fff);border-color:var(--sapField_BorderColor,#89919a)}.draft-dashboard .ql-toolbar .ql-stroke{stroke:var(--sapContent_IconColor,#5b738b)}.draft-dashboard .ql-toolbar .ql-fill{fill:var(--sapContent_IconColor,#5b738b)}.draft-dashboard .ql-toolbar .ql-picker{color:var(--sapTextColor,#32363a)}.draft-dashboard .draft-status-alert{border-radius:10px;border-color:var(--sapList_BorderColor,#d5dbe3)!important;background:color-mix(in srgb,var(--sapGroup_ContentBackground,#fff) 88%,var(--sapHighlightColor,#0070f2) 12%)!important;color:var(--sapTextColor,#32363a)}.draft-dashboard .draft-status-alert .ant-alert-description,.draft-dashboard .draft-status-alert .ant-alert-icon,.draft-dashboard .draft-status-alert .ant-alert-message{color:inherit!important}.draft-dashboard .ant-btn{border-color:var(--sapButton_BorderColor,var(--sapList_BorderColor,#d5dbe3))}.draft-dashboard .ant-btn-primary{background:var(--sapButton_Background,#0070f2)!important;border-color:var(--sapButton_BorderColor,var(--sapButton_Background,#0070f2))!important;color:var(--sapButton_TextColor,#fff)!important}.draft-dashboard .ant-btn-primary:focus,.draft-dashboard .ant-btn-primary:hover{background:var(--sapButton_Hover_Background,var(--sapButton_Background,#0070f2))!important;border-color:var(--sapButton_Hover_BorderColor,var(--sapButton_BorderColor,#0070f2))!important;color:var(--sapButton_TextColor,#fff)!important}.draft-dashboard .ant-btn-default,.draft-dashboard .ant-btn:not(.ant-btn-primary){background:var(--sapButton_Lite_Background,var(--sapField_Background,#fff))!important;color:var(--sapButton_Lite_TextColor,var(--sapTextColor,#32363a))!important}.draft-dashboard .ant-btn.ant-btn-disabled,.draft-dashboard .ant-btn.ant-btn-disabled:focus,.draft-dashboard .ant-btn.ant-btn-disabled:hover,.draft-dashboard .ant-btn[disabled],.draft-dashboard .ant-btn[disabled]:focus,.draft-dashboard .ant-btn[disabled]:hover{background:color-mix(in srgb,var(--sapButton_Background,#0070f2) 16%,var(--sapField_Background,#fff) 84%)!important;border-color:color-mix(in srgb,var(--sapButton_Background,#0070f2) 34%,var(--sapList_BorderColor,#d5dbe3) 66%)!important;color:var(--sapContent_DisabledTextColor,#89919a)!important;box-shadow:none!important;opacity:1!important}.draft-dashboard .draft-status-tag{border-radius:999px;font-weight:600;border-width:1px;border-style:solid}.draft-dashboard .draft-status-tag--milestone{background:color-mix(in srgb,var(--sapField_WarningBackground,#fff8d6) 92%,transparent)!important;border-color:color-mix(in srgb,var(--sapField_WarningColor,#e9730c) 44%,var(--sapList_BorderColor,#d5dbe3) 56%)!important;color:var(--sapField_WarningColor,#e9730c)!important}.draft-dashboard .draft-status-tag--submitted{background:color-mix(in srgb,var(--sapInformationColor,#0070f2) 18%,var(--sapGroup_ContentBackground,#fff) 82%)!important;border-color:color-mix(in srgb,var(--sapInformationColor,#0070f2) 46%,var(--sapList_BorderColor,#d5dbe3) 54%)!important;color:var(--sapInformationColor,#0070f2)!important}.section-card--flush .ant-card-body{padding:0!important}.section-card .ant-card-body{padding:8px 10px 6px}.schedule-performance-meta{width:100%}.schedule-performance-meta--top{margin-top:16px;margin-bottom:2px}.summary-card--schedule .kpi-rows{gap:4px}.timeline-list{display:grid;gap:12px}.timeline-item{padding:12px 14px;border-radius:var(--radius);background:var(--panel);border:1px solid var(--mist)}.timeline-bar{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-warm))}.timeline-diagram{display:flex;flex-direction:column;gap:16px;padding:8px 4px 4px}.timeline-compact{max-height:240px;overflow-y:auto}.timeline-compact-body{display:flex;flex-direction:column;gap:10px}.timeline-compact-row{align-items:center}.timeline-compact-group,.timeline-compact-row{display:grid;grid-template-columns:1fr;gap:12px}.timeline-compact-group{align-items:start}.timeline-compact-stages{display:flex;flex-direction:column;gap:8px}.timeline-label-muted{color:#6b7280;font-size:.85rem}.timeline-stage-label{font-size:.85rem;color:#1f2937}.timeline-compact .timeline-label{display:none}.timeline-phase-track{min-height:64px}.timeline-phase-track,.timeline-stage-track{background:transparent!important;overflow:visible;border-radius:0}.timeline-stage-track{min-height:220px}.timeline-phase-flex{display:flex;height:100%}.timeline-phase-flex.design-focus{width:80%;margin-left:10%}.timeline-phase-block{height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:#fff;white-space:nowrap;border-radius:0;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%)}.timeline-phase-block.phase-muted{opacity:.5;filter:grayscale(.2)}.timeline-phase-block.phase-0{background:#2563eb}.timeline-phase-block.phase-1{background:#7c3aed}.timeline-phase-block.phase-2{background:#0f766e}.timeline-phase-block.phase-3{background:#c2410c}.timeline-stage-flex{display:flex;flex-direction:row;height:100%;align-items:stretch;gap:0;padding:0;width:100%;overflow:visible}.timeline-stage-flex.design-focus{width:80%;margin-left:10%}.timeline-stage-stack{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.timeline-stage-block{height:120px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;font-size:.9rem;font-weight:600;color:#0f172a;white-space:normal;text-align:center;justify-content:center;line-height:1.2;clip-path:none;border-radius:0;flex:1 1 0;width:auto;position:relative}.timeline-stage-block:after{content:"";position:absolute;right:-18px;top:0;width:0;height:0;border-top:60px solid transparent;border-bottom:60px solid transparent;border-left:18px solid #e0e7ff}.timeline-stage-block:last-child:after{display:none}.timeline-stage-block.planned{background:#e0e7ff;border:1px solid #c7d2fe;color:#1e1b4b}.timeline-stage-block.planned:after{border-left-color:#e0e7ff}.timeline-stage-block.actual{background:#2563eb;color:#fff}.timeline-stage-block.actual .timeline-stage-text{color:#fff}.timeline-stage-block.actual:after{border-left-color:#2563eb}.timeline-stage-text{max-width:200px;overflow:hidden;text-overflow:ellipsis}.timeline-phase-flex{gap:0;padding:0;width:100%}.timeline-stage-flex{gap:4px;padding:0 4px}.timeline-date-line{display:flex;flex-direction:column;gap:2px;padding:4px 8px 6px}.timeline-date-row{display:flex;align-items:center;gap:6px;font-size:.6rem;font-weight:700;color:#111827}.timeline-date-label{text-transform:uppercase;letter-spacing:.08em;font-weight:600}.timeline-date-start{margin-left:6px}.timeline-date-end{margin-left:auto}.timeline-date-line.stage-dates{padding:0;width:100%;flex-direction:row;align-items:center;gap:4px;font-size:.55rem;font-weight:700;color:#111827}.timeline-stage-block.phase-0.actual{background:#2563eb}.timeline-stage-block.phase-1.actual{background:#7c3aed}.timeline-stage-block.phase-2.actual{background:#0f766e}.timeline-stage-block.phase-3.actual{background:#c2410c}.timeline-stage-block.phase-0.planned{background:#dbeafe}.timeline-stage-block.phase-1.planned{background:#ede9fe}.timeline-stage-block.phase-2.planned{background:#ccfbf1}.timeline-stage-block.phase-3.planned{background:#ffedd5}.timeline-legend{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.timeline-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:#4b5563}.timeline-legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block}.timeline-legend-dot.planned{background:#cbd5f5;border:1px solid #9aa5f2}.timeline-legend-dot.actual{background:#2563eb}.timeline-legend-dot.today{background:#f97316}.timeline-rows{display:flex;flex-direction:column;gap:12px}.timeline-row{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:16px;align-items:center}.timeline-stage-row{padding-left:12px}.timeline-stage-group{margin-bottom:8px}.timeline-label{display:flex;flex-direction:column;gap:4px}.timeline-track{position:relative;min-height:20px;background:#f3f4f6;border-radius:0;overflow:hidden}.timeline-track .timeline-bar{position:absolute;top:4px;height:12px;border-radius:999px}.timeline-bar.planned{background:#cbd5f5}.timeline-bar.actual{background:#2563eb}.timeline-today{position:absolute;top:0;bottom:0;width:2px;background:#f97316}.timeline-check{color:#16a34a}.timeline-empty{padding:8px 0}.project-loading-banner{display:flex;align-items:center;gap:12px;border:1px solid #dbe3ef;background:#fff;padding:14px 16px;box-shadow:var(--shadow)}.project-loading-spinner{width:22px;height:22px;border-radius:999px;border:3px solid #dbeafe;border-top-color:#2563eb;animation:project-loader-spin .8s linear infinite;flex:0 0 auto}.project-loading-title{margin:0;color:#0f172a;font-size:.95rem;font-weight:600}.project-loading-subtitle{margin:2px 0 0;color:#64748b;font-size:.78rem}.project-loading-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:8px}.project-loading-details{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:12px}.project-loading-card{border:1px solid #dbe3ef;background:linear-gradient(90deg,#f8fafc 25%,#f1f5f9 37%,#f8fafc 63%);background-size:400% 100%;animation:project-loader-shimmer 1.25s ease-in-out infinite;padding:12px;box-shadow:var(--shadow)}.project-loading-card--summary{min-height:86px}.project-loading-card--detail{min-height:140px}.project-loading-line{background:rgba(148,163,184,.35);border-radius:999px;height:10px;margin-top:9px}.project-loading-line:first-child{margin-top:0}.project-loading-line--short{width:36%}.project-loading-line--medium{width:58%}.project-loading-line--long{width:88%}@keyframes project-loader-spin{to{transform:rotate(1turn)}}@keyframes project-loader-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.project-loading-card,.project-loading-spinner{animation:none}}@media (max-width:900px){.page-shell{padding:20px 20px 32px}.project-loading-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.project-loading-details{grid-template-columns:1fr}}.companies-selector-loading-overlay{position:fixed;inset:0;z-index:1000;background:rgba(18,23,28,.7);backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.companies-hero{background:linear-gradient(135deg,#0a3d6e,#1a5c99 50%,#2874b5);border-radius:var(--sapElement_BorderCornerRadius,8px);padding:24px 28px;margin-bottom:4px}.imada-dashboard-page,.imada-portfolio-page{padding:16px}.imada-exec-hero,.imada-portfolio-hero{background:linear-gradient(115deg,#0f1f36,#173457 48%,#245f8f);border:1px solid #1f3a5f;border-radius:14px;padding:16px 18px;color:#e5ecf6}.imada-exec-kicker,.imada-portfolio-kicker{margin:0;text-transform:uppercase;letter-spacing:.11em;font-size:11px;color:#c2d6f2}.imada-exec-hero h1,.imada-portfolio-hero h1{margin:6px 0;color:#fff;font-size:30px;line-height:1.2}.imada-exec-hero p,.imada-portfolio-hero p{margin:0;color:#d9e6f7}.imada-project-grid{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:12px}.imada-project-card{background:#fff;border:1px solid #d5dfed;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px}.imada-project-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#e8eef8;color:#1f3a5f;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.imada-project-card h2{margin:8px 0 4px;font-size:21px;color:#0f172a}.imada-project-card p{margin:0;color:#475569}.imada-project-kpis{display:grid;grid-template-columns:1fr 1fr;gap:8px}.imada-project-kpis>div{border:1px solid #dee6f2;background:#f8fbff;border-radius:10px;padding:10px}.imada-project-kpis span{display:flex;gap:6px;align-items:center;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:#64748b}.imada-project-kpis strong{display:block;margin-top:6px;font-size:16px;color:#0f172a}.imada-project-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.imada-project-meta small{color:#64748b}.imada-project-open-btn{margin-top:4px}.imada-portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.imada-toolbar-card{position:sticky;top:8px;z-index:4;border-radius:2px}.imada-toolbar-card .ant-card-body{padding:10px!important}.imada-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.imada-tile-card{height:100%;border-radius:1px;border:1px solid #d9e1e6;box-shadow:0 1px 0 rgba(15,23,42,.06),0 2px 8px rgba(15,23,42,.08)}.imada-tile-card .ant-card-body{padding:12px!important;min-height:210px;display:flex;flex-direction:column}.imada-tile-client{font-size:11px;font-weight:700;color:#1f2937;margin-bottom:10px}.imada-tile-field-label{font-size:10px;color:#6b7280;margin-bottom:2px}.imada-tile-project-name{margin:0 0 10px;font-size:18px;line-height:1.25;color:#111}.imada-tile-contract-value{font-size:28px;line-height:1.05;font-weight:600;color:#111;margin-bottom:8px}.imada-tile-footer{margin-top:auto;padding-top:8px;border-top:1px solid #e2e8f0}.imada-portfolio-card{height:100%;border-radius:8px}.imada-portfolio-card .ant-card-body{height:100%;padding:12px!important}.imada-portfolio-project-name{margin:0;color:#475569;font-size:15px;line-height:1.3}.imada-portfolio-scope-kicker{margin-top:-2px;color:#64748b;font-size:11px;letter-spacing:0;text-transform:none;font-weight:700}.imada-portfolio-metric-value{display:block;margin-top:1px;color:#0f172a;font-size:16px;line-height:1.2;font-weight:600}.imada-portfolio-contract-value{font-size:32px;line-height:1.1;font-weight:600;color:#0f172a;margin-top:2px}.imada-portfolio-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.imada-portfolio-metrics .ant-typography.ant-typography-secondary{font-size:11px}.imada-portfolio-progress-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.imada-portfolio-progress-head .ant-typography{margin:0;font-size:12px}.imada-portfolio-insights{border-top:1px solid #dbe3ef;padding-top:6px}.imada-portfolio-insights-title{display:block;margin-bottom:4px;color:#334155;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.imada-portfolio-insights-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:6px 8px}.imada-portfolio-insight-chip{padding:2px 0}.imada-portfolio-insight-chip small{display:block;color:#64748b;font-size:10px;margin-bottom:1px;line-height:1.15}.imada-portfolio-insight-chip strong{color:#0f172a;font-size:19px;line-height:1.15;font-weight:600}.imada-portfolio-insight-chip strong[data-negative]{color:#b91c1c}.imada-portfolio-open-link{display:inline-flex;align-items:center;gap:8px;color:#317fdf;font-weight:700;text-decoration:none;padding:2px 0}.imada-portfolio-open-link:focus,.imada-portfolio-open-link:hover{color:#256cc4;text-decoration:underline}.imada-list-name{color:#111;font-size:14px;font-weight:600;line-height:1.2}.imada-list-client{color:#6b7280;font-size:11px;margin-top:2px}.imada-list-value{color:#111;font-weight:600}.imada-exec-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}.imada-exec-hero-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.imada-exec-hero-meta span{border:1px solid rgba(226,232,240,.35);background:rgba(15,23,42,.22);border-radius:999px;padding:4px 10px;font-size:12px;color:#e2e8f0}.imada-dashboard-page .ant-row{margin-top:12px}.imada-kpi-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #d6e0ef;border-radius:12px;padding:12px;min-height:104px}.imada-kpi-label{display:flex;align-items:center;gap:6px;color:#64748b;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.imada-kpi-icon{width:22px;height:22px;border-radius:50%;background:#e5ecf8;color:#1f3a5f;display:inline-flex;align-items:center;justify-content:center}.imada-kpi-card strong{display:block;margin-top:10px;font-size:30px;color:#0f172a;line-height:1.1}.imada-panel-card{border-radius:12px;border-color:#d7e0eb}.imada-progress-block{margin-top:8px}.imada-governance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.imada-governance-grid>div{border:1px solid #d9e2ef;background:#f8fbff;border-radius:10px;padding:8px}.imada-governance-grid label{display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-size:11px}.imada-governance-grid strong{font-size:20px;color:#0f172a}.imada-revenue-trend-wrap{margin-top:12px}.imada-revenue-trend-wrap h3{margin:0 0 4px;color:#1f2937;font-size:13px}.imada-echart{width:100%}.imada-echart--pie{height:360px}.imada-echart--bars{height:300px}.imada-echart--line{height:180px}.imada-cost-bars-wrap{margin-bottom:10px;border:1px solid #dde5ef;border-radius:10px;padding:8px 8px 2px;background:#fbfdff}.imada-cost-table .ant-table-thead>tr>th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.imada-cost-table .ant-table-tbody>tr>td{font-size:12px}.imada-oracle-shell{padding:16px;background:#f6f6f6;gap:8px;container-type:inline-size;container-name:imada-shell}.imada-oracle-context{background:transparent;padding:4px 4px 12px;margin-bottom:0}.imada-oracle-context .ant-typography{margin-bottom:0;color:#0f172a!important}.imada-oracle-context .ant-typography-secondary{color:#64748b!important}.imada-oracle-filter-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.imada-oracle-filter-pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border:1px solid #cbd5e1;background:#fff;font-size:11px;color:#475569}.imada-fusion-kpi-banner{display:flex;flex-wrap:wrap;align-items:baseline;background:#fff;padding:24px 16px 28px;margin-bottom:0;border:1px solid #e8e8e8;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.06);gap:16px 0}.imada-fusion-kpi{flex:1 1 0%;min-width:140px;display:flex;flex-direction:column;gap:2px;padding-right:20px;margin-right:20px;border-right:1px solid rgba(0,0,0,.08)}.imada-fusion-kpi:last-child{border-right:none;padding-right:0;margin-right:0}.imada-fusion-kpi-label{font-size:15px;font-weight:400;color:#334155;line-height:1.3}.imada-fusion-kpi-value{font-size:clamp(28px,4cqi,64px);font-weight:300;color:#0f172a;line-height:1.1;letter-spacing:-.5px;white-space:nowrap}.imada-fusion-kpi-currency{display:inline-flex;align-items:baseline;opacity:.5;margin-right:4px;vertical-align:baseline}.imada-fusion-kpi-value[data-negative]{color:#dc2626}.imada-fusion-kpi-sub{font-size:15px;font-weight:500;color:#16a34a;margin-top:4px}.imada-fusion-kpi-sub[data-negative]{color:#dc2626}.imada-fusion-kpi-arrow{margin-right:4px;font-size:12px}.imada-fusion-kpi-arrow[data-dir=up]{color:#16a34a}.imada-fusion-kpi-arrow[data-dir=down]{color:#dc2626}.imada-fusion-kpi-pct{background:rgba(22,163,74,.1);color:#16a34a;padding:2px 8px;border-radius:3px;font-weight:600;font-size:13px}.imada-fusion-kpi-sub[data-negative] .imada-fusion-kpi-pct{background:rgba(220,38,38,.1);color:#dc2626}.imada-fusion-kpi-manpower{align-self:stretch}.imada-fusion-kpi-manpower .imada-fusion-kpi-value{font-size:36px;margin-bottom:4px}.imada-manpower-bar-wrap{display:flex;flex-direction:column;gap:5px;margin-top:2px}.imada-manpower-bar{display:flex;height:34px;width:100%;overflow:hidden}.imada-manpower-seg{display:flex;align-items:center;justify-content:center;min-width:0;transition:width .4s ease}.imada-manpower-seg span{font-size:12px;font-weight:700;color:#fff;white-space:nowrap;letter-spacing:.3px}.imada-manpower-seg[data-type=sub]{background:#4178be}.imada-manpower-seg[data-type=in]{background:#8dc63f}.imada-manpower-legend{display:flex;gap:12px}.imada-manpower-legend span{font-size:10px;font-weight:500;color:#64748b;display:flex;align-items:center;gap:4px}.imada-manpower-legend span:before{content:"";display:inline-block;width:8px;height:8px}.imada-manpower-legend span[data-type=sub]:before{background:#4178be}.imada-manpower-legend span[data-type=in]:before{background:#8dc63f}.imada-photos-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;height:100%;min-height:280px}.imada-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:130px}.imada-photo-placeholder span{font-size:11px;font-weight:500;color:#94a3b8;letter-spacing:.3px}.imada-oracle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;align-items:stretch}.imada-oracle-grid-2{grid-template-columns:repeat(2,1fr)}.imada-oracle-grid-3{grid-template-columns:repeat(3,1fr)}.imada-pnl-tile{background:#fff;border:1px solid #e8e8e8;border-radius:6px;display:flex;flex-direction:column;min-height:352px;box-shadow:0 1px 3px rgba(0,0,0,.06)}.imada-tile-expand-btn{display:block;width:100%;padding:7px 0;border:none;border-top:1px solid #e8e8e8;background:#fafafa;color:#1a6dcc;font-size:11px;font-weight:500;cursor:pointer;text-align:center;letter-spacing:.2px;margin-top:auto;border-radius:0 0 6px 6px}.imada-tile-expand-btn:hover{background:#f0f0f0;color:#0e4d8b}.imada-pnl-tile-head{padding:14px 16px 10px}.imada-pnl-tile-head h3{margin:0;font-size:14px;font-weight:700;color:#1e293b;line-height:1.3;letter-spacing:.1px}.imada-pnl-tile-value{display:block;font-size:26px;font-weight:700;color:#1e293b;line-height:1.1;margin-top:4px;letter-spacing:-.3px}.imada-pnl-tile-value[data-negative]{color:#dc2626}.imada-pnl-tile-sub{display:block;font-size:11px;color:#64748b;margin-top:2px}.imada-pnl-alert{color:#dc2626;background:#fef2f2;padding:1px 6px;font-weight:600;font-size:11px;margin-left:4px}.imada-pnl-tile-count{display:block;font-size:13px;color:#94a3b8;margin-top:4px}.imada-pnl-tile-body{flex:1;padding:10px 22px 16px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.imada-pnl-tile-chart{padding:4px 10px 10px}.imada-oracle-table{width:100%;border-collapse:collapse;font-size:13px;flex:1}.imada-oracle-table thead tr{background:#f4f6f8;border-bottom:2px solid #e2e8f0}.imada-oracle-table th{padding:10px 16px;font-size:11px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.3px;text-align:left;border-bottom:1px solid #e2e8f0}.imada-oracle-table th:last-child{text-align:right}.imada-oracle-table tbody tr:nth-child(odd){background:#fff}.imada-oracle-table tbody tr:nth-child(2n){background:#fafbfc}.imada-oracle-table td{padding:14px 16px;color:#1e293b;font-weight:500;border-bottom:1px solid #f1f5f9;vertical-align:middle}.imada-oracle-table tbody tr:last-child td{border-bottom:none}.imada-oracle-table tbody tr:hover{background:#f8fafc}.imada-oracle-table-num{text-align:right;font-size:14px;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.imada-oracle-table-num[data-negative]{color:#dc2626}.imada-oracle-table-compact th{padding:8px 12px;font-size:10px}.imada-oracle-table-compact td{padding:8px 12px;font-size:12px}.imada-oracle-table-compact .imada-oracle-table-num{font-size:12px;font-weight:600}.imada-oracle-table-colored thead tr{background:#f4f6f8;border-bottom:2px solid #e2e8f0}.imada-oracle-table-colored th{color:#475569;font-weight:600;padding:8px 16px}table.imada-oracle-table-colored{flex:none}table.imada-oracle-table-colored td{padding:10px 16px!important;border-bottom:1px solid hsla(0,0%,100%,.6);font-weight:600;font-size:13px;line-height:1.3}table.imada-oracle-table-colored .imada-oracle-table-num{font-size:12px}.imada-oracle-table-colored tbody tr:first-child{background:#59336c;color:#fff}.imada-oracle-table-colored tbody tr:nth-child(2){background:#a8d5a2}.imada-oracle-table-colored tbody tr:nth-child(3){background:#f5d76e}.imada-oracle-table-colored tbody tr:nth-child(4){background:#59336c;color:#fff}.imada-oracle-table-colored tbody tr:hover{filter:brightness(.94);background:inherit}.imada-oracle-table-colored tbody tr:first-child .imada-oracle-table-num,.imada-oracle-table-colored tbody tr:first-child td,.imada-oracle-table-colored tbody tr:nth-child(4) .imada-oracle-table-num,.imada-oracle-table-colored tbody tr:nth-child(4) td{color:#fff!important}.imada-oracle-table-colored .imada-oracle-table-num{color:#1e293b}.imada-oracle-table-colored .imada-oracle-table-num[data-negative]{color:#991b1b}.imada-oracle-tag{display:inline-block;padding:3px 12px;border-radius:12px;font-size:11px;font-weight:600;letter-spacing:.3px}.imada-oracle-tag[data-level=low]{background:#dcfce7;color:#15803d}.imada-oracle-tag[data-level=medium]{background:#fff7ed;color:#c2410c}.imada-oracle-tag[data-level=high]{background:#fef2f2;color:#dc2626}.imada-cost-efficiency{display:flex;flex-direction:column;gap:16px;padding:16px 16px 14px}.imada-cost-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #f1f5f9;padding-top:12px}.imada-cost-kpi{display:flex;flex-direction:column;gap:2px}.imada-cost-kpi small{font-size:11px;font-weight:500;color:#64748b}.imada-cost-kpi strong{font-size:16px;font-weight:700;color:#0f172a}.imada-cost-kpi strong[data-negative]{color:#dc2626}.imada-cost-variance{display:flex;align-items:center;gap:8px}.imada-cost-dot{width:10px;height:10px;border-radius:50%;background:#16a34a;flex-shrink:0}.imada-cost-dot[data-negative]{background:#dc2626}.imada-pnl-metrics-strip{display:flex;gap:0;margin-top:auto;border-top:1px solid #edf0f4}.imada-pnl-metric-box{flex:1;padding:14px 16px 12px;display:flex;flex-direction:column;gap:3px;border-right:1px solid #edf0f4}.imada-pnl-metric-box:last-child{border-right:none}.imada-pnl-metric-box small{font-size:10px;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.4px}.imada-pnl-metric-box strong{font-size:17px;font-weight:700;color:#111827;line-height:1.2}.imada-pnl-metric-profit strong{color:#0e7c6b}.imada-pnl-metric-profit span{font-size:12px;font-weight:600;color:#0e7c6b}.imada-pnl-metric-profit[data-negative] span,.imada-pnl-metric-profit[data-negative] strong{color:#dc2626}.imada-pnl-bar-stack{display:flex;flex-direction:column;gap:8px;margin-top:auto}.imada-pnl-bar-row{display:flex;align-items:center;gap:8px}.imada-pnl-bar-row>span{font-size:11px;color:#64748b;min-width:60px;flex-shrink:0}.imada-pnl-bar-track{flex:1;height:14px;background:#f1f5f9;border-radius:2px;overflow:hidden}.imada-pnl-bar-fill{height:100%;border-radius:2px;transition:width .4s ease}.imada-pnl-bar-row>strong{font-size:11px;font-weight:600;color:#334155;min-width:56px;text-align:right;flex-shrink:0}.imada-oracle-kv-grid{display:grid;grid-template-columns:minmax(90px,130px) 1fr;row-gap:10px;-moz-column-gap:12px;column-gap:12px;font-size:13px}.imada-oracle-kv-grid>span{color:#64748b}.imada-oracle-kv-grid>strong{font-weight:600;color:#1e293b;text-align:right}.imada-oracle-kv-grid .ant-tag{border-radius:2px;margin-inline-end:0;font-size:11px}.imada-oracle-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:6px 0 14px;border-bottom:1px solid #edf0f4}.imada-oracle-metric-grid small{display:block;font-size:10px;font-weight:500;color:#64748b;margin-bottom:4px;text-transform:uppercase;letter-spacing:.4px}.imada-oracle-metric-grid strong{color:#111827;font-size:17px;font-weight:700;line-height:1.1;word-break:break-all}.imada-oracle-gauge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px;flex:1}.imada-oracle-gauge-grid p{margin:4px 0 0;text-align:center;font-size:11px;color:#475569}.imada-oracle-gauge-grid p.is-alert{color:#dc2626;font-weight:600}.imada-compact-list{display:flex;flex-direction:column;gap:2px;border-radius:var(--sapElement_BorderCornerRadius,8px);overflow:hidden;background:var(--sapGroup_TitleBorderColor,#dee2e5)}.imada-compact-row{display:flex;align-items:center;gap:20px;padding:10px 16px;background:var(--sapList_Background,#fff);text-decoration:none;color:inherit;transition:background .15s;cursor:pointer}.imada-compact-row:hover{background:var(--sapList_Hover_Background,#eaecee)}.imada-compact-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.imada-compact-meta{flex:0 0 auto}.imada-compact-kpi{flex:0 0 auto;min-width:80px;display:flex;flex-direction:column;gap:2px;align-items:flex-end}@container imada-shell (max-width: 960px){.imada-exec-hero{flex-direction:column;align-items:flex-start}.imada-project-kpis{grid-template-columns:1fr}.imada-kpi-card strong{font-size:24px}.imada-fusion-kpi-banner{padding:12px 4px}.imada-fusion-kpi{flex:0 0 calc(50% - 20px);min-width:0}.imada-fusion-kpi-value{font-size:24px}.imada-oracle-grid{grid-template-columns:repeat(2,1fr)}.imada-oracle-grid-2,.imada-oracle-grid-3{grid-template-columns:1fr}.imada-pnl-tile{min-height:0}.imada-pnl-tile-value{font-size:26px}.imada-pnl-metrics-strip{flex-direction:column}.imada-pnl-metric-box{border-right:none;border-bottom:1px solid #edf0f4}.imada-oracle-gauge-grid,.imada-oracle-metric-grid{grid-template-columns:1fr}.imada-oracle-gauge-grid{gap:10px}.imada-oracle-gauge-grid>div{width:100%;max-width:420px;margin:0 auto}.imada-compact-row{flex-wrap:wrap;gap:8px 16px}.imada-compact-kpi{min-width:60px}}@container imada-shell (max-width: 640px){.imada-fusion-kpi{flex:0 0 100%;border-right:none;padding-right:0;margin-right:0;padding-bottom:12px;border-bottom:1px solid rgba(0,0,0,.06)}.imada-fusion-kpi:last-child{border-bottom:none;padding-bottom:0}.imada-oracle-grid{grid-template-columns:1fr}}ui5-breadcrumbs::part(current-location){font-weight:400}.project-dashboard-object-page [data-component-name=ObjectPageSectionContent]{padding-block-start:0!important}.project-dashboard-object-page [data-component-name=ObjectPageSubSectionHeaderContainer]{display:none!important}.project-dashboard-object-page [data-component-name=ObjectPageSubSectionContent]{margin-block-start:0!important;padding-block:0!important}ui5-card.portfolio-signal-card--highlight::part(root){background:var(--sapButton_Emphasized_Background);border-color:var(--sapButton_Emphasized_BorderColor);color:var(--sapButton_Emphasized_TextColor)}ui5-card.portfolio-signal-card--highlight::part(content){background:var(--sapButton_Emphasized_Background)}