@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}}.timeline-zoom{border:1px solid #cbd8e5;border-radius:7px;display:flex;overflow:hidden}.timeline-zoom button{color:#526980;background:#fff;border:0;border-right:1px solid #d7e1ea;padding:9px 11px;font-size:10px;font-weight:750}.timeline-zoom button:last-child{border-right:0}.timeline-zoom button.active{color:#1266e8;background:#e8f2ff}.portfolio-gantt .schedule-row{min-height:65px}.portfolio-gantt .schedule-bar{height:34px}.estimate-review-card{background:#f7fafc;border:1px solid #d8e3ed;border-radius:9px;margin:20px 26px;padding:20px}.estimate-review-card h3,.estimate-review-card p{margin:4px 0}.estimate-review-card dl{border:1px solid #dce5ed;border-radius:7px;grid-template-columns:repeat(3,1fr);margin:16px 0 0;display:grid;overflow:hidden}.estimate-review-card dl div{border-right:1px solid #dce5ed;padding:12px}.estimate-review-card dt{color:#718196;font-size:9px}.estimate-review-card dd{color:#173d62;margin:4px 0 0;font-weight:800}.stepper span.active{color:#fff;background:#1266e8;box-shadow:0 0 0 3px #dcebff}.schedule-board{scrollbar-gutter:stable both-edges;overscroll-behavior:contain;max-height:min(72vh,760px);overflow:auto}.job-documents{background:#f8fafc;border:1px solid #d7e1ea;border-radius:8px;margin-top:16px;overflow:hidden}.job-documents>div{padding:12px 14px}.job-documents>div strong,.job-documents>div small{display:block}.job-documents>div small{color:#758598;margin-top:4px;font-size:9px}.job-documents p{background:#fff;border-top:1px solid #e1e8ef;grid-template-columns:24px minmax(0,1fr) auto 24px;align-items:center;gap:9px;margin:0;padding:9px 14px;font-size:10px;display:grid}.job-documents p b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.job-documents p small{color:#7b8999}.job-documents p button{color:#a84444;background:0 0;border:0;font-size:16px}.claim-stage-workspace{gap:16px;display:grid}.claim-stage-head{border:1px solid var(--line);background:#fff;border-radius:9px;justify-content:space-between;align-items:center;gap:24px;padding:24px 26px;display:flex}.claim-stage-head h2,.claim-stage-head p{margin:0}.claim-stage-head h2{margin:4px 0 7px}.claim-stage-head p:last-child{color:#68798d;max-width:680px;font-size:11px;line-height:1.6}.claim-balance{text-align:right;border:1px solid;border-radius:8px;min-width:210px;padding:15px}.claim-balance span,.claim-balance strong,.claim-balance small{display:block}.claim-balance strong{margin:3px 0;font-size:25px}.claim-balance small{font-size:9px}.claim-balance.balanced{color:#12734e;background:#eaf7f1;border-color:#b9dfcc}.claim-balance.unbalanced{color:#945e00;background:#fff4e3;border-color:#ebcf98}.claim-stage-workspace table input,.claim-stage-workspace table select{color:#213a53;background:#fff;border:1px solid #cbd7e2;border-radius:6px;width:100%;height:36px;padding:0 9px}.claim-value-input{border:1px solid #cbd7e2;border-radius:6px;display:flex;overflow:hidden}.claim-value-input span{color:#31516f;background:#edf3f8;place-items:center;width:32px;font-weight:800;display:grid}.claim-value-input input{border:0!important;border-radius:0!important}.claim-stage-workspace td small{color:#7a8999;margin-top:3px;display:block}.claim-stage-actions{align-items:center;gap:10px;display:flex}.claim-stage-actions span{color:#16805b;margin-left:auto;font-size:10px;font-weight:750}@media (max-width:760px){.claim-stage-head{flex-direction:column;align-items:stretch}.claim-balance{text-align:left}.claim-stage-actions{flex-direction:column;align-items:stretch}.claim-stage-actions span{margin-left:0}}.job-stacked-chart .stack-tooltip{pointer-events:none;top:8px;transform:translate(-50%)}.job-stacked-chart .stack-tooltip b,.job-stacked-chart .stack-tooltip small{white-space:nowrap}.job-stacked-chart .stacked-job:first-child .stack-tooltip{left:0;transform:none}.job-stacked-chart .stacked-job:last-child .stack-tooltip{left:auto;right:0;transform:none}:root{--navy:#0b2849;--navy-2:#061c35;--blue:#1266e8;--blue-light:#eaf2ff;--green:#119b63;--ink:#0e1d31;--muted:#64748b;--line:#dfe7ef;--canvas:#f4f7fa;--white:#fff;--red:#d14343}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #9ec5ff}.app-shell{min-height:100vh}.sidebar{color:#fff;z-index:10;background:#1d394c;flex-direction:column;width:232px;padding:26px 14px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;background:0 0;border:0;align-items:center;gap:10px;padding:0 9px 30px;font-size:23px;font-weight:760;display:flex}.brand-mark{letter-spacing:.04em;border:2px solid #fff;place-items:center;width:37px;height:37px;font-size:9px;font-weight:850;line-height:1;display:grid}.sidebar nav{gap:7px;display:grid}.nav-item{color:#d9e6f6;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:15px;height:52px;padding:0 14px;font-weight:560;transition:all .16s;display:flex}.nav-item:hover{background:#153b66}.nav-item.active{color:#fff;background:linear-gradient(105deg,#0d61db,#1375f2);box-shadow:0 8px 20px #001b3880}.nav-icon{text-align:center;width:24px;font-size:22px}.sidebar-bottom{gap:14px;margin-top:auto;display:grid}.support,.profile{align-items:center;gap:10px;display:flex}.support{color:#fff;text-align:left;background:#ffffff0b;border:1px solid #ffffff16;border-radius:9px;width:100%;padding:12px}.support>span{border:1px solid #7f9ab9;border-radius:50%;place-items:center;width:26px;height:26px;display:grid}.support div,.profile div{flex-direction:column;gap:2px;display:flex}.support small,.profile small{color:#9eb1c7;font-size:11px}.profile{border-top:1px solid #ffffff1c;padding:15px 6px 0}.profile>span{background:#1d6fd0;border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.profile b{margin-left:auto}.main{min-height:100vh;margin-left:232px;padding:27px 32px 40px}.topbar{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#7a8ba0;margin:0 0 6px;font-size:11px;font-weight:700}.topbar h1{letter-spacing:-.035em;margin:0;font-size:29px}.top-actions,.section-tools>div,.tracking-head>div{gap:10px;display:flex}.primary,.secondary,.outline{border-radius:7px;height:44px;padding:0 17px;font-weight:650}.primary{background:var(--blue);color:#fff;border:1px solid var(--blue);box-shadow:0 6px 14px #1266e82b}.primary:hover{background:#0758ce}.secondary{color:#334155;background:#fff;border:1px solid #cfd9e4}.outline{height:38px;color:var(--blue);background:#fff;border:1px solid #8ab6ff}.icon-button{border:1px solid var(--line);background:#fff;border-radius:50%;width:44px;height:44px;font-size:22px;position:relative}.icon-button i{background:#ff7146;border:1px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:8px}.page-stack{gap:18px;display:grid}.kpi-grid,.tracking-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.kpi{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:16px;min-height:142px;padding:23px;display:flex;box-shadow:0 1px 2px #12243a09}.kpi-icon{border-radius:50%;flex:0 0 52px;place-items:center;width:52px;height:52px;font-size:25px;font-weight:700;display:grid}.kpi-icon.blue{color:var(--blue);background:var(--blue-light)}.kpi-icon.green{color:var(--green);background:#e3f5ed}.kpi p{color:#536176;margin:0 0 5px;font-weight:550}.kpi strong{letter-spacing:-.04em;font-size:31px;line-height:1.1;display:block}.kpi small{color:#8190a3;margin-top:8px;font-size:11px;display:block}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.dashboard-grid{grid-template-columns:1.05fr 1fr;gap:18px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:10px;box-shadow:0 1px 3px #132b4408}.chart-panel,.estimates-panel{min-height:478px}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:19px 20px 14px;display:flex}.panel-head h2{margin:0;font-size:18px}.panel-head p{color:var(--muted);margin:4px 0 0;font-size:12px}.panel-head select{border:1px solid var(--line);color:#45556b;background:#fff;border-radius:6px;padding:8px 28px 8px 10px}.legend{color:#607086;gap:26px;padding:15px 26px 0;font-size:12px;display:flex}.legend span:before{content:"";vertical-align:middle;width:22px;height:3px;margin-right:8px;display:inline-block}.legend .budget:before{background:var(--blue)}.legend .committed:before{background:var(--green);background:repeating-linear-gradient(90deg,var(--green) 0 6px,transparent 6px 9px)}.legend .actual:before{background:var(--navy)}.chart{height:315px;padding:7px 24px 26px 52px;position:relative}.chart svg{width:100%;height:260px;overflow:visible}.grid-lines line{stroke:#dfe7ef;stroke-width:1px}.line{fill:none;stroke-width:3px;vector-effect:non-scaling-stroke}.budget-line{stroke:var(--blue)}.committed-line{stroke:var(--green);stroke-dasharray:7 5}.actual-line{stroke:var(--navy)}.y{color:#718096;height:40px;font-size:10px;display:block;position:relative;top:2px}.chart svg{width:calc(100% - 78px);position:absolute;top:7px;left:54px}.months{color:#718096;justify-content:space-between;font-size:9px;display:flex;position:absolute;bottom:1px;left:50px;right:18px}.chart-foot{color:#708095;padding:0 20px;font-size:11px}.job-bar-legend{color:#607086;gap:20px;padding:14px 20px 8px;font-size:10px;font-weight:700;display:flex}.job-bar-legend span:before{content:"";vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.job-bar-legend .contract:before,.job-bar-values i.contract{background:var(--navy)}.job-bar-legend .estimate:before,.job-bar-values i.estimate{background:var(--blue)}.job-bar-legend .margin:before,.job-bar-values i.margin{background:var(--green)}.job-bar-chart{gap:8px;padding:2px 20px 12px;display:grid}.job-bar-row{grid-template-columns:132px minmax(0,1fr);align-items:center;gap:10px;display:grid}.job-bar-label strong,.job-bar-label small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.job-bar-label strong{color:#26384d;font-size:10px}.job-bar-label small{color:#8390a0;margin-top:2px;font-size:8px}.job-bar-values{gap:3px;display:grid}.job-bar-values>div{background:#eef2f6;border-radius:3px;height:9px;position:relative}.job-bar-values i{border-radius:3px;min-width:3px;height:100%;display:block}.job-bar-values span{color:#6c7b8d;font-size:7px;display:none;position:absolute;top:50%;left:calc(100% + 6px);transform:translateY(-50%)}.job-bar-values>div:hover span{border:1px solid var(--line);z-index:3;white-space:nowrap;background:#fff;border-radius:4px;padding:3px 5px;display:block;box-shadow:0 3px 9px #18314a1c}.job-bar-row:hover{background:#f8fafc}.job-bar-row:hover .job-bar-label strong{color:var(--blue)}.job-stacked-chart{background:repeating-linear-gradient(0deg,#0000 0 79px,#edf1f5 80px);border-bottom:1px solid #edf1f5;align-items:end;gap:7px;height:342px;padding:12px 16px 9px;display:grid;overflow:auto hidden}.stacked-job{min-width:0;height:100%;color:inherit;background:0 0;border:0;flex-direction:column;justify-content:flex-end;align-items:stretch;padding:0;display:flex;position:relative}.stack-total{color:#526176;white-space:nowrap;margin-bottom:4px;font-size:8px;font-weight:750}.stack-track{background:#edf2f6;border-radius:5px 5px 2px 2px;flex-direction:column;justify-content:flex-end;height:235px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #dfe7ef}.stack-track i{min-height:2px;transition:filter .16s;display:block;position:relative}.stack-margin{background:var(--green);order:1}.stack-estimate{background:var(--blue);order:2}.stack-track i b{display:none}.stack-label{text-align:center;min-height:46px;padding-top:7px}.stack-label strong,.stack-label small{text-overflow:ellipsis;display:block;overflow:hidden}.stack-label strong{white-space:normal;max-height:20px;font-size:8px;line-height:1.2}.stack-label small{color:#8190a2;margin-top:3px;font-size:7px}.stacked-job:hover .stack-track i,.stacked-job:focus-visible .stack-track i{filter:brightness(1.08)}.stacked-job:hover .stack-label strong{color:var(--blue)}.stack-tooltip{z-index:5;background:var(--navy);color:#fff;text-align:left;border-radius:6px;width:150px;padding:8px 10px;display:none;position:absolute;top:8px;left:50%;transform:translate(-50%,-100%);box-shadow:0 8px 20px #001b3840}.stack-tooltip b,.stack-tooltip small{font-size:9px;line-height:1.5;display:block}.stack-tooltip small{color:#c9d8e8}.stacked-job:hover .stack-tooltip,.stacked-job:focus-visible .stack-tooltip{display:block}.current-jobs-list{display:grid}.current-job{text-align:left;color:#425269;background:#fff;border:0;border-bottom:1px solid #e8edf2;grid-template-columns:minmax(150px,1.4fr) minmax(100px,1fr) auto 10px;align-items:center;gap:12px;min-height:70px;padding:12px 16px;display:grid}.current-job:hover{background:#f7faff}.current-job>span:first-child strong,.current-job>span:first-child small{display:block}.current-job>span:first-child strong{color:#14243a;font-size:11px}.current-job>span:first-child small{color:#7d8a9b;margin-top:4px;font-size:9px}.current-job-progress{align-items:center;gap:8px;display:flex}.current-job-progress>i{background:#e5ebf1;border-radius:10px;flex:1;height:6px;overflow:hidden}.current-job-progress>i b{background:var(--blue);border-radius:10px;height:100%;display:block}.current-job-progress>strong{color:#526176;font-size:9px}.table-wrap{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th{text-transform:uppercase;letter-spacing:.04em;color:#7c8b9d;text-align:left;border-bottom:1px solid var(--line);padding:11px 14px;font-size:9px;font-weight:750}td{color:#425269;border-bottom:1px solid #e8edf2;padding:13px 14px;font-size:12px}td strong{color:#14243a;font-size:12px;display:block}td small{color:#7d8a9b;margin-top:3px;font-size:10px;display:block}td a,.text-link{color:var(--blue);font-weight:700}.status{border-radius:4px;padding:5px 8px;font-size:10px;font-weight:650;display:inline-block}.status.draft{color:#556476;background:#f1f3f5}.status.sent{color:#1266e8;background:#e8f1ff}.status.accepted{color:#138052;background:#e1f4eb}.status.declined{color:#b53838;background:#fde7e7}.status-select{border-radius:5px;display:inline-flex;position:relative}.status-select:after{content:"⌄";pointer-events:none;font-size:11px;position:absolute;top:50%;right:8px;transform:translateY(-55%)}.status-select select{appearance:none;cursor:pointer;border:1px solid #0000;border-radius:5px;height:34px;padding:0 27px 0 10px;font-size:11px;font-weight:700}.status-select.draft select{color:#556476;background:#f1f3f5}.status-select.sent select{color:#1266e8;background:#e8f1ff}.status-select.accepted select{color:#138052;background:#e1f4eb}.status-select.declined select{color:#b53838;background:#fde7e7}.text-link{background:0 0;border:0;padding:16px 20px}.attention{justify-content:space-between;align-items:center;padding:15px 19px;display:flex}.attention>div{align-items:center;gap:13px;display:flex}.attention h3,.attention p{margin:0}.attention h3{font-size:13px}.attention p{color:#66758a;margin-top:3px;font-size:11px}.alert-icon{color:#d47b00;background:#fff3dc;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.section-tools,.tracking-head{justify-content:space-between;align-items:center;display:flex}.tabs{background:#e9eef4;border-radius:8px;padding:4px}.tabs button{color:#64748b;background:0 0;border:0;border-radius:6px;height:36px;padding:0 15px}.tabs button.selected{color:#17263a;background:#fff;box-shadow:0 1px 4px #0c274018}.tabs b{background:#dfe7ef;border-radius:10px;margin-left:4px;padding:2px 6px;font-size:10px}.full-table{overflow:hidden}.full-table td,.full-table th{padding:16px 20px}.estimate-help,.library-banner,.report-hero{color:#fff;background:linear-gradient(100deg,#0d2b4d,#0b3d70);border-radius:10px;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.estimate-help>div{align-items:center;gap:14px;display:flex}.estimate-help h3,.estimate-help p{margin:0}.estimate-help p{color:#c6d6e8;margin-top:4px;font-size:12px}.estimate-help>div>span{font-size:26px}.job-summary{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:repeat(4,1fr);display:grid}.job-summary>div{border-right:1px solid var(--line);padding:20px 24px}.job-summary>div:last-child{border:0}.job-summary span,.job-summary small{color:#77879a;display:block}.job-summary strong{margin:5px 0;font-size:23px;display:block}.job-summary small{font-size:10px}.jobs-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.job-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:20px}.job-head{justify-content:space-between;display:flex}.job-head p{color:#748397;margin:0;font-size:10px;font-weight:700}.job-head h2{margin:4px 0 18px;font-size:17px}.health{border-radius:12px;height:25px;padding:5px 9px;font-size:10px;font-weight:700}.health.on-track{color:#117c52;background:#e2f4eb}.health.watch{color:#a76500;background:#fff2d9}.health.over-budget{color:#b53838;background:#fde7e7}.progress,.mini-progress{background:#e8eef4;border-radius:10px;height:7px;overflow:hidden}.progress i,.mini-progress i{background:var(--blue);border-radius:10px;height:100%;display:block}.job-numbers{grid-template-columns:repeat(3,1fr);margin:19px 0;display:grid}.job-numbers small,.job-numbers b{display:block}.job-numbers small{color:#77879a;font-size:10px}.job-numbers b{margin-top:4px}.job-foot{border-top:1px solid var(--line);color:#76869a;justify-content:space-between;padding-top:14px;font-size:11px;display:flex}.job-foot button{color:var(--blue);background:0 0;border:0;font-weight:700}.jobs-register table{min-width:1120px}.jobs-register td{vertical-align:middle}.jobs-register td:nth-child(3){font-weight:700}.job-number{color:var(--blue)}.job-register-progress{align-items:center;gap:9px;min-width:130px;display:flex}.job-register-progress .mini-progress{width:88px}.job-register-progress span{color:#65758a;font-size:10px;font-weight:700}.job-register-progress+.jobs-register small,.jobs-register td>small{margin-top:4px}.cost-progress i{background:var(--blue)}.revenue-progress i{background:var(--green)}.jobs-register .health{white-space:nowrap;align-items:center;display:inline-flex}.archive-view-switch{background:#e8edf3;border:1px solid #d3dde7;border-radius:8px;align-items:center;gap:4px;width:max-content;padding:4px;display:inline-flex}.archive-view-switch button{color:#63758a;background:0 0;border:0;border-radius:6px;height:34px;padding:0 14px;font-size:11px;font-weight:750}.archive-view-switch button.active{color:var(--navy);background:#fff;box-shadow:0 2px 7px #17334f17}.archive-view-switch b{background:#dce5ee;border-radius:10px;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;font-size:9px;display:inline-grid}.archive-view-switch button.active b{background:var(--blue-light);color:var(--blue)}.archive-job{color:#80580c;background:#fff8e8;border:1px solid #c7a365;border-radius:6px;height:38px;padding:0 13px;font-size:11px;font-weight:800}.archive-job:hover{background:#ffefc6}.restore-job{color:var(--green)!important;background:#effaf5!important;border-color:#9ed0bb!important}.health.archived{color:#5d6d7f;background:#edf1f5}.empty-archive{text-align:center;border-top:1px solid var(--line);padding:48px 20px}.empty-archive span{width:42px;height:42px;color:var(--green);background:#e5f5ed;border-radius:50%;place-items:center;margin:0 auto 11px;font-size:19px;font-weight:800;display:grid}.empty-archive h3,.empty-archive p{margin:0}.empty-archive h3{font-size:15px}.empty-archive p{color:#728195;margin-top:6px;font-size:10px}.jobs-tools>div:last-child{gap:10px;display:flex}.job-search{background:#fff;border:1px solid #cfd9e4;border-radius:7px;width:220px;height:44px;padding:0 13px}.register-count,.cashflow-live{border-radius:14px;padding:7px 10px;font-size:10px;font-weight:700}.register-count{color:#1b5e9f;background:#edf4fc}.cashflow-live{color:#16805b;background:#e7f7f0}.jobs-register tbody tr:hover{background:#f7faff}.job-detail-toolbar,.schedule-toolbar,.schedule-controls{justify-content:space-between;align-items:center;display:flex}.job-detail-toolbar>div,.schedule-toolbar>div,.schedule-controls{gap:9px}.job-detail-toolbar>div,.schedule-toolbar>div{display:flex}.job-detail-head{color:#fff;background:linear-gradient(105deg,#0b294a,#0d4c87);border-radius:10px;justify-content:space-between;align-items:center;padding:24px 27px;display:flex}.job-detail-head h2,.job-detail-head p{margin:0}.job-detail-head h2{font-size:27px}.job-detail-head p:last-child{color:#c4d6e8;margin-top:6px}.job-cost-kpis,.schedule-summary{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.job-cost-kpis>div,.schedule-summary>div{border-right:1px solid var(--line);padding:18px 20px}.job-cost-kpis>div:last-child,.schedule-summary>div:last-child{border:0}.job-cost-kpis span,.job-cost-kpis small,.schedule-summary span,.schedule-summary small{color:#748398;display:block}.job-cost-kpis span,.schedule-summary span{font-size:10px}.job-cost-kpis strong,.schedule-summary strong{margin:5px 0;font-size:23px;display:block}.job-cost-kpis small,.schedule-summary small{font-size:9px}.job-cost-table .panel-head select{border:1px solid var(--line);background:#fff;border-radius:6px;height:38px;padding:0 12px}.job-cost-table tfoot td{background:#edf3f8;border-top:2px solid #c9d8e5}.cost-used{align-items:center;gap:8px;display:flex}.cost-used .mini-progress{width:65px}.cost-used span{color:#718096;font-size:9px}.job-cost-bottom{grid-template-columns:1fr;gap:18px;display:grid}.cost-activity p{border-bottom:1px solid var(--line);grid-template-columns:55px 1fr auto;gap:10px;margin:0;padding:14px 20px;font-size:11px;display:grid}.cost-activity span{color:#7b899a}.job-cost-table table{min-width:1030px}.job-profit-kpis{background:linear-gradient(110deg,#f1f7fd,#fff);border:1px solid #ccdae8;border-radius:10px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.job-profit-kpis>div{border-right:1px solid #d9e4ee;padding:18px 22px}.job-profit-kpis>div:last-child{border:0}.job-profit-kpis span,.job-profit-kpis small{color:#6f8093;display:block}.job-profit-kpis span{font-size:10px;font-weight:700}.job-profit-kpis strong{margin:5px 0;font-size:25px;display:block}.job-profit-kpis small{font-size:9px}.schedule-toolbar label{color:#6c7c90;font-size:10px}.schedule-toolbar label select{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:300px;height:42px;margin-top:5px;padding:0 12px;display:block}.schedule-controls{justify-content:flex-start}.schedule-controls>select{background:#fff;border:1px solid #cfd9e4;border-radius:7px;height:44px;padding:0 30px 0 12px}.schedule-controls .outline{margin-left:auto}.schedule-board{scrollbar-gutter:stable;max-width:100%;overflow:auto}.schedule-grid{grid-template-columns:220px repeat(var(--timeline-days),34px);width:max-content;min-width:100%;display:grid}.schedule-days{z-index:7;border-bottom:1px solid var(--line);background:#f4f7fa;position:sticky;top:0}.schedule-days>div{z-index:9;color:#566a81;text-transform:uppercase;background:#f4f7fa;border-right:1px solid #d9e3ec;padding:13px 12px;font-size:9px;font-weight:800;position:sticky;left:0}.schedule-days>span{color:#53677e;border-right:1px solid #e3e9ef;grid-template-rows:12px 17px 11px;place-items:center;height:50px;padding:4px 0 2px;font-size:10px;display:grid}.schedule-days>span b{color:#8795a5;font-size:8px}.schedule-days>span small{color:#1266e8;font-size:8px;font-weight:800}.schedule-days>span.weekend{background:#eaf0f6}.schedule-row{background:repeating-linear-gradient(90deg,#0000 0 33px,#eef2f6 33px 34px) 220px 0;border-bottom:1px solid #e8edf2;min-height:59px;position:relative}.schedule-row>div:first-child{z-index:5;border-right:1px solid var(--line);background:#fff;grid-column:1;padding:12px 14px;position:sticky;left:0}.schedule-row strong,.schedule-row small{display:block}.schedule-row strong{font-size:11px}.schedule-row small{color:#7b8999;margin-top:4px;font-size:9px}.schedule-track{z-index:2;align-self:center;padding:0 2px}.schedule-bar{color:#174f89;touch-action:none;cursor:grab;background:#dbe9fb;border:0;border-radius:5px;width:100%;height:31px;font-size:9px;font-weight:750;position:relative;overflow:visible}.schedule-bar:active{cursor:grabbing}.schedule-bar i{pointer-events:none;background:#77aef0;border-radius:5px 0 0 5px;position:absolute;inset:0 auto 0 0}.schedule-bar>span:not(.stage-hover-card){z-index:1;pointer-events:none;position:relative}.schedule-bar.complete{color:#126c49;background:#dff2e8}.schedule-bar.complete i{background:#79c9a5}.schedule-bar.in-progress{color:#135ebc;background:#e4efff}.schedule-bar.upcoming{color:#64748b;background:#edf1f5}.task-status{border-radius:12px;padding:5px 8px;font-size:9px;font-weight:700;display:inline-block}.task-status.complete{color:#117c52;background:#e2f4eb}.task-status.in-progress{color:#1266e8;background:#e6f0ff}.task-status.upcoming{color:#68778a;background:#edf1f5}.gantt-handle{z-index:4;opacity:0;cursor:ew-resize;background:#fff;border:1px solid #8aa8c7;border-radius:3px;width:9px;transition:opacity .15s;position:absolute;top:3px;bottom:3px}.gantt-handle.start{left:3px}.gantt-handle.end{right:3px}.schedule-bar:hover .gantt-handle,.schedule-bar:focus-visible .gantt-handle,.gantt-dragging .gantt-handle{opacity:1}.gantt-help{border-bottom:1px solid var(--line);color:#627287;background:#f8fafc;align-items:center;gap:18px;padding:10px 14px;font-size:9px;font-weight:650;display:flex}.gantt-help span:before{content:"↔";color:var(--blue);margin-right:6px;font-size:12px;display:inline-block}.gantt-dragging,.gantt-dragging *{-webkit-user-select:none!important;user-select:none!important}.schedule-bar:hover,.schedule-bar:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--blue);outline:0}.schedule-bar.selected{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--blue)}.schedule-track:hover,.schedule-track:focus-within{z-index:20}.stage-hover-card{z-index:30;color:#fff;text-align:left;pointer-events:none;background:#0b2849;border-radius:8px;width:230px;padding:13px 14px;display:none;position:absolute;bottom:42px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #00172d4d}.schedule-bar:hover .stage-hover-card,.schedule-bar:focus-visible .stage-hover-card{display:block}.stage-hover-card:after{content:"";background:#0b2849;width:12px;height:12px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.stage-hover-card strong{color:#fff;font-size:11px}.stage-hover-card small{color:#bcd0e3;margin:3px 0 9px}.stage-hover-card em{border-top:1px solid #ffffff1f;justify-content:space-between;gap:12px;padding-top:6px;font-size:9px;font-style:normal;display:flex}.stage-hover-card em b{font-size:10px}.stage-hover-card em.positive{color:#7de0ae}.stage-hover-card em.negative{color:#ff9f9f}.stage-cashflow-popover{border-bottom:1px solid var(--line);background:linear-gradient(110deg,#f4f8fc,#fff);justify-content:space-between;align-items:center;gap:22px;padding:16px 54px 16px 18px;display:flex;position:relative}.stage-cashflow-popover h3,.stage-cashflow-popover p{margin:0}.stage-cashflow-popover h3{margin:3px 0;font-size:16px}.stage-cashflow-popover small{color:#748398}.stage-cashflow-popover dl{grid-template-columns:repeat(3,minmax(115px,1fr));gap:8px;margin:0;display:grid}.stage-cashflow-popover dl>div{background:#fff;border:1px solid #dce5ed;border-radius:7px;padding:10px 13px}.stage-cashflow-popover dt{color:#748398;font-size:9px}.stage-cashflow-popover dd{margin:4px 0 0;font-size:15px;font-weight:800}.stage-cashflow-popover .positive-net{color:#117451;background:#eaf8f1;border-color:#b9e3cf}.stage-cashflow-popover .negative-net{color:#b43f3f;background:#fff0f0;border-color:#ecc6c6}.stage-cashflow-popover>button{color:#526579;background:#e8eef4;border:0;border-radius:50%;width:28px;height:28px;font-size:18px;position:absolute;top:16px;right:16px}.schedule-cashflow-impact{overflow:hidden}.cashflow-impact-head{border-bottom:1px solid var(--line);background:linear-gradient(110deg,#f2f7fc,#fff);justify-content:space-between;align-items:flex-start;gap:24px;padding:20px 22px;display:flex}.cashflow-impact-head h2,.cashflow-impact-head p{margin:0}.cashflow-impact-head h2{margin:3px 0 6px;font-size:20px}.cashflow-impact-head>div:first-child>p:last-child{color:#68798d;max-width:740px;font-size:10px;line-height:1.55}.cashflow-scope{background:#fff;border:1px solid #cbd8e4;border-radius:8px;padding:3px;display:flex}.cashflow-scope button{color:#607287;background:0 0;border:0;border-radius:5px;height:34px;padding:0 13px;font-size:10px;font-weight:750}.cashflow-scope button.active{background:var(--navy);color:#fff}.cashflow-impact-kpis{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.cashflow-impact-kpis>div{border-right:1px solid var(--line);padding:16px 18px}.cashflow-impact-kpis>div:last-child{border:0}.cashflow-impact-kpis span,.cashflow-impact-kpis small{color:#748398;font-size:9px;display:block}.cashflow-impact-kpis strong{margin:5px 0;font-size:21px;display:block}.cashflow-impact-table table{min-width:840px}.cashflow-impact-table th,.cashflow-impact-table td{text-align:right}.cashflow-impact-table th:first-child,.cashflow-impact-table td:first-child{text-align:left}.cashflow-risk-list{border-top:1px solid var(--line);background:#fff8e8;grid-template-columns:210px repeat(5,minmax(150px,1fr));gap:0;display:grid}.cashflow-risk-list>strong,.cashflow-risk-list>span{border-right:1px solid #eadab3;padding:13px 15px}.cashflow-risk-list>strong{color:#765913;align-items:center;display:flex}.cashflow-risk-list b,.cashflow-risk-list small,.cashflow-risk-list em{display:block}.cashflow-risk-list b{font-size:10px}.cashflow-risk-list small{color:#7d6e4b;margin:3px 0;font-size:8px}.cashflow-risk-list em{color:#b36a00;font-size:8px;font-style:normal;font-weight:700}.tracking-head label{color:#718096;font-size:11px}.tracking-head select{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:310px;margin-top:5px;padding:10px;display:block}.tracking-kpis .kpi{min-height:125px;padding:18px}.tracking-kpis .kpi strong{font-size:25px}.cost-table .mini-progress{width:80px;height:6px}.cost-table tbody tr:hover,.full-table tbody tr:hover{background:#f7faff}.library-banner{justify-content:flex-start;gap:65px;padding:25px 30px}.library-banner>div:first-child{max-width:560px;margin-right:auto}.library-banner h2{margin:3px 0;font-size:24px}.library-banner p:last-child{color:#c8d8e8;margin:5px 0 0}.library-banner strong,.library-banner small{display:block}.library-banner strong{font-size:28px}.library-banner small{color:#b9ccdf}.library-tools{gap:10px;display:flex}.search{border:1px solid var(--line);background:#fff;border-radius:7px;flex:1;align-items:center;gap:8px;height:44px;padding:0 13px;font-size:20px;display:flex}.search input{border:0;outline:0;width:100%;font-size:13px}.library-tools select{border:1px solid var(--line);background:#fff;border-radius:7px;padding:0 35px 0 12px}.empty{text-align:center;color:#718096;padding:40px}.rate-notice{color:#72551c;background:#fff8e8;border:1px solid #f0d28e;border-radius:8px;align-items:center;gap:12px;padding:12px 15px;display:flex}.rate-notice>span{font-size:20px}.rate-notice p{margin:0;font-size:10px;line-height:1.5}.rate-notice strong{font-size:11px;display:block}.report-hero{min-height:140px}.report-hero h2{max-width:600px;margin:4px 0;font-size:27px}.report-stat{border-left:1px solid #ffffff30;padding-left:30px}.report-stat span,.report-stat small{color:#c8d6e5;display:block}.report-stat strong{margin:5px 0;font-size:34px;display:block}.reports-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.report-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:22px}.report-card>span{background:var(--blue-light);width:42px;height:42px;color:var(--blue);border-radius:9px;place-items:center;font-size:21px;display:grid}.report-card h3{margin:17px 0 7px}.report-card p{color:#6b7b90;min-height:66px;line-height:1.6}.report-card button{color:var(--blue);background:0 0;border:0;padding:8px 0;font-weight:700}.report-toolbar{justify-content:space-between;align-items:center;display:flex}.report-toolbar>div{gap:9px;display:flex}.report-toolbar select{color:#405168;background:#fff;border:1px solid #cfd9e4;border-radius:7px;height:44px;padding:0 32px 0 12px}.report-detail-head{color:#fff;background:linear-gradient(105deg,#0b294a,#0d4c87);border-radius:10px;justify-content:space-between;align-items:center;padding:24px 27px;display:flex}.report-detail-head h2,.report-detail-head p{margin:0}.report-detail-head h2{font-size:27px}.report-detail-head p:last-child{color:#c3d5e7;margin-top:6px}.report-detail-head>span{background:#ffffff17;border:1px solid #ffffff24;border-radius:20px;padding:8px 12px;font-size:10px}.report-metrics{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.report-metrics>div{border-right:1px solid var(--line);padding:19px 21px}.report-metrics>div:last-child{border:0}.report-metrics span,.report-metrics small{color:#738297;display:block}.report-metrics span{font-size:11px}.report-metrics strong{margin:5px 0;font-size:25px;display:block}.report-metrics small{font-size:9px}.report-live-grid{grid-template-columns:2fr 1fr;gap:18px;display:grid}.report-bars{gap:16px;padding:18px 22px;display:grid}.report-bars>div{color:#5d6e82;grid-template-columns:145px 1fr 38px;align-items:center;gap:12px;font-size:10px;display:grid}.report-bars i{background:#e8eef4;border-radius:8px;height:9px;overflow:hidden}.report-bars b{background:linear-gradient(90deg,#1266e8,#54a0ff);border-radius:8px;height:100%;display:block}.report-bars strong{text-align:right;font-size:10px}.report-insight{background:linear-gradient(145deg,#fff,#eff6ff);padding:23px}.report-insight h3{margin:7px 0 10px;font-size:20px}.report-insight>p:last-of-type{color:#627287;margin-bottom:22px;line-height:1.65}.report-results td,.report-results th{padding:14px 18px}.wip-summary{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:1fr 1fr 1.2fr;display:grid;overflow:hidden}.wip-summary>div{border-right:1px solid var(--line);padding:20px 22px}.wip-summary>div:last-child{border:0}.wip-summary span,.wip-summary small{display:block}.wip-summary span{color:#718095;font-size:11px;font-weight:700}.wip-summary strong{color:var(--navy);margin:6px 0;font-size:27px;display:block}.wip-summary small{color:#7a899b;font-size:9px}.wip-summary .profit{background:#eaf8f2}.wip-summary .profit strong{color:var(--green)}.wip-results .table-wrap{overflow-x:auto}.wip-results table{min-width:1280px}.wip-results th,.wip-results td{white-space:nowrap}.wip-results th:nth-child(n+2),.wip-results td:nth-child(n+2){text-align:right}.wip-total-row td{color:#173d63;background:#eef4fa;border-top:2px solid #b9cce0;font-weight:800}.conversion-snapshot .report-bars>div{grid-template-columns:145px 1fr 76px}.conversion-snapshot .report-bars strong b{color:var(--navy);background:0 0;height:auto;font-size:13px;display:block}.conversion-snapshot .report-bars strong small{color:#738297;margin-top:2px;font-size:9px;display:block}.xero-sync{background:#fff;border:1px solid #b7dbea;border-radius:10px;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.xero-sync>div{align-items:center;gap:13px;display:flex}.xero-sync h3,.xero-sync p{margin:0}.xero-sync h3{font-size:14px}.xero-sync p{color:#68788b;margin-top:4px;font-size:10px}.xero-mark{color:#fff;background:#13b5ea;border-radius:50%;place-items:center;width:48px;height:48px;font-size:10px;font-weight:850;display:grid}.xero-sync.connected{background:#effaf6;border-color:#9bd8bd}.xero-sync.connected .xero-mark{background:#119b63}.table-link{color:var(--blue);background:0 0;border:0;padding:0;font-weight:700}.clickable-row{cursor:pointer}.visually-hidden{clip:rect(0 0 0 0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.stage-form{grid-template-columns:repeat(3,1fr);gap:14px;padding:20px;display:grid}.stage-form>div:first-child{grid-column:1/-1}.stage-form h3{margin:3px 0}.stage-form label{color:#627287;font-size:10px;font-weight:700}.stage-form input{border:1px solid #ccd7e2;border-radius:6px;width:100%;height:40px;margin-top:5px;padding:0 10px;display:block}.stage-form-actions{grid-column:1/-1;justify-content:flex-end;gap:9px;display:flex}.schedule-list select{background:#fff;border:1px solid #cbd6e0;border-radius:5px;height:34px}.danger-link{color:#bd3d3d}.schedule-list table{min-width:1180px}.schedule-list td input{background:#fff;border:1px solid #cbd6e0;border-radius:5px;height:34px;padding:0 7px}.schedule-list td input:not([type=number]){width:170px}.schedule-list td input[type=number]{width:105px}.signed-input{align-items:center;gap:4px;font-weight:800;display:flex}.signed-input span{min-width:19px}.signed-input input{color:#334155!important}.job-cost-table .clickable-row:hover td,.job-cost-table .clickable-row:focus td{background:#f0f6ff}.job-cost-table .clickable-row:focus{outline:2px solid var(--blue);outline-offset:-2px}.cost-centre-link{text-align:left;color:inherit;background:0 0;border:0;padding:0}.cost-centre-link strong,.cost-centre-link small{display:block}.cost-centre-link small{color:var(--blue)!important;margin-top:4px!important}.centre-breakdown{border-top:4px solid var(--blue)}.centre-breakdown table{min-width:1050px}.centre-breakdown td:nth-child(n+4),.centre-breakdown th:nth-child(n+4){text-align:right}.centre-kpis{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7f9fb;grid-template-columns:repeat(4,1fr);display:grid}.centre-kpis>div{border-right:1px solid var(--line);padding:16px 20px}.centre-kpis span,.centre-kpis strong{display:block}.centre-kpis span{color:#738297;font-size:10px}.centre-kpis strong{margin-top:4px;font-size:20px}.job-cost-table .clickable-row.expanded td{background:#eaf3ff;border-bottom-color:#c8dced}.expand-chevron{width:20px;height:20px;color:var(--blue);vertical-align:middle;background:#d9e9fb;border-radius:50%;place-items:center;margin-right:8px;font-size:16px;display:inline-grid}.inline-centre-detail>td{border-bottom:2px solid #c8dced;background:#f7faff!important;padding:0!important}.inline-centre-kpis{border-bottom:1px solid #dce7f2;grid-template-columns:repeat(4,1fr);display:grid}.inline-centre-kpis>div{border-right:1px solid #dce7f2;padding:14px 18px}.inline-centre-kpis span,.inline-centre-kpis strong{display:block}.inline-centre-kpis span{color:#718197;font-size:9px}.inline-centre-kpis strong{margin-top:4px;font-size:17px}.inline-lines{padding:12px 16px 16px;overflow:auto}.inline-lines table{background:#fff;border:1px solid #dde6ef;min-width:900px}.inline-lines th{background:#eef4fa}.inline-lines td:nth-child(n+4),.inline-lines th:nth-child(n+4){text-align:right}.stage-complete{color:#52657a;white-space:nowrap;background:#fff;border:1px solid #b9c7d5;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:700}.stage-complete:hover{border-color:var(--blue);color:var(--blue)}.stage-complete.complete{color:#167447;background:#e9f8f0;border-color:#9cd7b8}.excluded-spend{color:#167447;white-space:nowrap;background:#e9f8f0;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:700;display:inline-block}.stage-actions{align-items:center;gap:8px;display:flex}.inline-centre-kpis small{color:#718197;margin-top:4px;font-size:9px;display:block}.editable-job-lines input:disabled{color:#7d8996;cursor:not-allowed;background:#eef3f6}.inline-lines-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;display:flex}.inline-lines-head h3,.inline-lines-head p{margin:0}.inline-lines-head h3{font-size:15px}.inline-lines-head p{color:#718197;margin-top:3px;font-size:10px}.editable-job-lines{min-width:1700px!important}.editable-job-lines td{padding:7px 6px}.editable-job-lines input,.editable-job-lines select{width:100%;min-width:82px;height:34px;font:inherit;color:var(--navy);background:#fff;border:1px solid #d4dee8;border-radius:5px;padding:0 8px}.editable-job-lines td:first-child input{min-width:230px}.editable-job-lines td:nth-child(2) select{min-width:125px}.editable-job-lines td:nth-child(3) input{min-width:145px}.editable-job-lines td:nth-child(4) input{min-width:95px}.editable-job-lines .actual-input{background:#f1fbf6;border-color:#69b08b;font-weight:700}.editable-job-lines input:focus,.editable-job-lines select:focus{outline-offset:1px;outline:2px solid #79aee7}.remove-line{color:#b53a3a;cursor:pointer;background:#fdeaea;border:0;border-radius:50%;width:28px;height:28px;font-size:18px}.job-tabs{border-bottom:1px solid var(--line);gap:5px;display:flex}.job-tabs button{color:#68798d;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 18px;font-weight:750}.job-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.job-data-shell{gap:16px;display:grid}.job-data-intro{background:linear-gradient(115deg,#eef5fc,#fff);border:1px solid #d6e3ef;border-radius:10px;justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.job-data-intro h2,.job-data-intro p{margin:0}.job-data-intro h2{margin:3px 0 5px;font-size:22px}.job-data-intro p:last-child{color:#68798d}.job-data-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.job-data-card{padding:20px}.job-data-card h3{margin:0 0 17px;font-size:16px}.job-data-card.wide-card{grid-column:1/-1}.job-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.job-form-grid label{color:#5b6c80;font-size:10px;font-weight:700}.job-form-grid label.wide{grid-column:1/-1}.job-form-grid input,.job-form-grid select,.job-data-card textarea{color:#253950;background:#fff;border:1px solid #cbd7e2;border-radius:6px;width:100%;margin-top:6px;padding:0 10px;display:block}.job-form-grid input,.job-form-grid select{height:40px}.job-form-grid input.auto-populated{color:#16395d;background:#f3f7fb;border-color:#d2dee9;font-weight:700}.job-form-grid label small{color:#8090a2;margin-top:4px;font-size:9px;font-weight:500;display:block}.job-data-card textarea{resize:vertical;padding:11px}.data-link-note{color:#536f8e;background:#eef6ff;border-radius:6px;margin:14px 0 0;padding:10px 12px;font-size:10px;line-height:1.5}.job-data-actions{justify-content:flex-end;gap:9px;margin-top:14px;display:flex}.fixed-report-period{border:1px solid var(--line);color:#41556d;background:#fff;border-radius:6px;align-items:center;height:38px;padding:0 13px;font-size:11px;font-weight:700;display:inline-flex}.estimate-tabs{border-bottom:1px solid #ccd7e1;align-items:center;gap:4px;display:flex}.estimate-tabs button{color:#65758a;background:0 0;border:0;border-bottom:3px solid #0000;padding:13px 18px;font-weight:700}.estimate-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.estimate-tabs span{color:#718095;background:#e9eef4;border-radius:5px;margin-left:auto;padding:6px 9px;font-size:10px}.estimate-tabs button.needs-attention{color:#8b5a00;background:#fff4d8;border:1px solid #e4bd5d;border-bottom:3px solid #d58b00;border-radius:7px 7px 0 0;animation:1.8s ease-in-out infinite claimAttention}.estimate-tabs button.needs-attention span{color:#fff;background:#d58b00;margin-left:8px;padding:3px 7px;font-size:8px;display:inline-block}.claim-stage-missing td{background:#fff8e8}.claim-stage-missing select{background:#fffdf7!important;border-color:#d58b00!important}@keyframes claimAttention{50%{box-shadow:0 0 0 4px #d58b001f}}.calculator-shell{gap:16px;display:grid}.calculator-head{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:flex-end;padding:20px;display:flex}.calculator-head h2{margin:3px 0;font-size:21px}.calculator-head p:last-child{color:#6b7b8f;margin:0}.calculator-head>div:last-child{gap:9px;display:flex}.calc-summary{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.calc-summary>div{border-right:1px solid var(--line);padding:17px 20px;position:relative}.calc-summary>div:last-child{border:0}.calc-summary span,.calc-summary small{color:#738297;font-size:10px;display:block}.calc-summary strong{margin:4px 0;font-size:23px;display:block}.calc-summary label{color:#6a7a8e;font-size:10px;position:absolute;top:14px;right:13px}.calc-summary input{border:1px solid #cbd6e0;border-radius:4px;width:42px;height:27px;padding:0 5px}.calc-summary .calc-price{color:#fff;background:linear-gradient(120deg,#0b2b4c,#0e4f8c)}.calc-price span,.calc-price small{color:#c5d7e9}.calc-price strong{font-size:27px}.calculator-tools{align-items:center;gap:10px;display:flex}.calculator-tools>select{background:#fff;border:1px solid #cbd6e0;border-radius:6px;height:41px;padding:0 32px 0 10px}.calculator-tools .secondary{margin-left:auto}.calc-legend{gap:7px;display:flex}.calc-legend span{color:#35659a;background:#eaf2ff;border-radius:12px;padding:6px 8px;font-size:9px}.calculator-table-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:auto}.calculator-table{min-width:1040px}.calculator-table th{background:#f4f7fa;padding:10px 8px}.calculator-table td{padding:7px 6px}.calculator-table input,.calculator-table select{color:#35475d;background:0 0;border:1px solid #0000;border-radius:4px;width:100%;height:34px;padding:0 6px;font-size:11px}.calculator-table input:hover,.calculator-table input:focus,.calculator-table select:hover,.calculator-table select:focus{background:#fff;border-color:#b9cbe0}.calculator-table td:first-child{width:150px}.calculator-table td:nth-child(2){width:210px}.calculator-table td:nth-child(3){width:125px}.calculator-table td:nth-child(4),.calculator-table td:nth-child(5),.calculator-table td:nth-child(7){width:70px}.calculator-table td:nth-child(6){width:105px}.calculator-table td:nth-child(8){text-align:right;width:100px}.calculator-table td:last-child{width:35px}.calculator-table td:last-child button{color:#8b98a8;background:#f4f6f8;border:0;border-radius:4px;width:25px;height:25px}.category-rollup{background:#dce5ed;border:1px solid #dce5ed;border-radius:10px;grid-template-columns:1.5fr repeat(5,1fr);gap:1px;display:grid;overflow:hidden}.category-rollup>div,.category-rollup>span{background:#fff;padding:15px}.category-rollup h3,.category-rollup p{margin:0}.category-rollup h3{font-size:14px}.category-rollup p{color:#76869a;margin-top:3px;font-size:10px}.category-rollup span b,.category-rollup span strong{display:block}.category-rollup span b{color:#728196;min-height:24px;font-size:9px}.category-rollup span strong{margin-top:5px;font-size:13px}.calculator-table .calc-category-row td{color:#173d63;background:#eaf1f8;border-top:2px solid #c8d8e7;padding:10px 12px}.calculator-table .calc-category-row td:first-child div{align-items:center;gap:10px;display:flex}.calculator-table .calc-category-row span{color:#6a7d91;font-size:10px;font-weight:400}.calculator-table .calc-category-row button{color:#245681;background:#fff;border:1px solid #b9cde0;border-radius:5px;margin-left:auto;padding:5px 9px;font-size:10px}.calculator-table .calc-category-row td:nth-last-child(2){text-align:right}.category-rollup{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.estimate-detail{gap:16px;display:grid}.detail-toolbar{justify-content:space-between;align-items:center;display:flex}.detail-toolbar>div{align-items:center;gap:9px;display:flex}.back-link{color:#53657a;background:0 0;border:0;padding:8px 0;font-weight:650}.estimate-workspace{grid-template-columns:245px minmax(650px,850px);justify-content:center;align-items:start;gap:20px;display:grid}.estimate-overview{gap:12px;display:grid;position:sticky;top:20px}.overview-card{border:1px solid var(--line);background:#fff;border-radius:9px;padding:18px}.overview-card h3{margin:4px 0 15px;font-size:22px}.overview-card dl{margin:0}.overview-card dl>div{border-bottom:1px solid #edf1f5;justify-content:space-between;align-items:center;padding:9px 0;display:flex}.overview-card dt{color:#738297;font-size:11px}.overview-card dd{margin:0;font-size:11px;font-weight:650}.private-note{color:#607086;background:#f2f6fa;border-radius:6px;margin:13px 0 0;padding:9px;font-size:10px;line-height:1.5}.overview-action{color:#33475f;text-align:left;background:#fff;border:1px solid #ced9e4;border-radius:7px;height:42px;padding:0 14px;font-weight:650}.estimate-document{color:#1d2a39;background:#fff;border:1px solid #dce3e9;min-height:1050px;padding:50px 54px 36px;box-shadow:0 4px 24px #10283e16}.document-header{border-bottom:4px solid var(--navy);justify-content:space-between;align-items:flex-start;padding-bottom:25px;display:flex}.document-brand{align-items:center;gap:12px;display:flex}.document-mark{background:var(--navy);color:#fff;place-items:center;width:44px;height:44px;font-size:27px;display:grid}.document-brand strong{letter-spacing:.05em;font-size:15px;line-height:1.15;display:block}.document-brand small{letter-spacing:.19em;color:#657589;margin-top:4px;font-size:7px;display:block}.document-title{text-align:right}.document-title span{color:#8290a0;letter-spacing:.18em;font-size:10px;font-weight:700;display:block}.document-title strong{color:var(--navy);font-size:25px}.document-intro{grid-template-columns:1.15fr 1.25fr 1fr;gap:25px;padding:27px 0;display:grid}.document-label{letter-spacing:.13em;font-weight:800;color:#778699!important;margin:0 0 8px!important;font-size:8px!important}.document-intro h2{margin:0 0 6px;font-size:16px}.document-intro p{color:#586779;margin:0;font-size:9px;line-height:1.7}.document-message{border-left:3px solid var(--blue);background:#edf4fc;margin-bottom:22px;padding:14px 17px}.document-message strong{font-size:11px}.document-message p{color:#5d6c7d;margin:4px 0 0;font-size:9px;line-height:1.5}.estimate-lines{white-space:normal}.estimate-lines th{background:var(--navy);color:#fff;padding:10px 12px;font-size:8px}.estimate-lines th:last-child,.estimate-lines td:last-child{text-align:right}.estimate-lines td{vertical-align:top;padding:10px 12px;font-size:9px}.estimate-lines td:first-child{color:#778699;width:44px}.estimate-lines td:last-child{width:115px;font-weight:700}.estimate-lines td strong{font-size:9px}.estimate-lines td small{white-space:normal;margin-top:3px;font-size:8px;line-height:1.45}.allowances{background:#f6f8fa;border:1px solid #e3e8ed;justify-content:space-between;align-items:center;margin-top:18px;padding:14px;display:flex}.allowances p{color:#5f6e7e;margin:0;font-size:8px;line-height:1.6}.allowances span{color:var(--green);white-space:nowrap;margin-left:20px;font-size:8px;font-weight:700}.document-bottom{grid-template-columns:1.2fr 1fr;gap:35px;margin-top:25px;display:grid}.terms ul{color:#59697b;margin:0;padding-left:15px;font-size:8px;line-height:1.9}.document-totals>div{border-bottom:1px solid #e1e7ec;justify-content:space-between;padding:8px 3px;font-size:10px;display:flex}.document-totals .grand-total{background:var(--navy);color:#fff;align-items:center;margin-top:5px;padding:13px 12px}.grand-total strong{font-size:18px}.document-footer{color:#687789;border-top:1px solid #ccd5de;justify-content:space-between;margin-top:30px;padding-top:15px;font-size:7px;display:flex}.document-footer div{flex-direction:column;gap:3px;display:flex}.document-footer div:last-child{text-align:right}.notification-menu{z-index:60;border:1px solid var(--line);background:#fff;border-radius:10px;width:320px;position:absolute;top:78px;right:165px;overflow:hidden;box-shadow:0 15px 40px #0b29452c}.notification-menu>div{border-bottom:1px solid var(--line);justify-content:space-between;padding:15px 17px;display:flex}.notification-menu>div button{background:0 0;border:0;font-size:19px}.notification-menu p{border-bottom:1px solid #edf1f5;margin:0;padding:13px 15px 13px 51px;position:relative}.notification-menu p>span{border-radius:50%;place-items:center;width:25px;height:25px;font-weight:800;display:grid;position:absolute;top:14px;left:15px}.notification-menu p b,.notification-menu p small{display:block}.notification-menu p small{color:#7a899b;margin-top:3px}.warning-dot{color:#b97000;background:#fff0d5}.blue-dot{color:var(--blue);background:#e8f2ff}.green-dot{color:var(--green);background:#e4f5ed}.guide-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:110;background:#06182fb5;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.feature-guide{background:#f7f9fb;border-radius:14px;width:min(820px,100%);max-height:94vh;overflow:auto;box-shadow:0 25px 90px #00132766}.guide-head{color:#fff;background:linear-gradient(110deg,#092743,#0c4d8b);justify-content:space-between;padding:25px 28px;display:flex}.guide-head h2{margin:4px 0 6px;font-size:25px}.guide-head p:last-child{color:#bfd1e3;margin:0}.guide-head button{color:#fff;background:#ffffff10;border:1px solid #ffffff38;border-radius:50%;width:36px;height:36px;font-size:22px}.guide-progress{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:13px 28px;display:flex}.guide-progress i{background:linear-gradient(90deg,var(--blue),#55a1ff);border-radius:10px;width:115px;height:7px}.guide-progress span{color:#627287;font-size:11px;font-weight:650}.guide-list{grid-template-columns:1fr 1fr;gap:10px;padding:15px 22px;display:grid}.guide-list article{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:14px;display:grid}.guide-list article>span{background:var(--blue-light);width:34px;height:34px;color:var(--blue);border-radius:8px;place-items:center;font-size:11px;font-weight:800;display:grid}.guide-list h3,.guide-list p{margin:0}.guide-list h3{font-size:13px}.guide-list p{color:#718095;margin-top:3px;font-size:10px;line-height:1.45}.guide-list button{color:var(--blue);white-space:nowrap;background:0 0;border:0;font-size:10px;font-weight:750}.guide-foot{border-top:1px solid var(--line);color:#6c7b8e;background:#fff;justify-content:space-between;align-items:center;padding:15px 22px;font-size:11px;display:flex}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#07192eaa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:min(760px,100%);overflow:hidden;box-shadow:0 25px 80px #00112466}.small-modal{width:min(570px,100%)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 25px;display:flex}.modal-head h2{margin:0;font-size:22px}.modal-head button{color:#738397;background:0 0;border:0;font-size:28px}.stepper{background:#f7f9fb;align-items:center;padding:16px 25px;display:flex}.stepper span{color:#64748b;background:#dfe7ef;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.stepper span.done{background:var(--blue);color:#fff}.stepper b{margin-left:7px;font-size:11px}.stepper i{background:#d7e0e9;flex:1;height:1px;margin:0 12px}.form-grid{grid-template-columns:1fr 1fr;gap:16px;padding:23px 25px;display:grid}.form-grid label,.range-label{color:#56667a;font-size:11px;font-weight:650}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select{color:#1f3045;background:#fff;border:1px solid #ccd7e2;border-radius:6px;width:100%;height:42px;margin-top:6px;padding:0 11px;display:block}.estimate-summary{background:#f3f7fb;border-radius:8px;grid-template-columns:1.2fr .8fr 1fr 1.25fr;margin:0 25px;display:grid}.estimate-summary>div,.estimate-summary>label{border-right:1px solid #dce5ed;padding:15px}.estimate-summary small,.estimate-summary strong{display:block}.estimate-summary strong{margin-top:5px;font-size:17px}.estimate-summary label{color:#617187;font-size:10px}.estimate-summary input{border:1px solid #cbd6e1;border-radius:5px;width:55px;height:30px;margin-top:5px;padding-left:8px}.estimate-summary label span{margin-left:4px}.estimate-summary .direct-cost-input .currency-input{align-items:center;gap:6px;margin:5px 0 0;display:flex}.estimate-summary .direct-cost-input .currency-input b{color:#25384d;font-size:16px}.estimate-summary .direct-cost-input .currency-input input{color:#1f3045;width:100%;min-width:0;margin:0;padding:0 8px;font-size:16px;font-weight:700}.estimate-summary .total{background:#e8f2ff}.estimate-summary .total strong{color:var(--blue)}.direct-cost-help{color:#66778b;margin:13px 25px 18px;font-size:11px}.range-label{margin:19px 25px;display:block}.range-label b{float:right}.range-label input{width:100%;accent-color:var(--blue);margin-top:9px;display:block}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:17px 25px;display:flex}.toast{color:#fff;z-index:200;background:#0c2a4a;border-radius:8px;padding:14px 18px;animation:.2s ease-out slideIn;position:fixed;bottom:24px;right:24px;box-shadow:0 12px 30px #00172d42}@keyframes slideIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media (max-width:1100px){.kpi-grid,.tracking-kpis{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.jobs-grid{grid-template-columns:1fr}.reports-grid{grid-template-columns:repeat(2,1fr)}.estimate-workspace{grid-template-columns:1fr}.estimate-overview{grid-template-columns:1fr 1fr;position:static}.overview-action{display:none}.calc-summary{grid-template-columns:1fr 1fr}.category-rollup{grid-template-columns:1fr 1fr 1fr}.report-live-grid,.job-cost-bottom{grid-template-columns:1fr}}@media (max-width:760px){.sidebar{width:100%;height:auto;padding:15px;position:static}.sidebar nav{display:flex;overflow:auto}.nav-item{flex:none}.sidebar-bottom{display:none}.brand{padding-bottom:14px}.main{margin:0;padding:20px 15px}.topbar{align-items:flex-end}.topbar h1{font-size:23px}.icon-button{display:none}.kpi-grid,.tracking-kpis,.job-summary,.reports-grid{grid-template-columns:1fr 1fr}.dashboard-grid{display:block}.estimates-panel{margin-top:18px}.job-stacked-chart{grid-template-columns:repeat(8,58px);justify-content:start;overflow-x:auto}.current-job{grid-template-columns:minmax(130px,1fr) 90px auto}.current-job>span.health{display:none}.section-tools,.tracking-head{flex-direction:column;align-items:flex-start;gap:12px}.tabs{max-width:100%;display:flex;overflow:auto}.job-summary>div{border-bottom:1px solid var(--line)}.library-banner{flex-wrap:wrap;gap:20px}.library-tools{flex-wrap:wrap}.search{flex-basis:100%}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.estimate-summary{grid-template-columns:1fr 1fr}.reports-grid{grid-template-columns:1fr}.detail-toolbar{flex-direction:column;align-items:flex-start;gap:10px}.detail-toolbar>div{flex-wrap:wrap}.estimate-overview{grid-template-columns:1fr}.estimate-document{padding:30px 24px;overflow:auto}.document-intro{grid-template-columns:1fr 1fr}.document-intro>div:last-child{grid-column:1/-1}.document-bottom{grid-template-columns:1fr}.document-footer{gap:15px}.guide-list{grid-template-columns:1fr}.guide-foot{gap:12px}.notification-menu{top:75px;right:15px}.calculator-head{flex-direction:column;align-items:flex-start;gap:14px}.calculator-head>div:last-child{flex-wrap:wrap}.calc-summary{grid-template-columns:1fr}.calculator-tools{flex-wrap:wrap}.calculator-tools .secondary{margin-left:0}.category-rollup{grid-template-columns:1fr 1fr}.estimate-tabs span{display:none}.report-toolbar{flex-direction:column;align-items:flex-start;gap:10px}.report-toolbar>div{flex-wrap:wrap}.report-metrics{grid-template-columns:1fr 1fr}.report-detail-head{align-items:flex-start;gap:16px}.report-bars>div{grid-template-columns:105px 1fr 34px}.job-detail-toolbar,.schedule-toolbar{flex-direction:column;align-items:flex-start;gap:10px}.job-cost-kpis,.schedule-summary,.inline-centre-kpis{grid-template-columns:1fr 1fr}.job-profit-kpis{grid-template-columns:1fr}.job-profit-kpis>div{border-bottom:1px solid #d9e4ee;border-right:0}.job-detail-head{align-items:flex-start;gap:14px}.schedule-controls{flex-wrap:wrap}.schedule-controls .outline{margin-left:0}.cashflow-impact-head{flex-direction:column}.cashflow-impact-kpis{grid-template-columns:1fr 1fr}.cashflow-risk-list{grid-template-columns:1fr}.cashflow-risk-list>strong,.cashflow-risk-list>span{border-bottom:1px solid #eadab3;border-right:0}}@media (max-width:500px){.kpi-grid,.tracking-kpis,.job-summary{grid-template-columns:1fr}.top-actions .primary{padding:0 13px;font-size:0}.top-actions .primary:first-letter{font-size:20px}.kpi{min-height:110px}.reports-grid{grid-template-columns:1fr}.modal-backdrop{padding:8px}.estimate-summary{grid-template-columns:1fr}.estimate-summary>div,.estimate-summary>label{border-bottom:1px solid var(--line)}}@media (max-width:760px){.wip-summary{grid-template-columns:1fr}.wip-summary>div{border-right:0;border-bottom:1px solid var(--line)}.job-data-intro{flex-direction:column;align-items:flex-start;gap:14px}.job-data-grid,.job-form-grid{grid-template-columns:1fr}.job-data-card.wide-card,.job-form-grid label.wide{grid-column:auto}.job-data-actions{flex-direction:column;align-items:stretch}.job-tabs{overflow:auto}.job-tabs button{white-space:nowrap}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.schedule-board{scrollbar-gutter:stable both-edges;overscroll-behavior:contain;height:min(72vh,760px);min-height:520px;overflow:auto}.schedule-task-rows{min-height:max-content}.table-edit{color:var(--blue);background:#fff;border:1px solid #c7d5e2;border-radius:5px;padding:6px 10px;font-size:10px;font-weight:750}.download-action{background:var(--navy);border-color:var(--navy);color:#fff}.conversion-confirm{width:min(620px,100%)}.conversion-confirm-body{grid-template-columns:54px 1fr;gap:16px;padding:24px 26px;display:grid}.confirm-icon{width:48px;height:48px;color:var(--green);background:#e4f5ed;border-radius:50%;place-items:center;font-size:22px;font-weight:900;display:grid}.conversion-confirm-body h3{margin:1px 0 8px;font-size:18px}.conversion-confirm-body p{color:#617187;margin:0;line-height:1.6}.conversion-confirm-body dl{border:1px solid var(--line);border-radius:8px;margin:18px 0 0;overflow:hidden}.conversion-confirm-body dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:10px 12px;display:flex}.conversion-confirm-body dl div:last-child{border-bottom:0}.conversion-confirm-body dt{color:#68798d}.conversion-confirm-body dd{color:var(--navy);margin:0;font-weight:750}@media (max-width:500px){.conversion-confirm-body{grid-template-columns:1fr}.conversion-confirm .modal-actions{flex-direction:column-reverse}.conversion-confirm .modal-actions button{width:100%}}.auto-estimate-button{color:#0d5ebc;background:linear-gradient(120deg,#eaf4ff,#f6fbff);border:1px solid #8db8ec;border-radius:6px;height:38px;padding:0 14px;font-weight:800;box-shadow:0 2px 8px #1266e815}.auto-estimate-button:hover{background:#dceeff}.auto-estimate-backdrop{z-index:120}.auto-estimate-modal{background:#f7f9fb;width:min(980px,100%);max-height:94vh;overflow:auto}.auto-estimate-head{color:#fff;background:linear-gradient(110deg,#092743,#0d5598);justify-content:space-between;align-items:flex-start;padding:22px 27px;display:flex}.auto-estimate-head h2,.auto-estimate-head p{margin:0}.auto-estimate-head h2{margin:3px 0;font-size:26px}.auto-estimate-head p:last-child{color:#c5d7e8}.auto-estimate-head button{color:#fff;background:#ffffff10;border:1px solid #ffffff36;border-radius:50%;width:36px;height:36px;font-size:23px}.auto-estimate-steps{border-bottom:1px solid var(--line);background:#fff;align-items:center;padding:14px 27px;display:flex}.auto-estimate-steps>span{color:#8290a1;white-space:nowrap;align-items:center;gap:7px;font-size:10px;font-weight:750;display:flex}.auto-estimate-steps>span b{color:#64758a;background:#e4eaf0;border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.auto-estimate-steps>span.active{color:var(--blue)}.auto-estimate-steps>span.active b,.auto-estimate-steps>span.done b{background:var(--blue);color:#fff}.auto-estimate-steps>i{background:#dce4eb;flex:1;height:1px;margin:0 12px}.auto-estimate-body,.auto-estimate-review{padding:22px 25px}.auto-estimate-intro{justify-content:space-between;align-items:center;gap:25px;margin-bottom:17px;display:flex}.auto-estimate-intro h3,.auto-estimate-intro p{margin:0}.auto-estimate-intro h3{font-size:17px}.auto-estimate-intro p{color:#6c7b8f;max-width:520px;margin-top:5px;font-size:10px;line-height:1.55}.library-match-badge{color:#126f4e;background:#e9f7f0;border:1px solid #bce1cf;border-radius:8px;align-items:center;gap:10px;min-width:300px;padding:11px 13px;display:flex}.library-match-badge>span{background:#fff;border-radius:7px;place-items:center;width:32px;height:32px;display:grid}.library-match-badge strong,.library-match-badge small{display:block}.library-match-badge strong{font-size:11px}.library-match-badge small{color:#53816d;margin-top:3px;font-size:8px}.upload-source-grid{grid-template-columns:1fr 1fr;gap:11px;display:grid}.upload-source{cursor:pointer;background:#fff;border:1px dashed #b6c8d9;border-radius:9px;grid-template-columns:42px 1fr;align-items:center;gap:12px;min-height:102px;padding:16px;transition:all .16s;display:grid}.upload-source:hover{border-color:var(--blue);background:#f5f9ff}.upload-source>span{width:40px;height:40px;color:var(--blue);background:#eaf3ff;border-radius:8px;place-items:center;font-size:18px;display:grid}.upload-source strong,.upload-source small,.upload-source em{display:block}.upload-source strong{color:#19324d;font-size:12px}.upload-source small{color:#76869a;margin:3px 0 7px;font-size:9px;line-height:1.4}.upload-source em{color:var(--blue);font-size:9px;font-style:normal;font-weight:750}.uploaded-file-list{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:12px;padding:12px 14px}.uploaded-file-list>div{justify-content:space-between;margin-bottom:6px;display:flex}.uploaded-file-list>div button{color:#b14545;background:0 0;border:0;font-size:9px}.uploaded-file-list p{border-top:1px solid #edf1f5;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;margin:0;padding:6px 0;font-size:9px;display:grid}.uploaded-file-list p span{color:var(--green)}.uploaded-file-list p small{color:#7b8999}.auto-estimate-notes{grid-template-columns:1fr 1fr;gap:12px;margin-top:13px;display:grid}.auto-estimate-notes label{color:#52657a;font-size:10px;font-weight:700}.auto-estimate-notes textarea{resize:vertical;color:#273b52;width:100%;font:inherit;border:1px solid #c8d5e1;border-radius:7px;margin-top:6px;padding:10px;font-size:10px;display:block}.auto-estimate-accuracy{color:#725719;background:#fff8e8;border:1px solid #efd79c;border-radius:7px;align-items:flex-start;gap:10px;margin-top:13px;padding:11px 13px;display:flex}.auto-estimate-accuracy p{margin:0;font-size:9px;line-height:1.55}.auto-estimate-accuracy strong{font-size:10px;display:block}.auto-estimate-actions{background:#fff}.auto-analysis-state{text-align:center;padding:54px 25px 60px}.analysis-spinner{color:#fff;background:linear-gradient(135deg,#1266e8,#52a3ff);border-radius:50%;place-items:center;width:68px;height:68px;margin:auto;font-size:27px;animation:1.1s ease-in-out infinite autoPulse;display:grid}.auto-analysis-state h3{margin:17px 0 6px;font-size:21px}.auto-analysis-state>p{color:#6c7c90;margin:0}.analysis-progress{background:#e1e8ef;border-radius:8px;max-width:560px;height:8px;margin:23px auto 18px;overflow:hidden}.analysis-progress i{background:linear-gradient(90deg,#1266e8,#50a2ff);width:75%;height:100%;animation:1.4s ease-out autoProgress;display:block}.analysis-tasks{text-align:left;color:#607186;gap:7px;width:330px;max-width:100%;margin:auto;font-size:10px;display:grid}.analysis-tasks span:nth-child(-n+2){color:#16805b}.analysis-tasks span:nth-child(3){color:var(--blue);font-weight:750}.auto-review-hero{background:linear-gradient(115deg,#e9f7f0,#fff);border:1px solid #bfe1d0;border-radius:9px;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex}.auto-review-hero>div{align-items:center;gap:13px;display:flex}.auto-review-hero>div>span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.auto-review-hero h3,.auto-review-hero p{margin:0}.auto-review-hero h3{font-size:17px}.auto-review-hero p:last-child{color:#66788b;margin-top:4px;font-size:9px}.auto-review-hero>strong{text-align:right;color:var(--navy);font-size:24px}.auto-review-hero>strong small{color:#728296;margin-top:4px;font-size:8px;display:block}.auto-review-kpis{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(4,1fr);margin:13px 0;display:grid;overflow:hidden}.auto-review-kpis>div{border-right:1px solid var(--line);padding:14px 16px}.auto-review-kpis>div:last-child{border:0}.auto-review-kpis span,.auto-review-kpis small{color:#728195;font-size:8px;display:block}.auto-review-kpis strong{margin:3px 0;font-size:21px;display:block}.warning-text{color:#bd7200}.rate-match-panel,.auto-review-warnings{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:12px;padding:16px 18px}.rate-match-panel>div{justify-content:space-between;align-items:center;display:flex}.rate-match-panel h3,.rate-match-panel p,.auto-review-warnings h3{margin:0}.rate-match-panel p{color:#66778b;margin:6px 0 12px;font-size:9px;line-height:1.55}.match-confidence{color:#167754;background:#e5f5ed;border-radius:12px;padding:5px 8px;font-size:8px;font-weight:750}.rate-match-samples{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.rate-match-samples span{color:#53687f;background:#f1f6fb;border-radius:6px;padding:8px;font-size:8px}.rate-match-samples b{color:var(--blue);margin-bottom:3px;display:block}.auto-review-warnings h3{margin-bottom:7px;font-size:13px}.auto-review-warnings p{border-top:1px solid #edf1f5;grid-template-columns:22px 130px 1fr;align-items:center;gap:7px;margin:0;padding:8px 0;font-size:9px;display:grid}.auto-review-warnings p span{color:#a86a00;background:#fff0d5;border-radius:50%;place-items:center;width:19px;height:19px;font-weight:800;display:grid}.auto-review-warnings p small{color:#6f7f91}@keyframes autoPulse{50%{transform:scale(1.07);box-shadow:0 0 0 10px #1266e812}}@keyframes autoProgress{0%{width:8%}to{width:75%}}@media (max-width:760px){.auto-estimate-intro{flex-direction:column;align-items:flex-start}.library-match-badge{width:100%;min-width:0}.upload-source-grid,.auto-estimate-notes{grid-template-columns:1fr}.auto-review-kpis{grid-template-columns:1fr 1fr}.rate-match-samples{grid-template-columns:1fr}.auto-review-hero{flex-direction:column;align-items:flex-start}.auto-review-hero>strong{text-align:left}.auto-review-warnings p{grid-template-columns:22px 1fr}.auto-review-warnings p small{grid-column:2}.auto-estimate-steps>span{font-size:0}.auto-estimate-steps>span b{font-size:11px}}.schedule-grid{grid-template-columns:220px repeat(var(--timeline-days),var(--day-width,34px))}.schedule-row{background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--day-width,34px) - 1px),#eef2f6 calc(var(--day-width,34px) - 1px),#eef2f6 var(--day-width,34px));background-position:220px 0}.verified-quantity-panel{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:13px;padding:14px}.verified-quantity-panel h3,.verified-quantity-panel p{margin:0}.verified-quantity-panel>div:first-child p{color:#687a8e;margin-top:4px;font-size:9px}.verified-quantity-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px;display:grid}.verified-quantity-grid label{color:#52657a;font-size:9px;font-weight:750}.verified-quantity-grid input{width:100%;height:38px;font:inherit;color:#20364d;border:1px solid #bfcddd;border-radius:6px;margin-top:5px;padding:0 10px;display:block}.roof-formula{color:#174f86;background:#edf6ff;border-radius:6px;padding:9px 11px;font-size:9px;margin-top:11px!important}.roof-formula span{color:#617b94;margin-top:3px;display:block}.auto-estimate-actions .primary:disabled{cursor:not-allowed;opacity:.45}@media (max-width:760px){.verified-quantity-grid{grid-template-columns:1fr}}.schedule-job-select{min-width:240px;max-width:310px}.portfolio-draggable{cursor:grab;touch-action:none}.portfolio-draggable:active,.gantt-dragging .portfolio-draggable{cursor:grabbing}.cashflow-line-chart{overflow:hidden}.cashflow-line-chart .panel-head{align-items:flex-start}.cashflow-legend{color:#53677d;flex-wrap:wrap;gap:14px;font-size:9px;font-weight:800;display:flex}.cashflow-legend span:before{content:"";vertical-align:middle;border-radius:2px;width:18px;height:3px;margin-right:6px;display:inline-block}.cashflow-legend .revenue:before{background:#15966a}.cashflow-legend .outflow:before{background:#df704f}.cashflow-legend .bank:before{background:#1266e8}.negative-bank-alert{color:#9e332c;background:#fff3f1;border:1px solid #efb5ae;border-radius:7px;justify-content:space-between;gap:20px;margin:0 20px 8px;padding:11px 14px;font-size:10px;display:flex}.cashflow-svg-wrap{padding:12px 20px 4px;overflow-x:auto}.cashflow-svg-wrap svg{width:100%;min-width:760px;height:auto;display:block}.grid-line{stroke:#e5ebf1;stroke-width:1px}.zero-line{stroke:#a8b7c5;stroke-width:1.5px;stroke-dasharray:5 4}.axis-value,.axis-month{fill:#78889a;font-size:9px}.chart-line{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.revenue-line{stroke:#15966a}.outflow-line{stroke:#df704f}.bank-line{stroke:#1266e8}.bank-point{fill:#fff;stroke:#1266e8;stroke-width:3px}.negative-point{fill:#c94343;stroke:#c94343}.cashflow-chart-summary{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.cashflow-chart-summary>div{border-right:1px solid var(--line);padding:14px 18px}.cashflow-chart-summary>div:last-child{border-right:0}.cashflow-chart-summary span,.cashflow-chart-summary strong{display:block}.cashflow-chart-summary span{color:#718195;font-size:9px}.cashflow-chart-summary strong{margin-top:4px;font-size:16px}@media (max-width:760px){.cashflow-line-chart .panel-head,.negative-bank-alert{flex-direction:column}.cashflow-chart-summary{grid-template-columns:1fr 1fr}.cashflow-chart-summary>div:nth-child(2){border-right:0}}.report-live-grid.insight-only{grid-template-columns:1fr}.wip-detail .report-toolbar{order:1}.wip-detail .report-detail-head{order:2}.wip-detail .report-metrics{order:3}.wip-detail .wip-summary{order:4}.wip-detail .wip-results{order:5}.wip-detail .report-live-grid{order:6}.connections-button{color:#174f86!important;border-color:#8db2d8!important}.marketing-connections-modal{width:min(760px,100%)}.marketing-connections-modal .modal-head{align-items:flex-start}.marketing-connections-modal .modal-head p:last-child{color:#6d7d90;margin:5px 0 0;font-size:10px}.connection-list{background:#f6f8fb;gap:10px;padding:20px 24px;display:grid}.connection-list article{background:#fff;border:1px solid #d8e2ec;border-radius:9px;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:15px;display:grid}.connection-list article.connected{background:#f5fcf8;border-color:#a9d8c2}.connection-icon{color:#1266e8;background:#eaf2fb;border-radius:9px;place-items:center;width:44px;height:44px;font-size:18px;font-weight:900;display:grid}.connection-list article.connected .connection-icon{color:#138052;background:#dff3e9}.connection-list h3,.connection-list p{margin:0}.connection-list h3{font-size:14px}.connection-list p{color:#68798d;margin-top:3px;font-size:10px}.connection-list small{color:#315d86;margin-top:6px;font-size:9px;font-weight:700;display:block}.connection-action{text-align:right}.connection-action b{color:#7c8a9a;margin-bottom:7px;font-size:9px;display:block}.connection-list article.connected .connection-action b{color:#138052}.connection-action button{min-width:94px}.connection-foot{border-top:1px solid var(--line);color:#64758a;justify-content:space-between;align-items:center;padding:15px 24px;font-size:10px;display:flex}@media (max-width:650px){.connection-list article{grid-template-columns:44px 1fr}.connection-action{text-align:left;grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.connection-action b{margin:0}}.clickable-report-row{cursor:pointer}.clickable-report-row:hover td,.clickable-report-row:focus td{background:#f2f7fc}.clickable-report-row:focus{outline-offset:-2px;outline:2px solid #1266e8}.report-job-link{color:#123e68;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800}.report-job-link span{color:#1266e8;margin-top:4px;font-size:9px;font-weight:700;display:block}.report-insight{cursor:default;pointer-events:none}.report-insight>p:last-of-type{margin-bottom:0}.cashflow-assumptions{grid-template-columns:1fr 210px 230px;align-items:end;gap:18px;padding:19px 22px;display:grid}.cashflow-assumptions h3,.cashflow-assumptions p{margin:0}.cashflow-assumptions p{color:#68798d;margin-top:5px;font-size:10px;line-height:1.5}.cashflow-assumptions label{color:#607287;font-size:9px;font-weight:750}.cashflow-assumptions label>span{background:#fff;border:1px solid #c6d3df;border-radius:6px;height:39px;margin-top:5px;display:flex;overflow:hidden}.cashflow-assumptions label b{color:#31516f;background:#eef4fa;place-items:center;width:35px;display:grid}.cashflow-assumptions input{width:100%;min-width:0;font:inherit;color:#18344f;border:0;padding:0 10px}.monthly-cashflow table{min-width:980px}.monthly-cashflow td,.monthly-cashflow th{text-align:right}.monthly-cashflow td:first-child,.monthly-cashflow th:first-child{text-align:left}.cash-month-total td{background:#f4f8fc;border-top:2px solid #c9d8e6}.cash-month-total small{color:#7b8999;margin-top:3px;display:block}.cash-job-detail{cursor:pointer}.cash-job-detail:hover td{background:#f8fbff}.cash-job-detail td:first-child{padding-left:34px}@media (max-width:760px){.cashflow-assumptions{grid-template-columns:1fr}.cashflow-assumptions label{max-width:none}}.row-complete{color:#1769aa;cursor:pointer;background:0 0;border:0;margin-top:3px;padding:3px 0;font-size:9px;font-weight:800}.row-complete.complete{color:#68778a}.timeline-complete{color:#fff;white-space:nowrap;background:#1266e8;border:0;border-radius:6px;padding:8px 11px;font-size:10px;font-weight:800}.timeline-complete.complete{color:#42566d;background:#eef2f6}.auto-estimate-requirements{background:#f7f9fc;border:1px solid #d8e2ec;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.auto-estimate-requirements strong{width:100%;font-size:11px}.auto-estimate-requirements span{color:#8b5e14;font-size:10px}.auto-estimate-requirements span.ready{color:#14734f}.status.not-started{color:#556476;background:#f1f3f5}.status.in-progress{color:#1266e8;background:#e8f1ff}.status.waiting-on-client{color:#956000;background:#fff1d6}.status.ready-for-final-review{color:#138052;background:#e1f4eb}.status-select select{color:#29435e;background:#fff;border-color:#d4dee8}.table-delete{color:#b53b3b;background:#fff8f8;border:1px solid #e7bcbc;border-radius:5px;padding:6px 10px;font-size:10px;font-weight:750}.table-delete:hover{background:#fdeaea}.live-estimate-value{color:var(--blue)!important}.danger-button{color:#fff;background:#c94343;border:1px solid #b73535;border-radius:6px;padding:9px 15px;font-weight:800}.danger-button:disabled{opacity:.55}.delete-confirm-body,.rough-warning-body{grid-template-columns:48px 1fr;align-items:start;gap:15px;padding:24px 26px;display:grid}.delete-confirm-body>span,.rough-warning-body>span{color:#b43b3b;background:#fde6e6;border-radius:50%;place-items:center;width:44px;height:44px;font-size:20px;font-weight:900;display:grid}.delete-confirm-body h3,.delete-confirm-body p,.rough-warning-body p{margin:0}.delete-confirm-body p,.rough-warning-body p{color:#617187;margin-top:7px;line-height:1.6}.rough-warning-body>span{color:#9a6500;background:#fff1d6}.collapse-stage{color:var(--navy);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-weight:800;display:inline-flex}.collapse-stage strong{display:inline!important}.calc-category-row>td{background:#edf4fb}.rough-estimate-warning{width:min(650px,100%)}.status-select{white-space:nowrap!important;border-radius:7px!important;flex:0 0 210px!important;width:210px!important;min-width:210px!important;max-width:210px!important;height:40px!important;min-height:40px!important;display:block!important;position:relative!important;overflow:visible!important}.status-select:after{content:none!important}.status-select-display{box-shadow:0 1px 2px #0f2a4414;color:#29435e!important;background:#fff!important;border:1px solid #9fb4c9!important;border-radius:7px!important;justify-content:space-between!important;align-items:center!important;width:100%!important;height:40px!important;min-height:40px!important;padding:0 12px!important;font-size:11px!important;font-weight:800!important;line-height:1!important;display:flex!important}.status-select-display span{text-overflow:ellipsis!important;white-space:nowrap!important;display:block!important;overflow:hidden!important}.status-select-display b{color:#214b74;flex:none;margin-left:12px;font-size:9px}.status-select select{z-index:2!important;opacity:0!important;cursor:pointer!important;border:0!important;width:100%!important;height:40px!important;margin:0!important;padding:0!important;display:block!important;position:absolute!important;inset:0!important}.status-select:focus-within .status-select-display{border-color:#1266e8!important;box-shadow:0 0 0 3px #1266e826!important}.status-select.status-in-progress .status-select-display{color:#1266e8!important;background:#e8f1ff!important}.status-select.status-waiting-on-client .status-select-display{color:#8a5b00!important;background:#fff8e8!important}.status-select.status-ready-for-final-review .status-select-display{color:#137653!important;background:#e8f6ef!important}.template-upload-button{color:#174f89!important;border-color:#8eb0d3!important}.template-picker{width:min(760px,100vw - 32px);max-height:80vh;overflow:auto}.template-choice-list{gap:10px;padding:18px;display:grid}.template-choice-list>button{text-align:left;background:#fff;border:1px solid #d9e3ec;border-radius:9px;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;padding:15px;display:grid}.template-choice-list>button:hover{background:#f7fbff;border-color:#6e9fd0}.template-choice-list>button>span{color:#1764ac;background:#e9f2fc;border-radius:7px;place-items:center;width:40px;height:40px;display:grid}.template-choice-list strong,.template-choice-list small{display:block}.template-choice-list small{color:#718196;margin-top:4px}.template-choice-list b{color:#1266e8;font-size:11px}.template-save-note{color:#53677e;background:#edf4fb;border-radius:7px;grid-column:1/-1;padding:12px;font-size:11px;line-height:1.5}.template-library{overflow:hidden}.template-library .panel-head{border-bottom:1px solid var(--line)}.template-library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;display:grid}.template-library-grid article{border:1px solid #dce5ee;border-radius:8px;grid-template-columns:38px 1fr auto;align-items:start;gap:11px;padding:14px;display:grid}.template-library-grid article>span{color:#1266e8;background:#e9f2fc;border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.template-library-grid h3,.template-library-grid p{margin:0}.template-library-grid p{color:#66768a;margin-top:4px;font-size:11px}.template-library-grid small{color:#8794a4;margin-top:8px;font-size:9px;display:block}@media (max-width:1050px){.template-library-grid{grid-template-columns:1fr}.detail-toolbar>div{flex-wrap:wrap}}.schedule-controls{background:#eef3f8;border:1px solid #d9e3ec;border-radius:10px;gap:10px;padding:12px;display:grid}.schedule-control-row{align-items:center;gap:10px;min-width:0;display:flex}.schedule-view-row{justify-content:space-between}.schedule-action-row>select{background:#fff;border:1px solid #c7d4e1;border-radius:7px;height:44px;padding:0 34px 0 13px}.schedule-action-row>select:not(.schedule-job-select){min-width:170px}.schedule-action-buttons{gap:10px;margin-left:auto;display:flex}.schedule-action-buttons button{white-space:nowrap;min-width:148px;min-height:44px}.schedule-job-select{flex:1;min-width:260px;max-width:520px}.portfolio-summary-bar{cursor:pointer}.portfolio-summary-bar:hover{background:#d7e7fb;box-shadow:0 0 0 2px #1266e833}.job-cost-kpis{grid-template-columns:repeat(7,minmax(0,1fr))}.job-cost-kpis .variation-cost-kpi{background:#fff8eb}.job-cost-kpis .variation-revenue-kpi{background:#eef9f5}.variation-claim-row td{background:#fff9ec}.variation-claim-badge{color:#fff;letter-spacing:.05em;background:#e5a234;border-radius:10px;width:max-content;margin-bottom:5px;padding:2px 6px;font-size:8px;font-weight:850;display:block}.insert-variation-row td{text-align:center;background:#f8fafc!important;padding:3px 10px!important}.insert-variation-row button{color:#9a6410;cursor:pointer;background:0 0;border:0;padding:4px 10px;font-size:9px;font-weight:750}.insert-variation-row button:hover{color:#704706;text-decoration:underline}.variation-total-row td{color:#714c0f;background:#fff5df!important}.variation-button{color:#865b12!important;border-color:#d8a957!important}@media (max-width:1100px){.job-cost-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:760px){.job-cost-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.schedule-control-row{flex-wrap:wrap;align-items:stretch}.schedule-view-row{justify-content:flex-start}.schedule-action-row>select,.schedule-job-select{flex:1;min-width:220px;max-width:none}.schedule-action-buttons{width:100%;margin-left:0}.schedule-action-buttons button{flex:1}}@media (max-width:560px){.schedule-controls{padding:10px}.schedule-view-row .tabs,.timeline-zoom{width:100%}.schedule-view-row .tabs button,.timeline-zoom button{flex:1}.schedule-action-row>select,.schedule-job-select{width:100%;min-width:0}.schedule-action-buttons{flex-direction:column}.schedule-action-buttons button{width:100%}}.access-shell{background:radial-gradient(circle at 100% 0,#163d69 0,#092847 38%,#051a2f 100%);place-items:center;min-height:100vh;padding:32px;display:grid}.access-card{text-align:center;background:#fff;border-radius:22px;width:min(520px,100%);padding:44px;box-shadow:0 26px 80px #00000047}.access-brand{color:#0b2948;justify-content:center;align-items:center;gap:12px;margin-bottom:38px;font-size:20px;display:flex}.access-brand span{color:#fff;background:#0e71b8;border-radius:8px;place-items:center;width:52px;height:36px;font-weight:900;display:grid}.access-card h1{color:#102b46;margin:8px 0 12px;font-size:32px}.access-card p{color:#617184;line-height:1.65}.access-card .access-signin{justify-content:center;margin:24px 0 12px;padding:13px 24px;text-decoration:none;display:inline-flex}.access-card>small{color:#7b8896;display:block}.access-spinner{border:4px solid #d8e5ef;border-top-color:#0e71b8;border-radius:50%;width:42px;height:42px;margin:0 auto 22px;animation:.8s linear infinite access-spin}@keyframes access-spin{to{transform:rotate(360deg)}}.profile a{color:#9fb4c7;margin-left:auto;font-size:20px;text-decoration:none}.profile a:hover{color:#fff}.builder-hero{color:#fff;background:linear-gradient(125deg,#092b4c,#0d5487);border-radius:18px;justify-content:space-between;align-items:center;gap:28px;padding:30px 34px;display:flex}.builder-hero h2{margin:5px 0 8px;font-size:30px}.builder-hero p:not(.eyebrow){color:#d8e7f2;max-width:660px;line-height:1.55}.builder-hero .eyebrow{color:#75c9ff}.builder-stats{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.builder-stats>div{background:#fff;border:1px solid #dbe5ed;border-radius:14px;padding:22px 24px}.builder-stats span{color:#697a8a;font-size:14px;display:block}.builder-stats strong{color:#0b2948;margin-top:5px;font-size:28px;display:block}.builder-empty{text-align:center;padding:58px 20px}.builder-empty>span{color:#0e71b8;background:#e8f4fc;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 14px;font-size:28px;display:grid}.builder-empty h3{color:#14324d;margin:0 0 6px}.builder-empty p{color:#6f7d8a;margin:0 0 20px}.table-subtext{color:#7b8995;margin-top:4px;display:block}.builder-status{border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.builder-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.builder-status.active{color:#188451;background:#e7f7ef}.builder-status.inactive{color:#687581;background:#edf0f3}.compact{padding:8px 12px!important}.builder-modal{max-width:680px}.invite-note{color:#29455e;background:#edf7fd;border-radius:10px;margin:22px 0 0;padding:16px 18px}.invite-note p{margin:5px 0 0;line-height:1.5}.builder-modal button:disabled{opacity:.5;cursor:not-allowed}@media (max-width:780px){.access-card{padding:30px 22px}.builder-hero{flex-direction:column;align-items:flex-start}.builder-stats{grid-template-columns:1fr}.builders-page .full-table{overflow:auto}}.chart-panel{min-width:0;overflow:hidden}.auth-page{background:#f5f7f8;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #e3e8eb;border-radius:18px;width:min(100%,430px);padding:36px;box-shadow:0 18px 50px #162a3814}.auth-brand{justify-content:center;margin-bottom:28px;display:flex}.auth-logo{width:150px;height:auto;display:block}.auth-card h1{margin:0 0 24px}.auth-card p{color:#66747e}.auth-card form{gap:18px;margin:24px 0 18px;display:grid}.auth-fields{gap:18px;margin-bottom:20px;display:grid}.auth-card label{gap:8px;font-weight:600;display:grid}.auth-card input{width:100%;font:inherit;border:1px solid #cbd5db;border-radius:8px;padding:12px 14px}.auth-card .primary{justify-content:center;width:100%}.auth-card>a{color:#1e384c;font-weight:600}.auth-error{color:#a32929!important}.status-badge{color:#41556b;white-space:nowrap;background:#e2e8ef;border-radius:999px;align-items:center;width:max-content;padding:4px 9px;font-size:9px;font-weight:750;line-height:1.2;display:inline-flex}.brand-logo{object-fit:contain;object-position:left center;width:112px;height:auto;max-height:56px;display:block}.access-logo{object-fit:contain;width:180px;height:auto;margin:0 auto;display:block}button,.primary,.secondary,.outline{border-radius:0!important}.access-card .access-signin{align-items:center;line-height:1}.template-library .panel-head{gap:18px}.template-head-actions{flex:none;align-items:center;gap:10px;display:flex}.template-head-actions .primary:disabled{opacity:.45;cursor:not-allowed}.template-select-col{width:42px;text-align:center!important}.template-select-col input{cursor:pointer;accent-color:#1266e8;width:16px;height:16px}@media (max-width:760px){.template-library .panel-head{flex-direction:column;align-items:flex-start}.template-head-actions{flex-wrap:wrap;width:100%}}.template-card-actions{align-items:center;gap:8px;display:flex}.template-editor-modal{width:min(1000px,94vw);max-height:88vh;overflow:auto}.template-editor-details{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;display:grid}.template-editor-details label{gap:7px;font-weight:700;display:grid}.template-editor-details input{width:100%}.template-editor-toolbar{justify-content:space-between;align-items:center;gap:16px;margin:8px 0 14px;display:flex}.template-editor-table{overflow-x:auto}.template-editor-table table{border-collapse:collapse;width:100%}.template-editor-table td small{margin-top:4px;display:block}.template-editor-table input{width:100%;min-width:80px}.template-cost-picker{border:1px solid #dbe3e8;max-height:300px;margin-bottom:16px;padding:14px;overflow:auto}.template-cost-picker>div{gap:6px;display:grid}.template-cost-picker button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8ec;grid-template-columns:100px 1fr 90px;align-items:center;gap:12px;padding:10px 12px;display:grid}.template-cost-picker button:hover{background:#f5f8fa}@media (max-width:760px){.template-editor-details{grid-template-columns:1fr}.template-editor-toolbar{flex-direction:column;align-items:flex-start}.template-cost-picker button{grid-template-columns:1fr}}.template-editor-modal{width:min(1180px,92vw);max-height:90vh;padding:0}.template-editor-modal .modal-head{padding:30px 34px 24px}.template-editor-details{gap:24px;padding:6px 34px 10px}.template-editor-toolbar{margin:0;padding:8px 34px 14px}.template-editor-modal .template-cost-picker{margin:0 34px 24px;padding:18px}.template-editor-table{margin:0 34px 8px}.template-editor-table th{padding:14px 12px}.template-editor-table td{padding:18px 12px}.template-editor-modal .modal-actions{margin-top:10px;padding:22px 34px 30px}@media (max-width:760px){.template-editor-modal .modal-head,.template-editor-details,.template-editor-toolbar,.template-editor-modal .modal-actions{padding-left:20px;padding-right:20px}.template-editor-table,.template-editor-modal .template-cost-picker{margin-left:20px;margin-right:20px}}.template-editor-details input{cursor:text;background:#fff;border:1px solid #b8c7d1;min-height:48px;padding:12px 14px;box-shadow:inset 0 0 0 1px #1e394b08}.template-editor-details input:hover{border-color:#7f96a5}.template-editor-details input:focus{outline-offset:1px;border-color:#00a9c6;outline:2px solid #00a9c638}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
