:root{--ink:#243e38;--muted:#7b8781;--green:#216c5c;--dark:#183d37;--cream:#f7f8f3;--line:#e5e9e1;--white:#fff;--lime:#d9eda6;--radius:15px;font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--cream);font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:3px solid #77bbaa;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-size:38px;line-height:1.18;letter-spacing:-1.5px;font-weight:650;margin-bottom:10px}h2{font-size:19px;letter-spacing:-.4px;margin:0}h3{font-size:19px}small{font-size:12px}.muted{color:var(--muted)}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;background:#fff;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:34px 23px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;font-size:25px;font-weight:750;letter-spacing:-1px;line-height:1.1}.brand small{display:block;font-size:8px;letter-spacing:2.7px;margin-top:9px;font-weight:600;color:var(--muted)}.brand-light{font-weight:350}.brand-icon{width:39px;height:41px;border-radius:11px;background:var(--dark);color:var(--lime);display:flex;align-items:center;justify-content:center;font-size:33px;font-weight:400;letter-spacing:-10px;padding-right:9px;transform:rotate(-5deg)}.brand-icon span{opacity:.7}.workspace{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:10px;padding:14px 10px;margin:36px 0 29px;font-size:12px;font-weight:600}.workspace small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:3px}.workspace-icon{font-size:24px;color:var(--green)}.nav-label{font-size:9px;letter-spacing:1.7px;color:#939b95;margin:0 13px 13px}.nav-item{display:flex;gap:13px;align-items:center;border-radius:9px;padding:13px 15px;color:#6f7c74;font-size:13px;margin-bottom:7px}.nav-item>span{font-size:21px;line-height:1}.nav-item.is-active{background:#edf4e9;color:#285947;font-weight:650}.nav-item:hover{background:#f3f6ef}.sidebar-note{margin-top:auto;background:#f6f8ef;border:1px solid #e8eddb;border-radius:12px;padding:18px 15px;color:#4e6554}.sidebar-note>span{font-family:Georgia,serif;font-size:18px;font-style:italic}.sidebar-note p{font-size:11px;line-height:1.7;color:#809078;margin:9px 0 20px}.note-line{height:4px;background:linear-gradient(90deg,#507559 35%,#cbd8b4 35%);width:66px;border-radius:4px}.profile{border-top:1px solid var(--line);display:flex;align-items:center;gap:9px;margin-top:25px;padding-top:20px}.avatar{display:grid;place-items:center;background:#e9ecdf;width:34px;height:34px;border-radius:50%;font-size:13px}.profile>div{min-width:0;flex:1}.profile strong,.profile small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile strong{font-size:11px}.profile small{font-size:10px;color:var(--muted)}.logout{background:none;border:0;color:var(--muted);font-size:22px;padding:5px}.main-wrap{margin-left:252px;flex:1;min-width:0}.topbar{height:78px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 44px;background:#fafbf7;font-size:11px;color:#89928a}.topbar strong{font-weight:500;color:#4c6156}.topbar .muted{margin:0 13px}.local-badge{display:flex;align-items:center;gap:7px;color:#73816f}.local-badge i{width:6px;height:6px;border-radius:50%;background:#82a679}.main-content{max-width:1590px;margin:auto;padding:43px 44px 20px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:2px;color:#87927a;display:block;margin-bottom:12px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:31px}.page-heading p{font-size:13px;color:var(--muted);margin-bottom:0}.heading-dot{color:#8faa6a}.btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;border-radius:8px;padding:12px 18px;font-size:12px;font-weight:600;min-height:43px;border:1px solid transparent;white-space:nowrap;line-height:1.3}.btn.primary{background:var(--green);color:#fff;box-shadow:0 3px 6px #183d3710}.btn.primary:hover{background:#185646}.btn.secondary{border-color:#dfe5da;background:#fff;color:#53674f}.btn.secondary:hover{background:#f4f7ef}.btn.small{padding:9px 13px;min-height:35px;font-size:11px}.btn.wide{width:100%;justify-content:space-between}.stats-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px;margin-bottom:30px}.stat-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:23px 25px}.stat-card.featured{background:var(--dark);border-color:var(--dark);color:#fff;position:relative;overflow:hidden}.stat-card.featured:after{content:'';position:absolute;width:145px;height:145px;border:1px solid #ffffff0c;border-radius:50%;right:-35px;bottom:-85px;box-shadow:0 0 0 22px #ffffff03,0 0 0 45px #ffffff03;pointer-events:none}.stat-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6d7b70}.featured .stat-top{color:#d5dfd3}.stat-symbol{font-size:18px;width:30px;height:30px;display:grid;place-items:center;background:#f5f7f0;border-radius:8px;color:#829270}.featured .stat-symbol{background:#ffffff12;color:var(--lime)}.stat-value{font-size:32px;letter-spacing:-1px;margin:15px 0 10px;line-height:1.2;overflow-wrap:anywhere}.stat-value small{font-size:14px;letter-spacing:0;color:#8b9688;font-weight:400}.featured .stat-value small{color:#b9ccbd}.stat-caption{font-size:10px;color:#929a90}.featured .stat-caption{color:#b7cabb}.panel{border:1px solid var(--line);background:#fff;border-radius:var(--radius);overflow:hidden}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px 26px 18px}.panel-heading h2{font-size:17px}.panel-heading p{margin:6px 0 0;font-size:11px;color:#8a9388}.count-badge{background:#f0f3e9;color:#778769;border-radius:5px;font-size:10px;font-weight:500;padding:4px 7px;vertical-align:middle;margin-left:7px}.export-actions{display:flex;gap:8px}.quick-filters{display:flex;gap:8px;padding:0 26px 18px;flex-wrap:wrap}.chip{font-size:11px;padding:6px 12px;border-radius:6px;color:#808c7b;border:1px solid transparent}.chip.selected{background:#edf4e9;color:#3b664d;border-color:#e4ecd9}.chip:hover{background:#f3f6ee}.filter-form{padding:18px 26px;border-top:1px solid #eff1ea;background:#fcfdf9;display:flex;align-items:flex-end;gap:12px}.filter-form label{font-size:10px;min-width:0;flex:1;color:#7f8b79}.filter-form label.search-field{flex:1.5}.filter-form input,.filter-form select{font-size:11px;height:38px;padding:8px 10px;margin-top:6px}.filter-form .btn{min-height:38px;padding:9px 14px;font-size:11px}.reset-link{font-size:10px;color:#84917d;padding-bottom:11px}.table-scroll{overflow-x:auto}.expense-table{border-collapse:collapse;width:100%;text-align:left}.expense-table th{font-size:9px;color:#929b8c;font-weight:600;letter-spacing:.6px;text-transform:uppercase;background:#fafbf6;padding:14px 24px;border-top:1px solid #edf0e7;border-bottom:1px solid #edf0e7;white-space:nowrap}.expense-table td{padding:18px 24px;border-bottom:1px solid #eff1eb;font-size:11px;vertical-align:middle}.expense-table tr:last-child td{border-bottom:0}.expense-table .amount-cell{text-align:right;white-space:nowrap}.expense-description{font-weight:550;display:block;max-width:330px;overflow-wrap:anywhere;font-size:12px}.date-cell{color:#7c8976;white-space:nowrap}.category-tag{font-size:10px;display:inline-block;background:#f0f3e9;color:#718363;border-radius:5px;padding:4px 8px;white-space:nowrap}.receipt-link,.receipt-missing{display:block;font-size:9px;margin-top:5px;color:#92a17e}.receipt-link{color:#5b8a72}.row-actions{display:flex;gap:12px}.text-button{border:0;background:none;padding:6px 0;color:#37765e;font-size:11px;font-weight:500;white-space:nowrap}.text-button:hover{text-decoration:underline}.text-button.subtle{color:#8c9784}.empty-state{padding:60px 24px 65px;text-align:center}.empty-icon{display:grid;place-items:center;background:#f0f4e8;color:#89a16f;font-size:28px;width:64px;height:64px;border-radius:20px;margin:0 auto 20px}.empty-state h3{font-size:18px;margin-bottom:8px;font-weight:550}.empty-state p{font-size:12px;color:var(--muted);margin-bottom:24px}.panel-footnote{display:flex;gap:8px;align-items:center;padding:14px 26px;background:#fcfdf9;border-top:1px solid #eff1eb;font-size:10px;color:#8a9780;flex-wrap:wrap}.panel-footnote>span:last-child{margin-left:auto}.page-footer{display:flex;justify-content:space-between;padding:24px 0 0;font-size:9px;color:#a0a897;gap:15px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.pagination>div{display:flex;gap:12px;align-items:center}.page-number{font-size:10px}.disabled{opacity:.4}.alert{padding:15px 18px;border-radius:9px;font-size:12px;margin-bottom:22px;overflow-wrap:anywhere}.alert ul{margin:7px 0 0;padding-left:18px}.success{background:#e8f3e9;color:#35714d;border:1px solid #d2e8d3}.error{background:#fff1ed;color:#9b4934;border:1px solid #f3d4ca}label{display:block;font-size:12px;font-weight:500}input,select,textarea{width:100%;border:1px solid #dfe5da;border-radius:7px;padding:11px 12px;background:#fff;color:var(--ink);margin-top:7px;outline:none;min-width:0}input:focus,select:focus,textarea:focus{border-color:#6a9d83;box-shadow:0 0 0 3px #216c5c0c}textarea{resize:vertical}label small{display:block;font-weight:400;color:var(--muted);font-size:10px;margin-top:6px}.stack-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.modal{border:1px solid var(--line);border-radius:18px;padding:0;width:min(580px,calc(100vw - 32px));max-height:calc(100dvh - 40px);color:var(--ink);box-shadow:0 25px 100px #15352d33}.modal::backdrop{background:#122f285e;backdrop-filter:blur(3px)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px 27px 20px;border-bottom:1px solid var(--line)}.modal-header .eyebrow{margin-bottom:7px;font-size:8px}.modal-header h2{font-size:24px}.close-modal{background:#f2f5ee;border:0;color:#75866b;border-radius:50%;height:32px;width:32px;font-size:24px;line-height:1}.modal-body{padding:25px 27px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 27px;border-top:1px solid var(--line);background:#fafbf7}.optional{font-weight:400;color:var(--muted)}.upload-field{padding:17px;border:1px dashed #c7d6bd;border-radius:10px;background:#fbfcf8}.upload-field input{border:0;padding:5px 0;font-size:11px;background:none}.form-note{font-size:10px;color:var(--muted);margin:0}.audit-entry{padding:25px 28px;border-bottom:1px solid var(--line)}.audit-meta{display:flex;align-items:center;gap:13px;font-size:12px}.audit-meta>div{flex:1}.audit-meta small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.audit-dot{width:9px;height:9px;border-radius:50%;background:#7ca47d}.audit-changes{margin:20px 0 0 22px}.audit-change{display:flex;gap:20px;margin-top:8px;padding:8px 12px;border-radius:6px;background:#f7f9f3;font-size:11px}.audit-change>strong{width:140px;flex-shrink:0;font-size:10px;font-weight:500;color:#839078}.audit-change>span{overflow-wrap:anywhere;min-width:0}.audit-change del{color:#b29488}.change-arrow{margin:0 13px;color:#a2af96}.login-shell{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.login-story{background:var(--dark);padding:46px 9%;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.login-story .brand-icon{background:#d3e5ae;color:#254b3d}.login-story .brand small{color:#9eb5a5}.login-story>small{font-size:10px;color:#93afa0}.login-copy{padding:65px 0 30px}.login-copy .eyebrow{color:#bbcf9a}.login-copy h1{font-family:Georgia,serif;font-size:clamp(45px,5.7vw,84px);font-weight:400;letter-spacing:-3px;line-height:1.08;margin:27px 0}.login-copy h1 em{color:var(--lime);font-weight:400}.login-copy p{font-size:13px;color:#b2c7b8;max-width:300px;line-height:1.8}.login-art{height:110px;margin-top:35px;display:flex;gap:14px;align-items:flex-end;position:relative}.login-art div{width:35px;background:#ffffff10;border-radius:5px 5px 0 0;height:25%}.login-art div:nth-of-type(2){height:40%}.login-art div:nth-of-type(3){height:55%}.login-art div:nth-of-type(4){height:75%;background:#c4dc9860}.login-art div:nth-of-type(5){height:100%;background:#d9eda6b0}.login-art>span{position:absolute;left:270px;top:0;font-size:45px;color:#c4dc98}.login-panel{display:grid;place-items:center;padding:45px}.login-card{width:100%;max-width:350px}.login-card h2{font-family:Georgia,serif;font-size:37px;letter-spacing:-1px;font-weight:400;margin:16px 0 10px}.login-card>.muted{font-size:12px;margin-bottom:35px}.login-card .stack-form{gap:23px}.login-card input{margin-top:10px;padding:13px}.login-card .btn{margin-top:6px;padding:14px 18px}.login-help{font-size:10px;color:#8d9884;line-height:1.8;margin:25px 0 0;text-align:center}
@media(min-width:1550px){.main-content{padding-top:55px}.stat-card{padding:30px}.stat-value{font-size:38px}.expense-table td{padding-top:23px;padding-bottom:23px}}
@media(max-width:1250px){.sidebar{width:220px;padding-left:17px;padding-right:17px}.main-wrap{margin-left:220px}.main-content{padding:32px 26px 20px}.topbar{padding:0 26px}.filter-form{flex-wrap:wrap}.filter-form label{flex:1 1 125px}.filter-form label.search-field{flex:1 1 180px}.expense-table td,.expense-table th{padding-left:16px;padding-right:16px}.stat-card{padding:20px}.stat-value{font-size:27px}}
@media(max-width:950px){.sidebar{width:186px;padding:28px 13px 18px}.brand{font-size:22px;gap:8px}.brand-icon{width:32px;height:35px;font-size:28px}.brand small{font-size:7px;letter-spacing:2px}.main-wrap{margin-left:186px}.workspace{padding:11px 7px;font-size:10px}.workspace small{font-size:9px}.main-content{padding:28px 20px 18px}.stats-grid{gap:10px}.stat-card{padding:17px 15px}.stat-top{font-size:10px}.stat-value{font-size:24px}.stat-caption{font-size:9px}.stat-symbol{width:24px;height:24px}.page-heading h1{font-size:32px}.page-heading{gap:12px}.page-heading .btn{font-size:11px;padding:12px}.panel-heading{padding:22px 20px 17px}.filter-form{padding:17px 20px}.quick-filters{padding-left:20px}.sidebar-note{padding:16px 12px}.sidebar-note>span{font-size:16px}.profile{gap:6px}.profile strong{font-size:10px}.profile .avatar{width:28px;height:28px}.profile small{font-size:9px}}
@media(max-width:700px){.app-shell{display:block}.sidebar{position:static;width:100%;padding:18px 20px 0;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:16px}.sidebar .brand{font-size:24px}.sidebar .brand-icon{height:37px;width:35px}.sidebar .brand small{font-size:7px;letter-spacing:2.5px}.workspace,.nav-label,.sidebar-note{display:none}.sidebar nav{display:flex;grid-column:1/-1;grid-row:2;gap:6px;overflow-x:auto}.nav-item{padding:10px 13px;font-size:12px;margin-bottom:0;border-radius:8px 8px 0 0}.nav-item>span{font-size:17px}.profile{grid-row:1;grid-column:2;margin:0;padding:0;border:0;max-width:165px}.profile>div{max-width:95px}.profile .avatar{display:none}.profile strong{font-size:10px}.profile small{font-size:9px}.main-wrap{margin-left:0}.topbar{height:48px;padding:0 20px;font-size:10px}.local-badge{font-size:9px}.main-content{padding:27px 16px 20px}.eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:9px}.page-heading{align-items:flex-start;margin-bottom:23px}.page-heading h1{font-size:32px;margin-bottom:7px}.page-heading p{font-size:11px;max-width:240px}.page-heading>.btn{font-size:10px;padding:10px;margin-top:23px;min-height:38px;gap:4px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:23px}.stat-card.featured{grid-column:1/-1;padding:22px}.stat-card.featured .stat-value{font-size:35px;margin:9px 0}.stat-card.featured .stat-top{font-size:12px}.stat-card:not(.featured){padding:17px}.stat-top{font-size:10px}.stat-value{font-size:25px}.stat-value small{font-size:11px}.stat-caption{font-size:9px}.panel-heading{padding:20px 16px 15px;align-items:flex-start}.panel-heading h2{font-size:15px}.panel-heading p{font-size:10px;max-width:220px}.export-actions{gap:5px}.export-actions .btn{font-size:10px;padding:8px}.count-badge{font-size:9px;padding:3px 5px;margin-left:3px}.quick-filters{padding:0 16px 15px;gap:5px}.chip{font-size:10px;padding:5px 10px}.filter-form{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.filter-form label.search-field{grid-column:1/-1}.filter-form label:nth-of-type(4){grid-column:1/-1}.filter-form .btn{grid-column:1}.reset-link{justify-self:center;padding-bottom:10px}.expense-table thead{display:none}.expense-table,.expense-table tbody,.expense-table tr,.expense-table td{display:block}.expense-table tr{border-top:1px solid var(--line);padding:13px 16px}.expense-table td{border:0;padding:7px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:15px;font-size:11px;text-align:right}.expense-table td:before{content:attr(data-label);font-size:10px;color:#8a9680;text-align:left;flex-shrink:0}.expense-table td:nth-child(2){display:block;text-align:left;padding:6px 0 12px}.expense-table td:nth-child(2):before{display:none}.expense-description{max-width:none;font-size:14px}.expense-table .amount-cell{text-align:right}.expense-table .amount-cell strong{font-size:15px}.receipt-link,.receipt-missing{font-size:10px}.row-actions{gap:20px}.text-button{font-size:12px;min-height:30px}.panel-footnote{padding:13px 16px;font-size:9px}.empty-state{padding:40px 20px}.empty-state h3{font-size:17px}.empty-state p{font-size:11px}.page-footer{font-size:8px}.pagination{padding:15px;gap:10px;flex-wrap:wrap}.pagination>div{gap:8px}.pagination .btn{font-size:9px;padding:8px}.modal{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:14px}.modal-header{padding:20px}.modal-body{padding:20px}.modal-footer{padding:16px 20px}.form-row{gap:12px}.modal-header h2{font-size:22px}.audit-entry{padding:20px 16px}.audit-meta{font-size:11px;gap:9px;align-items:flex-start}.audit-meta small{font-size:9px}.audit-changes{margin:15px 0 0}.audit-change{flex-direction:column;gap:5px}.audit-change>strong{width:auto}.login-shell{grid-template-columns:1fr;min-height:100dvh}.login-story{padding:27px;min-height:180px}.login-copy{padding:26px 0 0}.login-copy h1{font-size:35px;letter-spacing:-1px;line-height:1.1;margin:12px 0}.login-copy h1 br{display:none}.login-copy p,.login-art,.login-story>small,.login-copy .eyebrow{display:none}.login-panel{padding:35px 25px 45px}.login-card h2{font-size:32px}.login-card>.muted{margin-bottom:25px}}
@media(prefers-reduced-motion:no-preference){.btn,.nav-item,.chip{transition:background .15s ease}.modal[open]{animation:appear .16s ease-out}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
.cash-toolbar{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:22px}.cash-toolbar .export-actions{flex-wrap:wrap}.cash-stats{grid-template-columns:repeat(4,1fr)}.section-gap{margin-top:24px}.cash-return{padding:17px 25px;border-top:1px solid var(--line);font-size:12px}.cash-return>span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.cash-return p{margin:8px 0 0}.panel-description{padding:0 26px 20px;color:var(--muted);font-size:12px}.cash-audit-details{margin-top:12px;font-size:11px;color:var(--muted)}.cash-audit-details dl{display:grid;grid-template-columns:150px 1fr;gap:8px}.cash-audit-details dd{margin:0;overflow-wrap:anywhere}.filter-form{flex-wrap:wrap}.filter-form label{flex:1 1 125px}.filter-form label.search-field{flex:1 1 170px}.sidebar{overflow-y:auto}.sidebar-note{margin-top:30px}.profile{margin-top:auto;padding-top:20px;flex-shrink:0}@media(max-width:950px){.cash-stats{grid-template-columns:1fr 1fr}}@media(max-width:700px){.cash-stats{grid-template-columns:1fr 1fr}.cash-toolbar .export-actions{width:100%}.cash-toolbar .btn{flex:1}.filter-form label{grid-column:auto}.filter-form label.search-field{grid-column:1/-1}.filter-form label:nth-of-type(4){grid-column:auto}.cash-audit-details dl{grid-template-columns:1fr}.cash-audit-details dd{margin-bottom:10px}.profile{margin-top:0}.sidebar{overflow-y:visible}}
@media(max-width:700px){.sidebar .nav-item{flex-shrink:0;white-space:nowrap}.expense-table:not(.expense-records) td:nth-child(2){display:flex;text-align:right;padding:7px 0}.expense-table:not(.expense-records) td:nth-child(2):before{display:block}.expense-table td .text-button+.text-button{margin-left:12px}}
