:root{--siena-green:#006b54;--siena-yellow:#fcc917;--siena-white:#ffffff;--siena-dark-green:#1b4932;--siena-cool-gray:#cfc9c4;--siena-light-green:#0db02b;--siena-red:#b01c2e;--siena-blue:#008ab1;--bg:linear-gradient(145deg,#f6f4f1,#eef3ef 54%,#f8f7f5);--surface:#ffffff;--surface-border:#d8ddd8;--text-main:#173326;--text-muted:#4f625a}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Merriweather,Georgia,serif;color:var(--text-main);background:var(--bg);overflow-y:scroll}html{min-height:100%}body,html{width:100%}body{min-height:100vh}h1,h2,h3{font-family:Oswald,Arial Narrow,sans-serif;text-transform:uppercase;letter-spacing:.02em;margin:0}dd,dt,li,p,td,th{font-family:Merriweather,Georgia,serif}.page{width:100%;max-width:none;margin:0;padding:clamp(1rem,2vw,1.5rem) clamp(.75rem,2.2vw,1.5rem) 3rem}.topNav{background:linear-gradient(120deg,var(--siena-green),var(--siena-dark-green));color:var(--siena-white);border-bottom:4px solid var(--siena-yellow)}.topNavInner{width:100%;max-width:none;margin:0;padding:1rem clamp(.75rem,2.2vw,1.5rem);justify-content:space-between;gap:1rem}.brand,.topNavInner{display:flex;align-items:center}.brand{gap:.75rem}.brandLogo{width:42px;height:42px;object-fit:contain;display:block}.brandTitle{margin:0;font-family:Oswald,Arial Narrow,sans-serif;text-transform:uppercase;font-size:1.1rem}.brandSubtitle{margin:0;opacity:.9;font-size:.85rem}.mainNav{flex-wrap:wrap;gap:.5rem}.mainNav,.mainNav form{display:flex;align-items:center}.mainNav form{margin:0}.globalFyPicker{display:inline-flex;align-items:center;gap:.35rem;color:var(--siena-white);font-family:Gudea,Arial,sans-serif}.globalFyPicker span{font-size:.78rem;opacity:.9}.globalFyPicker select{min-height:2.2rem;border:1px solid #ffffff52;border-radius:999px;background:#ffffff12;color:var(--siena-white);padding:.35rem .6rem}.globalFyPicker option{color:var(--text-main)}.navLink{display:inline-flex;align-items:center;min-height:2.2rem;color:var(--siena-white);text-decoration:none;font-family:Gudea,Arial,sans-serif;border:1px solid #ffffff52;border-radius:999px;padding:.45rem .9rem}.navLink:hover{background:#ffffff1a}.navButton{display:inline-flex;align-items:center;min-height:2.2rem;color:var(--siena-white);text-decoration:none;font-family:Gudea,Arial,sans-serif;border:1px solid #ffffff52;background:transparent;border-radius:999px;padding:.45rem .9rem;cursor:pointer}.navButton:hover{background:#ffffff1a}.userBar{width:100%;max-width:none;margin:0;padding:0 clamp(.75rem,2.2vw,1.5rem) .6rem}.userBarText{margin:0;color:#d6ebe2;font-size:.8rem}.heroCard,.panel,.projectCard,.tableWrap{background:var(--surface);border:1px solid var(--surface-border);border-radius:16px}.heroCard,.sectionHeader{margin-bottom:1rem}.heroCard{padding:1.25rem}.eyebrow{margin:0;font-family:Gudea,Arial,sans-serif;color:var(--siena-green);font-size:.86rem;text-transform:uppercase;letter-spacing:.08em}.heroTitle{margin-top:.35rem;font-size:clamp(1.6rem,3.2vw,2.5rem)}.heroSubtitle{color:var(--text-muted);margin:.5rem 0 0}.helperText{margin-top:.25rem;color:var(--text-muted);font-size:.82rem}.successNote{color:var(--siena-light-green)}.errorNote,.successNote{margin:.6rem 0 0;font-family:Gudea,Arial,sans-serif}.errorNote{color:var(--siena-red)}.gridCards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));grid-gap:.9rem;gap:.9rem}.projectCard{padding:1rem}.projectCardHeader h2{font-size:1.3rem}.projectCardHeader p{margin:.3rem 0 .8rem;color:var(--text-muted)}.metricGrid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));grid-gap:.5rem 1rem;gap:.5rem 1rem;margin:0 0 .9rem}.metricGrid div{padding:.5rem;border:1px solid #e3e8e3;border-radius:10px}.metricGrid dt{color:var(--text-muted);font-size:.78rem;margin-bottom:.18rem}.metricGrid dd{margin:0;font-size:.95rem;font-weight:700}.positive{color:var(--siena-light-green)}.negative{color:var(--siena-red)}.buttonLink{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-family:Gudea,Arial,sans-serif;color:var(--siena-dark-green);border:1px solid var(--siena-dark-green);border-radius:999px;padding:.45rem .85rem}.buttonLink:disabled,.tinyButton:disabled{cursor:not-allowed;opacity:.55}.buttonPrimary{background:var(--siena-green);color:var(--siena-white)}.buttonPrimary:hover{background:var(--siena-dark-green)}.sectionHeader h1{margin-top:.2rem}.tableWrap{overflow:auto;scrollbar-gutter:stable both-edges}.institutionalGridWrap{max-height:72vh}table{width:100%;border-collapse:collapse;min-width:clamp(680px,88vw,980px)}td,th{text-align:left;padding:.65rem .6rem;border-bottom:1px solid #e6ebe6;font-size:.9rem}th{font-family:Gudea,Arial,sans-serif;background:#f3f7f4}.institutionalGrid{min-width:1680px}.institutionalGrid td,.institutionalGrid th{vertical-align:top}.institutionalGrid thead th{top:0;z-index:4}.institutionalGrid thead th,.stickyCol{position:-webkit-sticky;position:sticky}.stickyCol{background:var(--surface);z-index:3;box-shadow:1px 0 0 #e6ebe6}.institutionalGrid thead .stickyCol{background:#f3f7f4;z-index:5}.stickyCol1{left:0;min-width:92px;width:92px}.stickyCol2{left:92px;min-width:160px;width:160px}.stickyCol3{left:252px;min-width:190px;width:190px}.stickyCol4{left:442px;min-width:130px;width:130px}.budgetMonthCell,.monthHeader{min-width:150px;text-align:right}.budgetMonthCell{background:#ffffff}.emptyMonthCell{color:var(--text-muted)}.negativeMonthCell{background:#fff4f1;outline:1px solid #f0b0a1;outline-offset:-1px}.monthAvailable{font-weight:800}.monthMeta{display:grid;grid-gap:.12rem;gap:.12rem;margin:.25rem 0;color:var(--text-muted);font-size:.74rem}.compactHeaderCell{max-width:150px;width:150px;white-space:normal;line-height:1.15}.sortHeaderButton{border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:.2rem}.statusChip{display:inline-flex;border-radius:999px;font-size:.75rem;padding:.2rem .55rem;text-transform:uppercase;letter-spacing:.05em;font-family:Gudea,Arial,sans-serif}.status-requested{background:#fff0b5;color:#6b5300}.status-encumbered{background:#dbf3d8;color:#1f5f1e}.status-pending_cc{background:#dff4fb;color:#005a73}.status-posted{background:#dce9e2;color:#1b4932}.status-ordered{background:#ffe5c2;color:#8a4300}.status-partial_received{background:#efe5ff;color:#5d2f9e}.status-fully_received{background:#dfd0ff;color:#45207a}.status-invoice_sent{background:#dff4fb;color:#005a73}.status-invoice_received{background:#cfeeff;color:#004f78}.status-paid{background:#dbf3d8;color:#1f5f1e}.status-cancelled{background:#f8dde0;color:#7f1d2a}.panelGrid{display:grid;grid-gap:.9rem;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.panel{padding:1rem}.panelFull{grid-column:1/-1}.panel h2{margin-bottom:.5rem;font-size:1.1rem}.panel ul{margin:.3rem 0 0;padding-left:1.1rem}.inlineActionRow{display:flex;gap:.6rem;margin-bottom:.8rem}.singlePicker{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:.8rem;max-width:340px;font-family:Gudea,Arial,sans-serif}.singlePicker select{border:1px solid #cbd6ce;border-radius:8px;padding:.42rem .5rem}.treeNode{border:1px solid #e3e8e3;border-radius:10px;padding:.5rem .6rem;margin-bottom:.55rem;background:#fafcfa}.treeNode>summary{cursor:pointer;font-family:Gudea,Arial,sans-serif}.childNode{margin-left:.7rem;margin-top:.5rem}.inlineEditForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.45rem;gap:.45rem;margin:.55rem 0}.inlineEditForm input,.inlineEditForm select{border:1px solid #cbd6ce;border-radius:8px;padding:.38rem .45rem}.authShell{display:grid;place-items:center;min-height:calc(100vh - 180px);padding:1rem}.authCard{width:min(460px,100%);background:var(--surface);border:1px solid var(--surface-border);border-radius:16px;padding:1.2rem}.authCard h1{margin:.4rem 0}.authModeSwitch{display:grid;grid-template-columns:1fr 1fr;grid-gap:.4rem;gap:.4rem;margin:.8rem 0 .7rem}.authModeButton{border:1px solid #cbd6ce;background:#f5f8f6;color:var(--text-main);border-radius:999px;padding:.5rem .7rem;font-family:Gudea,Arial,sans-serif;cursor:pointer}.authModeButton.active{background:var(--siena-green);border-color:var(--siena-dark-green);color:var(--siena-white)}.authForm{display:grid;grid-gap:.55rem;gap:.55rem}.authForm label{display:grid;grid-gap:.3rem;gap:.3rem;font-family:Gudea,Arial,sans-serif;font-size:.9rem}.authForm input{border:1px solid #cbd6ce;border-radius:8px;padding:.45rem .5rem;font-family:Merriweather,Georgia,serif}.authDivider{display:grid;place-items:center;margin-top:.5rem}.authDivider span{color:var(--text-muted);font-size:.85rem}.authButton,.authDivider span{font-family:Gudea,Arial,sans-serif}.authButton{width:100%;padding:.65rem .9rem;border:1px solid var(--siena-dark-green);background:var(--siena-green);color:var(--siena-white);border-radius:999px;cursor:pointer;margin-top:.9rem}.authButton:disabled{opacity:.7;cursor:wait}.authError{margin-top:.8rem;color:var(--siena-red)}.requestFormPanel{margin-bottom:1rem}.requestForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.7rem;gap:.7rem;align-items:end}.requestForm label{display:grid;grid-gap:.35rem;gap:.35rem;font-family:Gudea,Arial,sans-serif;font-size:.86rem}.checkboxLabel{display:flex!important;align-items:center;gap:.45rem!important}.inlineStatusForm input,.inlineStatusForm select,.requestForm input,.requestForm select{border:1px solid #cbd6ce;border-radius:8px;padding:.42rem .5rem;font-family:Merriweather,Georgia,serif;min-width:0}.batchLinesBlock,.splitAllocations{grid-column:1/-1;border:1px solid #d9e1da;border-radius:10px;padding:.6rem;background:#f8fbf8;display:grid;grid-gap:.5rem;gap:.5rem}.batchLinesHeader{display:flex;justify-content:space-between;align-items:center}.batchLineRow{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1fr 1fr auto;grid-gap:.45rem;gap:.45rem;align-items:center}.checkboxStack{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:.5rem}.splitRow{grid-template-columns:2fr 2fr 1fr 1.3fr auto;grid-gap:.45rem;gap:.45rem}.inlineStatusForm,.splitRow{display:grid;align-items:center}.inlineStatusForm{grid-template-columns:1fr 110px auto;grid-gap:.35rem;gap:.35rem}.tinyButton{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--siena-dark-green);border-radius:999px;background:transparent;padding:.35rem .65rem;font-family:Gudea,Arial,sans-serif;cursor:pointer}.varianceCenter{gap:1rem}.varianceCard,.varianceStatusPanel{display:grid;grid-gap:.9rem;gap:.9rem}.varianceCard{padding:1rem;border:1px solid #dfe7e1;border-radius:8px;background:#fbfdfb}.varianceFundingGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.6rem;gap:.6rem}.varianceFundingGrid div{padding:.65rem;border:1px solid #dfe7e1;border-radius:8px;background:#ffffff}.sourceCandidate small,.varianceFundingGrid span{display:block;color:var(--text-muted);font-family:Gudea,Arial,sans-serif;font-size:.78rem}.varianceFundingGrid strong{display:block;margin-top:.15rem;font-size:1.05rem}.varianceAlert{grid-column:1/-1}.varianceControlForm,.varianceSourceForm{display:grid;grid-gap:.75rem;gap:.75rem;padding:.85rem;border:1px solid #e2e8e3;border-radius:8px;background:#ffffff}.sourcePicker label,.varianceControlForm label,.varianceSourceForm label{display:grid;grid-gap:.3rem;gap:.3rem;font-family:Gudea,Arial,sans-serif}.sourcePicker input,.varianceControlForm input,.varianceControlForm select,.varianceSourceForm input{width:100%;border:1px solid #cbd6ce;border-radius:8px;padding:.48rem .55rem;background:#ffffff;color:var(--text-main)}.sourcePicker{display:grid;grid-gap:.65rem;gap:.65rem}.sourceCandidateList{display:grid;grid-gap:.45rem;gap:.45rem;max-height:320px;overflow:auto;padding-right:.25rem}.sourceCandidate{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:.6rem;gap:.6rem;align-items:center;width:100%;border:1px solid #d7e0d9;border-radius:8px;background:#ffffff;padding:.55rem .65rem;text-align:left;cursor:pointer}.sourceCandidate.selected{border-color:var(--siena-green);box-shadow:0 0 0 2px #006b5421}.sourceCandidate em{color:var(--siena-red);font-family:Gudea,Arial,sans-serif;font-size:.75rem;font-style:normal}.sourceLineList{display:grid;grid-gap:.5rem;gap:.5rem}.sourceLineRow{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.65rem;border:1px solid #dfe7e1;border-radius:8px;background:#ffffff}.varianceActions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.dangerButton{border-color:var(--siena-red);color:var(--siena-red)}.actionCell{gap:.45rem}.actionCell,.bulkToolbar{display:flex;align-items:center}.bulkToolbar{justify-content:space-between;gap:.8rem;margin:0 0 .6rem}.bulkMeta{margin:0;font-family:Gudea,Arial,sans-serif;color:var(--text-muted)}.bulkActions{display:flex;gap:.45rem;align-items:center}.inlineFilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.6rem;gap:.6rem;align-items:end}.inlineFilters label{display:grid;grid-gap:.35rem;gap:.35rem;font-family:Gudea,Arial,sans-serif;font-size:.86rem}.inlineFilters input,.inlineFilters select{border:1px solid #cbd6ce;border-radius:8px;padding:.42rem .5rem;font-family:Merriweather,Georgia,serif;min-width:0}.rowSelectCell,.rowSelectHeader{width:2.2rem;text-align:center}.modalOverlay{position:fixed;inset:0;background:rgba(10,20,14,.42);display:grid;place-items:start center;z-index:1000;padding:1rem 1rem 2rem;overflow-y:auto}.modalOverlay,.modalPanel{scrollbar-gutter:stable both-edges}.modalPanel{width:min(920px,100%);max-height:calc(100vh - 2rem);background:var(--surface);border:1px solid var(--surface-border);border-radius:14px;padding:1rem;overflow:auto}.modalActions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.5rem}.contractBulkPanel{padding:.6rem}.contractBulkShared{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.7rem;gap:.7rem;align-items:end}.contractBulkShared label{display:grid;grid-gap:.35rem;gap:.35rem;font-family:Gudea,Arial,sans-serif;font-size:.86rem}.contractBulkShared input,.contractBulkShared select{border:1px solid #cbd6ce;border-radius:8px;padding:.42rem .5rem;font-family:Merriweather,Georgia,serif;min-width:0}.contractBulkLines{grid-column:1/-1}.contractBulkHeader{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr) minmax(120px,.8fr) auto;grid-gap:.6rem;gap:.6rem;margin:0 0 .4rem;font-family:Gudea,Arial,sans-serif;font-size:.82rem;color:var(--text-muted)}.contractBulkRows{display:grid;grid-gap:.5rem;gap:.5rem}.contractBulkRow{display:grid;grid-template-columns:minmax(0,2fr) minmax(120px,1fr) minmax(120px,.8fr) auto;grid-gap:.6rem;gap:.6rem;align-items:end}.contractBulkRow label{display:grid;grid-gap:.3rem;gap:.3rem}.contractBulkRow label>span{display:none;font-family:Gudea,Arial,sans-serif;font-size:.8rem;color:var(--text-muted)}.contractBulkAction{display:flex;align-items:flex-end}.contractBatchRow{display:grid;grid-template-columns:minmax(0,2fr) minmax(140px,1fr) minmax(170px,1fr) auto;grid-gap:.45rem;gap:.45rem;align-items:center}.contractBatchRow input,.contractBatchRow select{border:1px solid #cbd6ce;border-radius:8px;padding:.42rem .5rem;font-family:Merriweather,Georgia,serif;min-width:0}.reorderBlock{margin:.55rem 0 .7rem}.reorderDetails{margin:.5rem 0 .7rem;border:1px dashed #c9d6ce;border-radius:10px;background:#f9fbfa;padding:.35rem .5rem}.reorderDetails>summary{cursor:pointer;font-family:Gudea,Arial,sans-serif;color:var(--siena-dark-green)}.reorderHint{margin:0 0 .4rem;font-size:.85rem;color:var(--text-muted)}.reorderList{list-style:none;margin:0 0 .5rem;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.reorderItem{border:1px solid #d7ddd7;border-radius:8px;padding:.35rem .55rem;background:#ffffff;cursor:-webkit-grab;cursor:grab;font-family:Gudea,Arial,sans-serif;font-size:.86rem}.dragHandle{display:inline-block;margin-right:.45rem;color:var(--text-muted)}.allocationEditorPanel{margin-bottom:1.5rem}.allocationSummary{border:1px solid #cfd9d3;border-radius:999px;background:#f8fbf9;padding:.35rem .7rem;color:var(--siena-dark-green);font-family:Gudea,Arial,sans-serif;font-weight:700}.allocationEditorFilters{margin-bottom:1rem}.allocationMatrix{display:grid;grid-gap:1rem;gap:1rem}.allocationProjectGroup{border:1px solid #d7ddd7;border-radius:8px;background:#ffffff;overflow:hidden}.allocationProjectGroup>header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;background:#f6f8f7;border-bottom:1px solid #d7ddd7}.allocationProjectGroup h3{margin:0;color:var(--siena-dark-green)}.allocationEditorTable td,.allocationEditorTable th{vertical-align:middle}.allocationLineName{min-width:13rem}.allocationInlineForm{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.allocationInlineForm input[type=number]{width:9rem}.inlineCheckbox{display:inline-flex;align-items:center;gap:.3rem;font-family:Gudea,Arial,sans-serif;color:var(--text-main)}.allocationDirtyRow{background:#fff8e8}.compactNote{margin:.35rem 0 0;padding:.35rem .5rem}.dangerButton{border-color:#b34040;color:#8f2525}.dangerButton:hover{background:#fff0f0}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#e6ece8;border-radius:999px}::-webkit-scrollbar-thumb{background:#8ea59a;border-radius:999px;border:2px solid #e6ece8}::-webkit-scrollbar-thumb:hover{background:#6f887c}@media (max-width:720px){.topNavInner{flex-direction:column;align-items:flex-start}.mainNav{width:100%;flex-wrap:wrap}.batchLineRow,.inlineStatusForm,.splitRow{grid-template-columns:1fr}.bulkToolbar{flex-direction:column;align-items:flex-start}.contractBulkHeader{display:none}.contractBulkRow{grid-template-columns:1fr;border:1px solid #d7ddd7;border-radius:10px;padding:.5rem}.contractBulkRow label>span{display:block}.contractBatchRow{grid-template-columns:1fr}}@media (max-width:860px){table{min-width:640px}}