/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.grid{display:grid}.hidden{display:none}.table{display:table}.shrink{flex-shrink:1}.resize{resize:both}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--navy:#062c65;--navy2:#041f49;--blue:#1769d8;--ink:#14213a;--muted:#657087;--line:#dce3ed;--soft:#e9edf3;--canvas:#f4f7fb;--green:#159447;--amber:#d97706;--red:#d83232;--shadow:0 10px 32px #162a4c12}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--canvas);color:var(--ink);font:14px var(--font-geist-sans),Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}svg{width:18px;height:18px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.green{color:var(--green)!important}.amber{color:var(--amber)!important}.red{color:var(--red)!important}.brand-mark{color:#fff;background:linear-gradient(145deg,#2b78e4,#0648a6);border-radius:10px;place-items:center;width:36px;height:36px;display:grid;box-shadow:inset 0 0 0 1px #fff3}.brand-mark.big{border-radius:14px;width:50px;height:50px}.brand-mark.big svg{width:27px;height:27px}.eyebrow,.heading-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:760}.eyebrow.blue,.heading-kicker{color:var(--blue)}.login-page{background:#f7f9fc;grid-template-columns:1.15fr minmax(400px,.85fr);min-height:100vh;display:grid}.login-brand{color:#fff;background:linear-gradient(#041f49d8,#041f49f2),radial-gradient(circle at 20% 15%,#2c76d8,#062c65 48%,#041f49);flex-direction:column;justify-content:center;padding:clamp(48px,7vw,112px);display:flex;position:relative;overflow:hidden}.login-brand:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-180px;right:-160px;box-shadow:0 0 0 55px #ffffff07,0 0 0 110px #ffffff05}.login-brand .eyebrow{color:#a9c8f8;margin:32px 0 12px}.login-brand h1{letter-spacing:-.045em;max-width:670px;margin:0;font-size:clamp(42px,5vw,68px);line-height:1.02}.login-brand>p:not(.eyebrow){color:#cedcf0;max-width:610px;margin:28px 0;font-size:18px;line-height:1.7}.login-points{color:#e4efff;flex-wrap:wrap;gap:28px;display:flex}.login-points span{align-items:center;gap:9px;display:flex}.login-card,.first-card{border:1px solid var(--line);width:min(440px,100% - 48px);box-shadow:var(--shadow);background:#fff;border-radius:20px;margin:auto;padding:42px}.login-card h2,.first-card h1{letter-spacing:-.035em;margin:6px 0 8px;font-size:31px}.login-card>p:not(.eyebrow),.first-card>p:not(.eyebrow){color:var(--muted);line-height:1.6}.login-card form,.first-card{gap:16px;display:grid}.google-button{color:#24324a;background:#fff;border:1px solid #cbd5e2;border-radius:8px;width:100%;height:42px;margin:22px 0 12px;font-weight:680}.google-button b{color:#3479dc;margin-right:8px;font-size:17px}.or{text-align:center;color:#98a2b3;height:25px;position:relative}.or:before{content:"";background:var(--soft);height:1px;position:absolute;top:50%;left:0;right:0}.or span{background:#fff;padding:0 10px;position:relative}.text-button{width:100%;color:var(--blue);background:0 0;border:0;margin-top:12px;font-weight:650}.error{color:var(--red);margin:0;font-size:12px}.centre-page{text-align:center;background:radial-gradient(circle at 15% 20%,#2367d11f,#0000 30%),linear-gradient(135deg,#f7faff,#edf3fb);align-content:center;place-items:center;gap:12px;min-height:100vh;display:grid}.first-card{text-align:left}label{color:#344054;gap:7px;font-size:12px;font-weight:670;display:grid}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd7e4;border-radius:8px;outline:none;padding:10px 11px}input:focus,select:focus,textarea:focus{border-color:#4c8ce8;box-shadow:0 0 0 3px #2563eb1f}textarea{resize:vertical;min-height:78px}.primary-button,.secondary-button,.danger-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:39px;padding:0 15px;font-weight:680;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(#2371dc,#0e59c3);border:0;box-shadow:0 4px 12px #155bbe2e}.secondary-button{color:#1d4f91;background:#fff;border:1px solid #c9d8ee}.danger-button{color:#b42318;background:#fff7f6;border:1px solid #f1c3bf}.topbar{z-index:50;color:#fff;background:linear-gradient(90deg,var(--navy2),var(--navy));justify-content:space-between;align-items:center;height:64px;padding:0 18px;display:flex;position:fixed;inset:0 0 auto;box-shadow:0 3px 12px #03163433}.top-left,.top-right{align-items:center;display:flex}.top-left{gap:10px}.brand{letter-spacing:-.02em;font-size:18px}.brand span,.mobile-head span{color:#68a6ff}.top-left>i{background:#ffffff2e;width:1px;height:30px;margin:0 6px}.project{gap:0;width:245px;display:grid;position:relative}.project small{color:#9db7dc;text-transform:uppercase;letter-spacing:.08em;font-size:9px}.project select{color:#fff;appearance:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0 20px 0 0;font-weight:650}.project select option{color:var(--ink)}.project svg{width:14px;position:absolute;bottom:1px;right:0}.top-right{gap:12px}.top-right>span,.top-right>em{color:#c5d7f1;align-items:center;gap:6px;font-size:11px;font-style:normal;display:flex}.top-right>em{color:#fff;border:1px solid #ffffff2b;border-radius:999px;padding:6px 10px}.avatar{width:34px;height:34px;color:var(--navy);background:#e3edfb;border-radius:50%;place-items:center;font-size:12px;display:grid}.top-right>div{display:grid}.top-right>div strong{font-size:12px}.top-right>div small{color:#9db7dc;font-size:9px}.top-right>button,.menu{color:#fff;background:0 0;border:0;place-items:center;width:34px;height:34px;padding:0;display:grid}.menu{display:none}.sidebar{z-index:40;border-right:1px solid var(--line);background:#fff;flex-direction:column;width:218px;display:flex;position:fixed;top:64px;bottom:0;left:0}.mobile-head{display:none}.sidebar nav{gap:4px;padding:18px 12px;display:grid}.sidebar nav button{color:#4e5d73;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;height:43px;padding:0 13px;font-weight:590;display:flex}.sidebar nav button:hover{color:#164c98;background:#f2f6fc}.sidebar nav button.active{color:#075bc9;background:#eaf2ff;box-shadow:inset 3px 0 #1769d8}.sidebar nav button b{text-align:center;background:#e2e9f3;border-radius:999px;min-width:21px;margin-left:auto;padding:2px 6px;font-size:10px}.sidebar footer{border-top:1px solid var(--soft);margin-top:auto;padding:16px}.sidebar footer>div{align-items:center;gap:10px;display:flex}.sidebar footer>div>i{background:var(--green);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #1594471c}.sidebar footer span{display:grid}.sidebar footer small,.sidebar footer p{color:var(--muted);font-size:10px}.sidebar footer b{color:var(--green);font-size:12px}.sidebar footer p{margin:14px 0 0}.content{min-height:100vh;padding:88px 24px 36px 242px}.stack{gap:18px;max-width:1600px;margin:auto;display:grid}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;min-height:72px;display:flex}.page-heading h1{letter-spacing:-.04em;margin:7px 0 5px;font-size:clamp(25px,2.4vw,36px);line-height:1.1}.page-heading p:not(.heading-kicker){color:var(--muted);margin:0}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.control-strip{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.control-strip>div{border-right:1px solid var(--soft);align-content:center;gap:4px;min-height:58px;padding:11px 16px;display:grid}.control-strip>div:last-child{border:0}.control-strip span,.kpi>span{color:var(--muted);text-transform:uppercase;letter-spacing:.055em;font-size:10px}.control-strip strong{font-size:13px}.kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.kpi{border:1px solid var(--line);background:#fff;border-radius:11px;flex-direction:column;min-height:148px;padding:16px;display:flex;box-shadow:0 4px 18px #162a4c09}.kpi>i{border-radius:8px;place-items:center;width:32px;height:32px;margin-bottom:12px;display:grid}.kpi>i.green{background:#e3f6e9}.kpi>i.blue{color:#1255b4;background:#e7f0ff}.kpi>i.purple{color:#7542b9;background:#f2eaff}.kpi>i.teal{color:#0c7b78;background:#e0f7f5}.kpi>i.amber{background:#fff2dc}.kpi>i.navy{color:#173f75;background:#e6edf7}.kpi strong{letter-spacing:-.035em;margin:6px 0 4px;font-size:clamp(20px,1.65vw,28px)}.kpi small{color:var(--muted);margin-top:auto;font-size:10px}.dash-grid{grid-template-columns:minmax(0,1.65fr) minmax(320px,.72fr);gap:14px;display:grid}.dash-grid.lower{grid-template-columns:1.3fr .7fr}.panel,.grid-panel,.reconciliation{border:1px solid var(--line);background:#fff;border-radius:11px;min-width:0;box-shadow:0 4px 18px #162a4c09}.panel-title{border-bottom:1px solid var(--soft);justify-content:space-between;align-items:center;min-height:64px;padding:14px 17px;display:flex}.panel-title h2{margin:0 0 3px;font-size:14px}.panel-title p{color:var(--muted);margin:0;font-size:10px}.chart{height:280px;padding:20px 12px 8px 0}.indices{gap:19px;padding:16px;display:grid}.index{grid-template-columns:1fr auto;gap:7px 10px;display:grid}.index>span{color:var(--muted);font-size:11px}.index>strong{font-size:17px}.index>i,.prog>i,.progress-box>i{background:#e7ebf1;border-radius:999px;grid-column:1/-1;height:6px;overflow:hidden}.index>i b,.prog>i b,.progress-box>i b{border-radius:inherit;background:var(--green);height:100%;display:block}.index>i.blue b{background:var(--blue)}.index small{color:#8a94a6;grid-column:1/-1;font-size:9px}.good-note{color:#176538;background:#effaf3;border:1px solid #cdebd7;border-radius:8px;gap:10px;padding:12px;display:flex}.good-note p{margin:0;font-size:10px;line-height:1.5}.ws-table{padding:0 16px 14px}.table-head,.ws-row{grid-template-columns:minmax(180px,1.3fr) minmax(160px,1fr) 90px;align-items:center;gap:18px;display:grid}.table-head{height:35px;color:var(--muted);text-transform:uppercase;font-size:9px}.ws-row{border-top:1px solid var(--soft);min-height:48px}.ws-row>div:first-child{display:grid}.ws-row b{font-size:11px}.ws-row small{color:var(--muted);font-size:9px}.prog{grid-template-columns:34px 1fr;align-items:center;gap:6px;font-size:10px;display:grid}.prog>i{grid-column:auto}.ws-row em{text-align:center;border-radius:999px;padding:4px 7px;font-size:9px;font-style:normal}.ws-row em.ok{color:#14783a;background:#e9f8ee}.ws-row em.risk{color:#9a5a06;background:#fff3df}.notes{gap:10px;padding:14px;display:grid}.note{color:#166736;background:#eefaf2;border-radius:8px;gap:10px;padding:11px;display:flex}.note.warn{color:#8a5208;background:#fff7e8}.note b{font-size:10px}.note p{margin:3px 0 0;font-size:9px}.poap-toolbar,.entry-tools,.grid-toolbar{border:1px solid var(--line);min-height:54px;color:var(--muted);background:#fff;border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;gap:14px;padding:8px 12px;font-size:10px;display:flex}.segments{background:#eef2f7;border-radius:7px;padding:3px;display:flex}.segments button{height:28px;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:0 12px;font-size:10px}.segments button.active{color:#124f9d;background:#fff;box-shadow:0 1px 4px #14274921}.poap-work{border:1px solid var(--line);background:#fff;border-top:0;grid-template-columns:minmax(0,1fr);min-height:650px;display:grid}.poap-work.details-open{grid-template-columns:minmax(0,1fr) 330px}.gantt-scroll{height:650px;overflow:auto}.gantt{min-height:100%;position:relative}.gantt-head{z-index:12;border-bottom:1px solid var(--line);background:#fff;height:68px;display:flex;position:sticky;top:0}.ws-label{z-index:9;border-right:1px solid var(--line);background:#fff;width:260px;min-width:260px;padding:11px 12px;position:sticky;left:0}.gantt-head .ws-label{align-items:center;font-size:10px;font-weight:750;display:flex}.timeline{background-image:linear-gradient(90deg,#edf0f5 1px,#0000 1px);flex:none;display:flex;position:relative}.timeline>span{border-right:1px solid var(--soft);flex:none;place-items:center;font-size:9px;display:grid}.gantt-row{border-bottom:1px solid var(--line);display:flex}.gantt-row .ws-label>div{justify-content:space-between;gap:8px;display:flex}.gantt-row .ws-label b{font-size:10px}.gantt-row .ws-label em{font-size:9px;font-style:normal}.gantt-row .ws-label button{color:var(--blue);background:0 0;border:0;align-items:center;gap:4px;margin-top:12px;padding:0;font-size:9px;display:flex}.timeline.body{background-image:linear-gradient(90deg,#edf0f5 1px,#0000 1px)}.bar{z-index:4;color:#11345f;touch-action:none;border:1px solid #20498252;border-radius:5px;height:29px;padding:0 10px;position:absolute;overflow:visible;box-shadow:0 1px 3px #0e2e571c}.bar:hover,.bar.selected{z-index:7;box-shadow:0 0 0 2px #fff,0 0 0 4px #2c6fc9}.bar.critical{border:2px solid #e0443e}.bar>i{background:#167d3333;border-radius:3px;position:absolute;inset:0 auto 0 0}.bar>b{z-index:2;white-space:nowrap;text-overflow:ellipsis;font-size:9px;display:block;position:relative;overflow:hidden}.handle{z-index:4;cursor:ew-resize;width:7px;position:absolute;top:2px;bottom:2px}.handle.l{left:-2px}.handle.r{right:-2px}.today{z-index:10;pointer-events:none;background:#ef3232;width:1.5px;position:absolute;top:68px;bottom:0}.today span{color:#e22323;background:#fff;padding:2px 4px;font-size:8px;position:sticky;top:72px}.details{border-left:1px solid var(--line);background:#fff;flex-direction:column;display:flex}.details-head{border-bottom:1px solid var(--soft);justify-content:space-between;min-height:70px;padding:14px 16px;display:flex}.details-head small{color:var(--muted);text-transform:uppercase;font-size:9px}.details-head h2{margin:5px 0;font-size:17px}.details-head button{background:0 0;border:0}.tabs{border-bottom:1px solid var(--line);align-items:center;gap:18px;height:42px;padding:0 14px;font-size:10px;display:flex}.tabs b{height:100%;color:var(--blue);border-bottom:2px solid var(--blue);align-items:center;display:flex}.form-grid{gap:14px;padding:16px;display:grid}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.progress-box{background:#f6f8fb;border-radius:8px;grid-template-columns:1fr auto;gap:8px;padding:11px;display:grid}.progress-box span{color:var(--muted);font-size:10px}.progress-box strong{color:var(--green);font-size:18px}.dependency{color:#35516f;background:#f7faff;border:1px solid #d9e4f3;border-radius:8px;gap:9px;padding:10px;display:flex}.dependency span{display:grid}.dependency small{font-size:9px}.details-foot{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding:12px 16px;display:flex}.help{color:var(--muted);text-align:center;margin:9px 0;font-size:9px}.grid-panel{overflow:hidden}.grid-toolbar{border:0;border-bottom:1px solid var(--line);border-radius:0}.grid-toolbar span{align-items:center;gap:6px;display:flex}.grid-toolbar input{max-width:220px;padding:7px 9px}.table-scroll{overflow:auto}.top-scroll{border-bottom:1px solid var(--soft);height:17px}.top-scroll>div{height:1px}.data-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.data-table th,.data-table td{border-right:1px solid var(--soft);border-bottom:1px solid var(--soft);white-space:nowrap;text-align:right;min-width:72px;padding:8px 9px;font-size:10px}.data-table th{z-index:6;color:#435168;background:#f7f9fc;font-size:9px;position:sticky;top:0}.data-table th small{color:#8a94a6;font-weight:400;display:block}.data-table th:nth-child(-n+4),.data-table td:nth-child(-n+4){text-align:left;min-width:125px}.data-table td input{text-align:right;background:0 0;border:0;min-width:60px;padding:5px 6px}.actual-table th,.actual-table td,.actual-table td input{font-size:var(--actual-font-size)}.actual-table td{position:relative}.actual-table .actual-name{z-index:5;text-align:left;width:190px;min-width:190px;max-width:190px;box-shadow:2px 0 0 var(--line);background:#fff;position:sticky;left:0}.actual-table th.actual-name{z-index:9;background:#f7f9fc}.actual-table td.actual-name input{text-align:left;width:100%;min-width:0}.actual-table .totals-row .actual-name{z-index:8;background:#eef4fb}.actual-table td svg{width:10px;height:10px;position:absolute;top:3px;right:3px}.cell-match{background:#effaf2}.cell-var{background:#fff6e6}.cell-locked{background:#eef1f5}.actual-only td{background-image:linear-gradient(135deg,#faf4ff,#fff)}.actual-only .actual-name{background:#fcf7ff}.entry-tools{border-radius:10px}.entry-tools label{align-items:center;gap:8px;display:flex}.entry-tools input{width:120px;padding:0}.legend{align-items:center;gap:8px;display:flex}.legend i{border-radius:2px;width:9px;height:9px}.legend .match{background:#ccebd5}.legend .variance{background:#f8dca8}.legend .locked{background:#cfd5df}.reconciliation{overflow:hidden}.month-cards{grid-template-columns:repeat(6,1fr);gap:10px;padding:14px;display:grid}.month-cards>div{border:1px solid var(--soft);border-radius:8px;gap:4px;padding:12px;display:grid}.month-cards span,.month-cards small{color:var(--muted);font-size:9px}.month-cards strong{font-size:13px}.full-entry{z-index:100;background:var(--canvas);padding:18px;position:fixed;inset:0;overflow:auto}.full-entry .page-heading p,.full-entry .heading-kicker{display:none}.rate-control{color:#124f9d;text-align:right;background:#f5f9ff;border:1px solid #cdd9e8;border-radius:7px;gap:2px;min-width:106px;padding:5px 7px;display:grid}.rate-control:hover:not(:disabled){background:#eaf3ff;border-color:#7fa8db}.rate-control b{font-size:inherit}.rate-control small{color:var(--muted);font-size:.72em}.modal-scrim{z-index:140;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06162c8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.rate-dialog{background:#fff;border:1px solid #cbd7e7;border-radius:14px;width:min(720px,100%);max-height:min(760px,92vh);overflow:auto;box-shadow:0 28px 80px #06162c4d}.rate-dialog-head{border-bottom:1px solid var(--soft);justify-content:space-between;gap:20px;padding:20px 22px;display:flex}.rate-dialog-head h2{margin:6px 0;font-size:21px}.rate-dialog-head p:not(.eyebrow){color:var(--muted);margin:0;font-size:11px}.rate-dialog-head button{width:34px;height:34px;color:var(--muted);background:#f0f3f7;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.rate-history-list{padding:14px 22px}.rate-history-head,.rate-history-list>div:not(.rate-history-head){border-bottom:1px solid var(--soft);grid-template-columns:1.2fr .8fr 1fr;align-items:center;gap:16px;min-height:52px;display:grid}.rate-history-head{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px;min-height:32px!important}.rate-history-list>div>span{gap:2px;display:grid}.rate-history-list small{color:var(--muted);font-size:9px}.rate-change-form{border-top:1px solid var(--soft);background:#f7f9fc;padding:18px 22px 22px}.rate-change-form h3{margin:0 0 14px;font-size:14px}.rate-change-form label{color:#445269;gap:6px;font-size:10px;font-weight:650;display:grid}.rate-change-form input,.rate-change-form select{background:#fff;border:1px solid #cbd5e2;border-radius:7px;width:100%;padding:9px 10px}.rate-help{color:var(--muted);margin:12px 0;font-size:10px}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dialog-actions button{min-width:132px}.reset-dialog{width:min(580px,100%)}.reset-dialog-body{gap:16px;padding:20px 22px;display:grid}.reset-summary{grid-template-columns:1fr 1fr;gap:10px;display:grid}.reset-summary>div{border:1px solid var(--soft);background:#f7f9fc;border-radius:9px;gap:4px;padding:14px;display:grid}.reset-summary span{color:var(--muted);font-size:10px}.reset-summary strong{font-size:18px}.reset-warning{color:#85510d;background:#fff8e9;border:1px solid #f1d19b;border-radius:8px;align-items:flex-start;gap:9px;margin:0;padding:12px;font-size:10px;line-height:1.5;display:flex}.reset-warning svg{flex:none;width:16px;height:16px}.confirm-reset{color:#7d211b;background:#fff8f7;border:1px solid #efc7c3;border-radius:8px;grid-template-columns:none;align-items:flex-start;gap:9px;padding:12px;font-size:11px;display:flex}.confirm-reset input{flex:none;width:16px;height:16px;margin:0}.reset-actions{border-top:1px solid var(--soft);padding:16px 22px}.invoice-grid{grid-template-columns:1.3fr .7fr;gap:14px;display:grid}.invoice-create .form-grid{padding:18px}.invoice-summary{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.invoice-summary>div{background:#f5f7fa;border-radius:8px;gap:5px;padding:10px;display:grid}.invoice-summary span{color:var(--muted);font-size:9px}.invoice-summary b{font-size:13px}.po-summary dl{margin:0;padding:0 18px 18px}.po-summary dl>div{border-bottom:1px solid var(--soft);justify-content:space-between;padding:9px 0;display:flex}.po-summary dt{color:var(--muted)}.po-donut{place-items:center;height:145px;display:grid}.po-donut>div{background:radial-gradient(circle,#fff 55%,transparent 57%),conic-gradient(var(--green) 0 68%,#e4e8ef 68%);text-align:center;border-radius:50%;align-content:center;place-items:center;width:115px;height:115px;display:grid}.po-donut strong{font-size:19px}.po-donut span{color:var(--muted);font-size:9px}.invoice-list{padding:0 16px 16px}.invoice-list article{border-bottom:1px solid var(--soft);grid-template-columns:1.1fr 1fr .8fr 180px 100px;align-items:center;gap:16px;min-height:70px;display:grid}.invoice-list article>div:not(.row-actions){gap:3px;display:grid}.invoice-list span,.invoice-list small{color:var(--muted);font-size:9px}.invoice-list select{padding:7px}.row-actions{justify-content:flex-end;gap:5px;display:flex}.row-actions button{border:1px solid var(--line);height:30px;color:var(--blue);background:#fff;border-radius:6px;padding:0 8px;font-size:9px}.row-actions svg{width:14px}.report-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.report-card{border:1px solid var(--line);min-height:200px;box-shadow:var(--shadow);background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;padding:20px;display:flex}.report-icon{width:42px;height:42px;color:var(--blue);background:#e9f2ff;border-radius:10px;place-items:center;display:grid}.report-card h2{margin:18px 0 6px;font-size:16px}.report-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.report-card button{margin-top:auto}.settings-tabs{border:1px solid var(--line);background:#fff;border-radius:10px;gap:4px;padding:5px;display:flex}.settings-tabs button{height:38px;color:var(--muted);background:0 0;border:0;border-radius:7px;align-items:center;gap:7px;padding:0 14px;display:flex}.settings-tabs button.active{color:var(--blue);background:#eaf2ff}.settings-panel{overflow:hidden}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;display:grid}.matrix{border-collapse:collapse;width:100%}.matrix th,.matrix td{border-bottom:1px solid var(--soft);text-align:center;padding:12px;font-size:11px}.matrix th:first-child,.matrix td:first-child{text-align:left}.audit-list{padding:0 18px 18px}.audit-list article{border-bottom:1px solid var(--soft);grid-template-columns:18px 1fr auto;align-items:center;gap:10px;min-height:62px;display:grid}.audit-list article>i{background:var(--blue);border-radius:50%;width:8px;height:8px}.audit-list article p{color:var(--muted);margin:3px 0;font-size:10px}.audit-list article>span{text-align:right;font-size:10px;display:grid}.audit-list small{color:var(--muted);font-size:9px}.empty{min-height:300px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:7px;display:grid}.empty>svg{width:28px;height:28px}.empty h2,.empty p{margin:0}.empty p{font-size:11px}.scrim{display:none}@media (width<=1180px){.kpis{grid-template-columns:repeat(3,1fr)}.dash-grid,.dash-grid.lower{grid-template-columns:1fr}.top-right>div,.top-right>span{display:none}.poap-work.details-open{grid-template-columns:minmax(0,1fr) 300px}.report-grid{grid-template-columns:repeat(2,1fr)}.month-cards{grid-template-columns:repeat(3,1fr)}}@media (width<=820px){.login-page{grid-template-columns:1fr}.login-brand{min-height:390px;padding:42px 28px}.login-brand h1{font-size:44px}.login-card{margin:32px auto}.sidebar{z-index:70;width:min(290px,86vw);transition:all .22s;top:0;transform:translate(-105%)}.sidebar.open{transform:none}.mobile-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:64px;padding:0 16px;display:flex}.mobile-head button{background:0 0;border:0}.menu{display:grid}.scrim{z-index:65;background:#04132a73;border:0;display:block;position:fixed;inset:0}.content{padding:84px 15px 28px}.top-left>i{display:none}.project{width:160px}.top-right>em{display:none}.control-strip,.kpis{grid-template-columns:1fr 1fr}.page-heading{flex-direction:column}.poap-work.details-open{display:block}.details{z-index:80;width:min(370px,94vw);position:fixed;inset:64px 0 0 auto;box-shadow:-14px 0 34px #0c1f3b2e}.invoice-grid{grid-template-columns:1fr}.invoice-list article{grid-template-columns:1fr 1fr}.invoice-list article>select{display:none}.report-grid,.settings-form{grid-template-columns:1fr}.actions{width:100%}.actions>.primary-button{flex:1}.invoice-summary{grid-template-columns:1fr 1fr}}@media (width<=520px){.brand{display:none}.project{width:135px}.kpis,.control-strip{grid-template-columns:1fr}.login-card{padding:28px 24px}.login-points{gap:12px;display:grid}.table-head,.ws-row{grid-template-columns:1fr 1fr}.table-head span:last-child,.ws-row>em{display:none}.month-cards{grid-template-columns:1fr 1fr}.top-right{gap:6px}.invoice-summary{grid-template-columns:1fr}.report-card{min-height:180px}}.totals-row td{z-index:2;border-top:2px solid #9eb4cc;font-weight:700;position:sticky;bottom:0;background:#eef4fb!important}.actual-table .actual-week-cell{width:78px;min-width:78px;max-width:78px;height:42px;padding:8px 9px}.actual-table .actual-week-cell>input{width:60px;min-width:60px}.split-month-cell{isolation:isolate;overflow:hidden;background:#fff!important}.split-month{z-index:1;width:50%;position:absolute;top:0;bottom:0}.split-month.first{background:#e8f2ff;left:0}.split-month.second{background:#eef8e7;right:0}.split-month input{z-index:3;width:29px;font-weight:700;position:absolute;top:50%;translate:0 -50%;background:#ffffffc7!important;border-radius:4px!important;min-width:0!important;padding:3px 1px!important}.split-month.first input{text-align:left;left:2px}.split-month.second input{text-align:right;right:2px}.split-total{z-index:4;color:#45536a;text-align:center;pointer-events:none;background:#fff;border:1px solid #d7deea;border-radius:8px;min-width:18px;padding:1px 3px;font-weight:700;position:absolute;top:50%;left:50%;translate:-50% -50%;font-size:8px!important}.split-month-cell.cell-locked .split-month{filter:grayscale(.7);opacity:.7}.actual-table .current-period{border-left:2px solid var(--red)!important}.actual-table th.current-period{color:#fff;background:var(--red)!important}.actual-table th.current-period small{color:#fff}.actual-table td.current-period{box-shadow:inset 1px 0 #f5a3a3}.actual-table .totals-row td.current-period{border-left-color:var(--red)!important}@media print{.topbar,.sidebar,.page-heading .actions,.entry-tools,.poap-toolbar,.settings-tabs{display:none!important}.content{padding:0}.panel,.kpi,.report-card{break-inside:avoid;box-shadow:none}.actuals .reconciliation{display:block}}.timeline>span{align-content:center;gap:3px}.timeline>span b{font-size:9px}.timeline>span small{color:var(--muted);font-size:7px;font-weight:400}.month-head>span{background:#f7f9fc}.month-head>span:nth-child(2n){background:#f0f5fb}.gantt-row .ws-label>div:first-child{justify-content:space-between;gap:8px;display:flex}.ws-actions{justify-content:flex-start!important;gap:12px!important;display:flex!important}.ws-actions button svg{width:10px;height:10px}.ws-actions .delete-ws{color:#a63831}.dependency-layer{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:visible}.dependency-layer>path{fill:none;stroke:#516f94;stroke-width:1.5px;stroke-dasharray:4 3}.dependency-layer marker path{fill:#516f94}.bar-link{z-index:6;color:#fff;background:#45698f;border-radius:50%;width:11px;height:11px;padding:2px;position:absolute;top:8px;left:-6px}.tabs button{height:100%;color:var(--muted);background:0 0;border:0;padding:0;font-size:10px;font-weight:650}.tabs button.active{color:var(--blue);border-bottom:2px solid var(--blue)}.tab-help{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.colour-select{border-left-width:8px!important}.dependency.conflict{color:#8a3e12;background:#fff4e8;border-color:#efc28e}.dependency small{line-height:1.4}.date-summary{border:1px solid var(--soft);background:#f7f9fc;border-radius:8px;gap:4px;padding:12px;display:grid}.date-summary span,.date-summary small{color:var(--muted);font-size:9px}.activity-notes{resize:vertical;min-height:220px}.bar .planned-marker{z-index:5;background:#173f75;width:2px;position:absolute;top:-3px;bottom:-3px;box-shadow:0 0 0 1px #fff}.bar.ahead:after,.bar.behind:after{z-index:6;font-size:9px;font-weight:900;position:absolute;top:2px;right:3px}.bar.ahead:after{content:"↑";color:#086d31}.bar.behind:after{content:"↓";color:#a6201a}.weight-badge{z-index:5;color:#244b78;background:#fff;border:1px solid #c7d3e2;border-radius:8px;padding:1px 4px;font-size:7px;font-style:normal;position:absolute;bottom:-12px;right:15px}.activity-metrics{grid-template-columns:1fr 1fr;gap:7px;display:grid}.activity-metrics span{border:1px solid var(--soft);background:#f8fafd;border-radius:7px;gap:3px;padding:8px;display:grid}.activity-metrics small{color:var(--muted);font-size:8px}.activity-metrics b{font-size:10px}.reporting-basis,.settings-summary{border:1px solid var(--line);background:var(--line);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.reporting-basis span,.settings-summary span{background:#fff;align-content:center;gap:5px;min-height:68px;padding:12px 15px;display:grid}.reporting-basis small,.settings-summary small{color:var(--muted);text-transform:uppercase;font-size:9px}.reporting-basis b,.settings-summary b{font-size:13px}.settings-summary{margin:0 20px 20px}.progress-settings .settings-form{border-bottom:1px solid var(--soft)}.settings-form label>small{color:var(--muted);font-size:9px;font-weight:400}.forecast-mapping-table td:nth-child(5){min-width:210px}.forecast-mapping-table td:nth-child(5) select{min-width:190px;padding:6px 8px;font-size:9px}.unmapped-select{color:#8a5208!important;background:#fff8e9!important;border-color:#e3a343!important}@media (width<=820px){.reporting-basis,.settings-summary{grid-template-columns:1fr 1fr}}.forecast-mapping-table td:nth-child(5){min-width:230px;overflow:visible}.activity-picker{width:210px;color:var(--ink);background:#fff;border:1px solid #ccd4e0;border-radius:6px;position:relative}.activity-picker-trigger{width:100%;height:30px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 9px;font-size:10px;font-weight:700;display:flex}.activity-picker-trigger svg{width:14px;height:14px;transition:transform .15s}.activity-picker.open .activity-picker-trigger svg{transform:rotate(180deg)}.activity-picker-menu{z-index:30;text-align:left;background:#fff;border:1px solid #cbd4e1;border-radius:8px;width:285px;max-height:330px;padding:8px;position:absolute;top:34px;left:0;overflow:auto;box-shadow:0 12px 32px #11223a2e}.activity-picker-menu>p{color:var(--muted);margin:3px;padding:8px;font-size:10px;line-height:1.45}.activity-picker-menu fieldset{border:0;border-top:1px solid var(--soft);margin:7px 0 0;padding:5px 0 0}.activity-picker-menu legend{color:var(--muted);text-transform:uppercase;padding:0 5px;font-size:9px;font-weight:800}.activity-picker-menu .activity-picker-option{white-space:nowrap;border-radius:5px;grid-template-columns:14px minmax(0,1fr);align-items:center;column-gap:8px;min-height:28px;padding:4px 6px;font-size:10px;display:grid!important}.activity-picker-menu .activity-picker-option:hover{background:#f3f7fd}.activity-picker-menu .activity-picker-option span{text-overflow:ellipsis;white-space:nowrap;grid-area:1/2;min-width:0;overflow:hidden}.activity-picker-menu .activity-picker-option input{accent-color:#1769d8;grid-area:1/1;width:14px;height:14px;margin:0}.activity-picker-actions{border-top:1px solid var(--soft);background:#fff;justify-content:space-between;gap:8px;margin:8px -8px -8px;padding:8px;display:flex;position:sticky;bottom:-8px}.activity-picker-actions button{color:#1769d8;background:#fff;border:1px solid #cbd4e1;border-radius:6px;min-width:82px;height:30px;padding:0 10px;font-size:10px;font-weight:700}.activity-picker-actions button:disabled{opacity:.45}.activity-picker-actions .activity-picker-done{color:#fff;background:#1769d8;border-color:#1769d8}
