:root { font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #312e2b; background: #f8f6f2; line-height: 1.5; font-size: 14px; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; }
header { display: flex; align-items: center; flex-direction: column; padding: 28px 24px 20px; border-bottom: 1px solid #e7e5e4; }
.brand { font-family: Georgia, serif; font-size: 26px; font-weight: 700; letter-spacing: -1.7px; }
.product-name, .eyebrow { font-size: 10px; letter-spacing: 1.5px; font-weight: 600; color: #78736d; }
.product-name { margin-top: 8px; }
main { max-width: 1000px; margin: 0 auto; padding: 24px; }
.panel { border: 1px solid rgba(231,229,228,.8); background: white; border-radius: 12px; padding: 24px; }
.gate { max-width: 460px; margin: 40px auto 60px; }
h1 { font-size: 24px; letter-spacing: -.6px; margin: 12px 0; }
h2 { font-size: 15px; margin: 0 0 16px; }
p { margin: 12px 0; }
#gate-message { color: #57534e; min-height: 42px; }
.fineprint, .muted, .integration-note, footer { color: #78736d; font-size: 12px; }
.fineprint { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid #e7e5e4; }
button, select { font: inherit; min-height: 44px; border: 1px solid #d6d3d1; border-radius: 4px; color: #312e2b; background: white; padding: 9px 14px; }
button { cursor: pointer; font-size: 13px; font-weight: 500; }
button:hover { background: #f5f5f4; }
button:disabled { cursor: wait; opacity: .6; }
button.primary { background: #292524; color: white; border-color: #292524; }
button.primary:hover { background: #44403c; }
:focus-visible { outline: 2px solid #047857; outline-offset: 3px; }
.gate-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 24px; }
.actions { display: flex; flex-wrap: wrap; gap: 8px; }
.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.organization-panel { margin-bottom: 16px; }
label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 6px; }
select { width: 100%; max-width: 450px; }
#project-list { list-style: none; padding: 0; margin: 0; }
#project-list li { border-top: 1px solid #e7e5e4; padding: 14px 0; overflow-wrap: anywhere; }
#project-list h3 { font-size: 14px; margin: 0; }
#project-list p { margin: 6px 0 0; white-space: pre-wrap; }
footer { border-top: 1px solid #e7e5e4; padding-top: 16px; margin-top: 32px; }
.skip:not(:focus) { position: absolute; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }
.skip:focus { position: absolute; top: 8px; left: 8px; padding: 10px; background: white; }
@media (max-width: 600px) { main { padding: 16px; } .gate { margin-top: 24px; padding: 20px; } .toolbar { flex-direction: column; align-items: flex-start; } .actions { width: 100%; } .actions button { flex: 1; } select { font-size: 16px; } }

.archive-panel,#budget-panel {margin-top:16px;}
#archive-list,#budget-list {padding-left:20px;}
#archive-list li {padding:14px 0;overflow-wrap:anywhere;}
#archive-list button {margin:4px;}
pre {white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:280px;overflow:auto;}
summary {cursor:pointer;margin-top:12px;}
.working-panel { margin-bottom: 20px; }
.editor-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:20px 0 12px; flex-wrap:wrap; }
.record-card { padding:16px 0; border-bottom:1px solid #e7e5e4; overflow-wrap:anywhere; }
.record-card h3 { margin:0; font-size:15px; }
.record-card p { margin:6px 0; }
.source-meta { font-size:11px; color:#78736d; overflow-wrap:anywhere; }
.policy-warning { padding:14px; background:#fbf4df; border:1px solid #e9ddba; border-radius:8px; margin:18px 0; overflow-wrap:anywhere; }
.policy-warning p { margin:6px 0; font-size:12px; }
.working-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.working-tabs [aria-pressed=true] { background:#292524; color:white; }
.working-table-wrap { overflow:auto; margin:14px 0; }
.working-panel table, #working-conflict table { border-collapse:collapse; width:100%; font-size:12px; }
.working-panel td,.working-panel th,#working-conflict td,#working-conflict th { padding:12px; border-bottom:1px solid #e7e5e4; text-align:left; min-width:110px; max-width:280px; overflow-wrap:anywhere; white-space:pre-wrap; }
.working-panel th { font-size:10px; text-transform:uppercase; color:#78736d; }
.working-panel pre,#working-conflict pre { white-space:pre-wrap; overflow-wrap:anywhere; font-size:11px; }
.record-values { display:grid; grid-template-columns:1fr 2fr; gap:10px; }
.record-values dd { margin:0; overflow-wrap:anywhere; }
.working-dialog { width:min(800px,calc(100% - 32px)); max-height:90dvh; overflow:auto; padding:24px; border:1px solid #e7e5e4; border-radius:12px; color:#312e2b; }
.working-dialog::backdrop { background:#29252477; }
.working-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.work-field { min-width:0; }
.work-field input,.work-field textarea,.work-field select { width:100%; min-height:40px; padding:8px; border:1px solid #d6d3d1; border-radius:4px; font:inherit; margin:3px 0; }
.work-field textarea { min-height:64px; resize:vertical; }
.work-field input:disabled,.work-field textarea:disabled { background:#f5f5f4; }
#working-error { color:#a12c21; }
#working-conflict { overflow:auto; background:#faf7ee; margin:12px 0; padding:8px; }
#working-conflict:empty { display:none; }
#working-form + p { overflow-wrap:anywhere; }
@media(max-width:600px) { .working-form { grid-template-columns:1fr; } .working-dialog { padding:16px; } .work-field input,.work-field textarea,.work-field select { font-size:16px; min-height:44px; } .working-panel { padding:16px; } .record-values { grid-template-columns:1fr; gap:4px; } .record-values dd { margin-bottom:8px; } }

/* Reference: legacy App/Navbar, verified source notes supplied 2026-10-22. */
:root{background:#f8f6f3;color:#292524;font-variant-numeric:tabular-nums}
header{padding:16px 24px 10px;background:#f8f6f3;border:0}
.brand{height:40px;line-height:40px;font-size:30px}.product-name{display:none}
main{max-width:1280px;padding:0 24px 24px}.primary-nav{display:flex;justify-content:center;gap:28px;padding:6px 0 18px;border-bottom:1px solid #e7e5e4}.primary-nav button{border:0;background:transparent;border-radius:0;font-size:12px;min-height:32px;padding:6px 4px;color:#78716c}.primary-nav [aria-current=page]{color:#292524;border-bottom:2px solid #292524}.toolbar{margin:12px 0;gap:12px}.toolbar .actions{margin-left:auto}.toolbar button,.toolbar select{font-size:12px;min-height:32px;padding:5px 9px}.organization-panel{display:flex;align-items:center;gap:10px;margin:0}.organization-panel select{width:auto;max-width:230px;background:transparent;border-color:transparent}.organization-panel #role{font-size:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.annual-panel,.monthly-card,.assignment-panel{background:#fff;border:1px solid #e7e5e4;border-radius:12px;box-shadow:0 1px 2px #00000006}.annual-panel{padding:20px;margin-bottom:20px}.annual-heading{text-align:center}.annual-heading h1{font-size:10px;text-transform:uppercase;font-weight:500;letter-spacing:1px;margin:0 0 8px;color:#78716c}.year-control{display:flex;justify-content:center;align-items:center;gap:24px;margin-bottom:20px}.year-control button{border:0;font-size:22px;min-height:32px;padding:0 12px}.year-control strong{font-size:18px;font-weight:500}.annual-tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px}.annual-tile{background:#fafaf9;border:1px solid #f0eeec;border-radius:4px;padding:16px}.annual-tile h2,.monthly-card h2{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:500;color:#78716c;margin:0 0 8px}.amount{font-size:24px;font-weight:600;letter-spacing:-.5px;overflow-wrap:anywhere}.income .amount{color:#047857}.annual-tile p,.monthly-card p,.data-note{font-size:11px;color:#78716c;margin:8px 0 0}.month-pills{display:flex;gap:4px;overflow-x:auto;padding:0 0 12px;margin-bottom:8px}.month-pills button{flex:1;min-height:34px;padding:6px 10px;font-size:12px;border:0;border-radius:4px;background:transparent;white-space:nowrap}.month-pills [aria-pressed=true]{background:#292524;color:white}.monthly-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.monthly-card{padding:20px}.monthly-card.forecast{border-color:#fde68a;background:#fffcf5}.monthly-card.forecast .amount{color:#b45309}.monthly-card.invoiced .amount{color:#047857}.assignment-panel{overflow:hidden}.assignment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px}.assignment-toolbar h2{font-size:10px;text-transform:uppercase;letter-spacing:1px;margin:0}.assignment-toolbar button{background:#292524;color:#fff;font-size:12px;min-height:34px;padding:6px 12px}.assignment-scroll{overflow:auto}.assignment-scroll table{width:100%;min-width:1120px;border-collapse:collapse}.assignment-scroll th{font-size:10px;text-transform:uppercase;font-weight:500;color:#78716c;background:#fafaf9;letter-spacing:.5px}.assignment-scroll th,.assignment-scroll td{padding:12px;text-align:left;border-top:1px solid #e7e5e4}.assignment-scroll td{font-size:14px;max-width:260px;overflow-wrap:anywhere}.assignment-scroll td.money{white-space:nowrap}.assignment-scroll button{font-size:12px;min-height:32px;padding:4px 8px}.is-invoiced{background:#ecfdf5}.status-badge{font-size:10px;white-space:nowrap}.unavailable{color:#a8a29e}.assignment-panel>.data-note{padding:12px 20px;margin:0}.support-details{margin-top:24px;color:#78716c;font-size:12px}.support-details .panel{margin-top:12px}.support-details summary{margin-bottom:12px}.integration-note{font-size:11px}.loading{padding:40px;text-align:center}.mobile-assignments,.mobile-title,.mobile-result,.mobile-bottom-nav{display:none}
@media(max-width:768px){:root{background:#fafafa}body{padding-bottom:90px}header{position:sticky;top:0;z-index:5;background:#fafafaeF;backdrop-filter:blur(12px);padding:12px 16px}main{padding:0 16px 16px}.primary-nav{gap:14px;overflow:auto}.toolbar{flex-direction:row;align-items:center;flex-wrap:wrap}.toolbar .actions{width:auto}.toolbar .actions button{flex:none}.organization-panel{max-width:100%;flex-wrap:wrap}.organization-panel select{max-width:190px}.organization-panel #role{display:none}.annual-panel{padding:16px}.annual-tiles{gap:8px}.annual-tile{padding:12px}.amount{font-size:20px}.month-pills button{flex:none}.monthly-cards{gap:8px;grid-template-columns:1fr}.monthly-card{padding:16px}.assignment-toolbar{padding:16px}.assignment-toolbar button{display:none}.assignment-scroll{display:none}.mobile-assignments{display:grid;gap:12px;padding:0 12px 12px}.mobile-assignment{border:1px solid #e7e5e4;border-radius:12px;padding:16px}.mobile-assignment h3{font-size:14px;margin:0}.mobile-assignment p{font-size:12px;color:#78716c}.mobile-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:12px}.mobile-values span{display:block;font-size:10px;text-transform:uppercase;color:#78716c;margin-bottom:4px}.mobile-title{display:block;font-size:28px;margin:20px 0}.mobile-bottom-nav{display:flex;position:fixed;bottom:16px;left:16px;right:16px;z-index:6;border-radius:28px;background:#292524;padding:6px;box-shadow:0 8px 24px #29252433;justify-content:space-around}.mobile-bottom-nav button{background:transparent;border:0;color:#d6d3d1;font-size:10px;padding:8px 5px;min-height:44px}.mobile-bottom-nav [aria-current=page]{color:#fff}.assignment-panel{background:transparent;border:0;box-shadow:none}.support-details{margin-top:20px}.gate{margin-top:24px}.data-note{overflow-wrap:anywhere}}
.kpi-breakdown{display:grid;grid-template-columns:1fr auto;gap:10px;margin:0;font-size:12px}.kpi-breakdown dt{color:#78716c}.kpi-breakdown dd{margin:0;text-align:right;overflow-wrap:anywhere}.kpi-breakdown .kpi-result{font-weight:600}.mobile-overview{display:none}
@media(max-width:768px){.monthly-cards{display:none}.mobile-overview{display:block;margin-bottom:20px}.mobile-result-card,.mobile-pair article{background:white;border:1px solid #e7e5e4;border-radius:12px;padding:20px}.mobile-result-card{margin-bottom:12px}.mobile-overview h2{font-size:10px;text-transform:uppercase;color:#78716c;letter-spacing:1px;margin:0 0 12px}.mobile-overview p{font-size:11px;color:#78716c}.mobile-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mobile-pair article{padding:16px}.mobile-pair strong{font-size:18px;overflow-wrap:anywhere}.mobile-pair article:first-child strong{color:#047857}}
header{position:sticky;top:0;z-index:6}.primary-nav{position:sticky;top:66px;z-index:5;background:#f8f6f3}
@media(max-width:768px){.primary-nav{display:none}.mobile-bottom-nav button{white-space:nowrap}.toolbar{margin-top:0}}
/* Source-text comparison: icon navigation and compact right-aligned desktop actions. */
.primary-nav button{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}
.primary-nav svg{width:16px;height:16px;flex:none}
@media(min-width:1100px){.toolbar .actions{position:fixed;right:24px;top:26px;z-index:7}.toolbar{margin:10px 0}.organization-panel #role{display:none}}
.mobile-bottom-nav{max-width:384px;margin-left:auto;margin-right:auto;bottom:32px;padding:8px}
.mobile-bottom-nav button{width:56px;height:56px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px;font-size:10px;font-weight:500}
.mobile-bottom-nav svg{height:20px;width:20px;stroke-width:2.5}
.mobile-bottom-nav [aria-current=page]{background:#292524}
@media(max-width:768px){.mobile-bottom-nav{background:#1c1917}.mobile-bottom-nav [aria-current=page]{background:#292524}.primary-nav{display:none}body{padding-bottom:112px}}
/* Keep scrolled/focused content clear of the source-style floating mobile navigation. */
@media(max-width:768px){html{scroll-padding-bottom:144px}main :is(button,input,select,textarea,a,[tabindex]),.mobile-assignment,.working-table-wrap{scroll-margin-bottom:144px}body{padding-bottom:144px}}
