: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{display:flex;gap:.5rem}.navLink{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{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-block;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}.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}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}.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{border:1px solid var(--siena-dark-green);border-radius:999px;background:transparent;padding:.35rem .65rem;font-family:Gudea,Arial,sans-serif;cursor:pointer}.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)}::-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}}