*{box-sizing:border-box} [hidden]{display:none!important} :root{--nav:#142640;--accent:#285da8;--ink:#202832;--line:#dce3ed;--muted:#65758b}body{margin:0;font-family:Arial,sans-serif;color:var(--ink);background:#f4f6fa;line-height:1.5}.development{padding:5px 20px;background:#f5e9cd;text-align:center;font-size:12px;color:#634e2c}.wordmark{font-size:28px;font-weight:800;letter-spacing:3px;color:white}.wordmark span{display:block;font-size:9px;letter-spacing:3px;font-weight:400}header{background:var(--nav);color:white;display:flex;align-items:center;gap:44px;padding:25px 5%}h1{font-size:25px;margin:2px 0}h2{font-size:20px;margin:0 0 12px}.eyebrow{font-size:10px;letter-spacing:2px;color:#90a8cb}.user{margin-left:auto;display:flex;align-items:center;gap:20px}main{max-width:1380px;padding:28px;margin:auto}button,input,select{font:inherit}button{cursor:pointer;padding:10px 16px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink)}button.primary{background:var(--accent);border-color:var(--accent);color:white}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #87addf;outline-offset:2px}label{display:block;font-size:12px;color:var(--muted);font-weight:600}input,select{display:block;width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;margin-top:5px;color:var(--ink);background:white}.customer-box{display:flex;align-items:center;gap:35px;background:white;border:1px solid var(--line);padding:20px;border-radius:10px}.customer-box label{min-width:270px}.customer-box p{margin:4px 0;color:var(--muted);font-size:13px}.filters{display:flex;align-items:end;gap:16px;margin:22px 0}.filters label{flex:1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards>div{background:white;border:1px solid var(--line);border-radius:10px;padding:24px}.cards>div:first-child{background:var(--nav);color:white}.cards span{display:block;font-size:10px;letter-spacing:.5px}.cards strong{display:block;font-size:30px;margin-top:12px}.panel{background:white;border:1px solid var(--line);padding:24px;border-radius:10px;margin-top:20px}.panel p,#dataState{font-size:13px;color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;background:#eaf0fa;color:#38506d;font-size:11px}td,th{padding:12px;border-bottom:1px solid var(--line)}td small{display:block;color:var(--muted)}td.money{text-align:right;white-space:nowrap}.table-wrap{overflow:auto}.import-grid{display:grid;grid-template-columns:1fr 1fr 2fr auto;align-items:end;gap:15px}#preview{padding:20px;background:#eef3fc;margin:20px 0}#preview label{margin:10px 0}.check{display:flex;gap:10px;align-items:center;margin:10px 0}.check input{width:auto;margin:0}#approve{margin-top:18px}#notice{min-height:24px;white-space:pre-line;color:#8f3434}footer{font-size:12px;color:var(--muted);padding:25px 0}.login{max-width:1000px;margin:60px auto;display:grid;grid-template-columns:1fr 1fr;min-height:550px;background:white;border-radius:14px;overflow:hidden;box-shadow:0 15px 60px #14264012}.login-art{background:var(--nav);padding:50px;color:white}.login-art h1{font-size:39px;line-height:1.2;margin:100px 0 20px}.login-art p{color:#a9bddc}.login form{padding:70px 45px}.login label{margin:20px 0}.login button{width:100%}#grantForm{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}#accounts>div{padding:10px 0;border-bottom:1px solid var(--line)}#accounts button{margin-left:20px}.grant-item{display:flex;gap:20px;flex-wrap:wrap}#loginError{color:#97313d}@media(max-width:850px){header{gap:20px;flex-wrap:wrap}.filters{flex-wrap:wrap}.filters label{min-width:180px}.cards{grid-template-columns:1fr}.import-grid{grid-template-columns:1fr}.customer-box{display:block}.login{display:block;margin:20px}.login-art{padding:30px}.login-art h1{margin:35px 0;font-size:30px}.login form{padding:30px}.user{margin-left:0}main{padding:16px}}
.brand-logo{width:150px;height:96px;object-fit:contain;filter:brightness(0) invert(1)}.login-art .brand-logo{width:210px;height:140px}.login-art h1{margin-top:55px}.planning-heading{display:flex;align-items:center;justify-content:space-between}.badge{background:#eaf0fa;color:#285da8;border-radius:20px;padding:7px 14px;font-size:12px}textarea{font:inherit;display:block;width:100%;border:1px solid var(--line);border-radius:7px;margin:6px 0 12px;padding:10px;color:var(--ink)}#planForm,#reviewForm{background:#f4f7fc;padding:20px;border:1px solid var(--line);border-radius:9px;margin:18px 0}h3{font-size:16px;margin:8px 0 15px}.months-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0}.actions{display:flex;gap:10px;flex-wrap:wrap}.plan-status{display:block;font-weight:bold;color:#285da8}#planNotice{color:#8f3434;white-space:pre-line}#planningPermissions>div{padding:10px 0;display:flex;align-items:center;gap:20px}#planningPermissions button{margin-left:auto}summary{cursor:pointer;color:#285da8;padding:12px 0}.plan-button{padding:7px 10px;margin:3px;font-size:12px}@media(max-width:850px){.months-grid{grid-template-columns:repeat(2,1fr)}header .brand-logo{width:115px;height:75px}}

.section-nav{display:flex;gap:10px;margin:0 0 20px}.section-nav a{padding:9px 16px;border-radius:7px;background:#e6eefb;color:#285da8;text-decoration:none;font-size:13px;font-weight:bold}.section-nav a:focus-visible{outline:3px solid #87addf}
.report-toolbar{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.report-toolbar h2{margin-right:auto}.report-toolbar select{width:210px}.report-tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding:15px 0;margin-bottom:22px}.report-tabs [aria-selected=true]{background:var(--accent);color:white;border-color:var(--accent)}.drill-link{background:none;border:0;padding:2px 0;color:var(--accent);font-size:inherit;text-align:left;text-decoration:underline;text-underline-offset:3px}.drill-path{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 0}.drill-path button{padding:6px 10px}.report-total td{font-weight:bold;background:#eef3fc}.report-empty{text-align:center;color:var(--muted);padding:24px}#detailTotals{padding:14px;background:#eef3fc;border-radius:7px;color:var(--ink)}#view-detail .filters{flex-wrap:wrap}#view-detail select{width:auto;flex:1;min-width:160px}#guvAccounts>div{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;margin:12px 0}#bookingSearchBox{max-width:500px;margin:18px 0}#bookingPages{align-items:center;justify-content:center;margin-top:18px}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;max-width:850px;width:90%;max-height:85vh;color:var(--ink)}dialog::backdrop{background:#14264099}#bookingFields td{overflow-wrap:anywhere;max-width:480px}#bookingFields th{min-width:170px}#guvMessage{color:#8f3434}@media(max-width:650px){#guvAccounts>div{grid-template-columns:1fr}.report-toolbar label{display:none}.report-tabs button{font-size:12px;padding:9px}.report-toolbar select{width:100%}dialog{padding:16px}#bookingFields th{min-width:100px}}
.application-layout{display:grid;grid-template-columns:240px minmax(0,1fr);max-width:1700px;margin:auto;min-height:calc(100vh - 170px)}.application-layout>main{width:100%;min-width:0;margin:0;max-width:none}.sidebar{padding:28px 16px;background:#edf2f9;border-right:1px solid var(--line)}.sidebar nav{position:sticky;top:20px}.nav-caption{display:block;color:var(--muted);font-size:10px;letter-spacing:1.5px;padding:0 12px 14px}.nav-item{width:100%;display:block;text-align:left;border:0;background:transparent;font-size:13px;padding:12px;margin:3px 0;border-radius:7px}.nav-item:hover{background:#dfe8f6}.nav-item[aria-current=page]{background:var(--accent);color:white;font-weight:bold}.nav-tree{margin-top:12px}.nav-tree summary{font-size:13px;font-weight:bold;padding:10px 8px;color:var(--nav)}.nav-children{margin-left:10px;padding-left:8px;border-left:1px solid #ccd7e7}.nav-footnote{color:#6b7c92;font-size:11px;padding:30px 12px}.master-fields{display:grid;grid-template-columns:1fr 2fr;gap:18px}#masterForm{padding:22px;background:#f4f7fc;border:1px solid var(--line);border-radius:9px;margin:20px 0}#masterForm label{margin:12px 0}#masterCode[readonly]{background:#e8edf5;color:#64748b}#masterNotice{color:#285da8}#masterCount{font-size:12px;color:var(--muted)}@media(max-width:1000px){.application-layout{grid-template-columns:210px minmax(0,1fr)}.filters{flex-wrap:wrap}.filters label{min-width:160px}}@media(max-width:850px){.application-layout{display:block}.sidebar{padding:12px 16px;border-right:0;border-bottom:1px solid var(--line)}.sidebar nav{position:static}.nav-footnote{display:none}.nav-caption{padding-bottom:5px}.nav-tree{margin-top:4px}.nav-item{padding:9px 12px}.master-fields{grid-template-columns:1fr}#masterPanel .planning-heading{align-items:start;flex-direction:column;gap:12px}}

#auditFilters{flex-wrap:wrap}#auditFilters label{min-width:150px}#auditRows td{vertical-align:top;overflow-wrap:anywhere;white-space:pre-wrap;max-width:330px}#auditNotice{color:#8f3434}.audit-pages{align-items:center;justify-content:space-between;margin-top:20px}#auditCount{font-size:12px;color:var(--muted)}
#auditPanel table{min-width:850px}#auditRows td:first-child{white-space:nowrap;min-width:155px}#auditRows td:nth-child(2){min-width:130px}#auditRows td:nth-child(3){min-width:165px}#auditRows td:nth-child(4){min-width:140px}
@media(max-width:650px){#auditPanel table{min-width:0}#auditPanel thead{display:none}#auditRows,#auditRows tr{display:block}#auditRows tr{border:1px solid var(--line);border-radius:8px;margin-bottom:14px;overflow:hidden}#auditRows td{display:block;min-width:0!important;max-width:none;white-space:pre-wrap!important;padding:9px 12px;border-bottom:1px solid #edf2f9}#auditRows td[data-label]::before{content:attr(data-label);display:block;font-size:10px;font-weight:bold;color:var(--muted);margin-bottom:3px}#auditRows td:last-child{border:0}.audit-pages{align-items:flex-start}}

#budgetForm,#budgetReview{padding:22px;background:#f4f7fc;border:1px solid var(--line);border-radius:9px;margin:20px 0}#budgetForm label,#budgetReview label{margin:12px 0}#budgetMembers li{margin:8px 0}#budgetMembers button{margin-left:12px}#budgetsPanel td{vertical-align:top;white-space:pre-wrap}#budgetNotice{color:#285da8}#budgetReviewText{white-space:pre-wrap}#budgetsPanel h3{margin-top:28px}

@media(max-width:650px){#budgetsPanel .planning-heading{flex-direction:column;align-items:flex-start;gap:12px}#budgetsPanel table{min-width:0;width:100%}#budgetsPanel thead{display:none}#budgetGroups,#budgetSingles,#budgetGroups tr,#budgetSingles tr{display:block}#budgetsPanel tbody tr{border:1px solid var(--line);border-radius:8px;margin-bottom:14px}#budgetsPanel td{display:block;max-width:none;white-space:pre-wrap;overflow-wrap:anywhere;padding:9px 12px}#budgetsPanel td[data-label]::before{content:attr(data-label);display:block;font-size:10px;font-weight:bold;color:var(--muted);margin-bottom:3px}#budgetForm,#budgetReview{padding:14px}#budgetForm .filters{display:block}#budgetForm .filters button{margin-top:12px}}
@media(max-width:650px){.customer-box label{min-width:0}.customer-box select{max-width:100%}}

.state-summary{padding:16px;background:#eaf0fa;border-radius:8px;white-space:pre-wrap}.state-controls{display:grid;grid-template-columns:1fr 1fr;gap:20px}.state-controls form,#restoreReview{padding:20px;background:#f4f7fc;border:1px solid var(--line);border-radius:9px;margin:20px 0}.state-controls label,#restoreReview label{margin:12px 0}#stateNotice{color:#285da8}#restoreDetails{white-space:pre-wrap}#stateBatches td{vertical-align:top;overflow-wrap:anywhere;white-space:pre-wrap}#stateBatches button{margin-top:8px}#financeStatePanel h3{margin-top:22px}@media(max-width:850px){.state-controls{grid-template-columns:1fr}}@media(max-width:650px){#financeStatePanel .planning-heading{flex-direction:column;align-items:flex-start;gap:12px}#financeStatePanel table{min-width:0}#financeStatePanel thead{display:none}#stateBatches,#stateBatches tr{display:block}#stateBatches tr{border:1px solid var(--line);border-radius:8px;margin-bottom:14px}#stateBatches td{display:block;padding:9px 12px}#stateBatches td[data-label]::before{content:attr(data-label);display:block;font-size:10px;font-weight:bold;color:var(--muted);margin-bottom:3px}}

/* Persistent company signature; reserve space so it never covers navigation. */
.sidebar{padding-bottom:150px}
.sidebar nav{max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px);overflow-y:auto;scrollbar-gutter:stable}
.sidebar-brand{position:fixed;bottom:0;left:max(0px,calc((100% - 1700px)/2));width:240px;min-height:132px;z-index:20;display:flex;align-items:center;gap:10px;padding:16px;background:#edf2f9;border-top:1px solid var(--line);border-right:1px solid var(--line);color:#111}
.sidebar-brand-logo{display:block;width:64px;height:64px;object-fit:contain;filter:brightness(0);flex-shrink:0}
.sidebar-brand p{margin:0;font-size:12px;line-height:1.5}
.sidebar-brand a{display:inline-block;margin-top:8px;color:#38506d;font-size:11px;text-underline-offset:3px}
.sidebar-brand a:focus-visible{outline:3px solid #87addf;outline-offset:3px}
@media(max-width:1000px){.sidebar-brand{width:210px;padding:12px;gap:8px}.sidebar-brand-logo{width:50px;height:56px}}
@media(max-width:850px){#app{padding-bottom:92px}.sidebar{padding-bottom:12px}.sidebar nav{max-height:none;overflow:visible;scrollbar-gutter:auto}.sidebar-brand{left:0;width:100%;min-height:80px;padding:10px 16px;border-right:0;gap:12px}.sidebar-brand-logo{width:54px;height:54px}.sidebar-brand>div{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:1}.sidebar-brand a{margin-top:0}}

/* Fit the menu above the fixed brand, including expanded trees and browser zoom. */
@media(min-width:851px){.sidebar nav{max-height:var(--menu-available-height,calc(100dvh - 340px));overflow-y:scroll;overscroll-behavior:contain;scrollbar-width:auto;scrollbar-color:#879bb6 #e1e8f2;padding-right:6px}.sidebar nav::-webkit-scrollbar{width:12px}.sidebar nav::-webkit-scrollbar-track{background:#e1e8f2;border-radius:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#879bb6;border:3px solid #e1e8f2;border-radius:6px}}
