*{box-sizing:border-box}body{margin:0;background:#f4f6f8;color:#1d3036;font:15px system-ui}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:11px 16px;background:#087e70;color:white}button:hover{filter:brightness(.94)}aside{width:232px;position:fixed;inset:0 auto 0 0;background:#142f34;color:#d9e6e5;padding:30px 18px;display:flex;flex-direction:column}.logo{font-size:23px;font-weight:800;letter-spacing:-1px;color:white}.logo span{color:#5dd7b0}aside small{display:block;color:#9eb8b8;margin:8px 0 40px}nav button{display:block;width:100%;text-align:left;background:transparent;color:#bcd0d0;margin:6px 0}nav button.active{background:#285054;color:white}.asidefoot{margin-top:auto;font-size:12px;color:#9eb8b8}main{margin-left:232px;padding:28px 42px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dfe6e8;padding-bottom:22px;gap:12px}.eyebrow{font-size:12px;color:#71858b;text-transform:uppercase;letter-spacing:1.5px}h1{font-size:30px;letter-spacing:-1px;margin:28px 0 6px}h2{font-size:18px;margin:0}p{color:#718187;line-height:1.6}.row{display:flex;align-items:center;justify-content:space-between;gap:15px}.badge{background:#e1f4eb;color:#24734e;padding:5px 9px;border-radius:6px;font-size:12px}.warning{background:#fff1d9;color:#96691d}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:26px 0}.card{background:white;border:1px solid #e1e7e9;border-radius:14px;padding:23px}.stats strong{display:block;font-size:30px;margin:12px 0}.muted{color:#74868b;font-size:13px}.grid{display:grid;grid-template-columns:1.7fr 1fr;gap:22px}.project{margin-top:18px;background:#f7f9f9;border:1px solid #e4eaeb;border-radius:10px;padding:20px}.project h3{margin:8px 0}.bar{height:7px;background:#e1e9e8;border-radius:10px;margin:17px 0 8px;overflow:hidden}.bar i{display:block;height:100%;background:#138b77}.activity{padding:17px 0;border-bottom:1px solid #edf0f1}.activity:last-child{border:0}.activity strong{font-size:14px}.dot{display:inline-block;width:9px;height:9px;background:#199f86;border-radius:50%;margin-right:8px}.sectiontop{margin:28px 0 20px}.outline{background:white;color:#285357;border:1px solid #d6e1e2}.banner{background:#eaf3f1;border-left:3px solid #168b78;padding:13px 17px;font-size:13px;color:#436661;margin-top:20px;border-radius:6px}table{width:100%;border-collapse:collapse;margin-top:16px}th,td{text-align:left;padding:15px 9px;border-bottom:1px solid #e7edef;font-size:14px}th{font-size:12px;color:#7b8b90}dialog{border:0;border-radius:16px;width:min(540px,94vw);padding:28px;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#102a3480}label{display:block;margin:14px 0;color:#4a6268;font-size:13px}input,select,textarea{width:100%;border:1px solid #d1dfe0;padding:11px;border-radius:8px;margin-top:6px;background:white;color:#203d43}header select{width:auto;margin:0}textarea{min-height:80px}.photo{max-width:100%;max-height:230px;object-fit:cover;border-radius:8px;margin-top:12px}.empty{padding:35px;text-align:center}.toast{position:fixed;bottom:25px;right:25px;background:#173c35;color:white;padding:15px 22px;border-radius:10px;z-index:10}footer{font-size:12px;color:#819196;margin-top:30px}.mobiletitle{display:none}@media(max-width:900px){aside{width:180px;padding:22px 12px}main{margin-left:180px;padding:22px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media(max-width:620px){aside{position:static;width:100%;padding:18px}aside small,.asidefoot{display:none}nav{display:flex;overflow:auto;margin-top:15px}nav button{white-space:nowrap;width:auto;font-size:12px;margin:0;padding:10px}main{margin:0;padding:18px}header{flex-wrap:wrap}.logo{font-size:21px}h1{font-size:25px}.card{padding:17px}.stats{gap:10px}.stats strong{font-size:26px}.row{flex-wrap:wrap}table{display:block;overflow:auto;white-space:nowrap}}

button:disabled{opacity:.5;cursor:wait}.taskactions{display:flex;gap:8px;flex-wrap:wrap}.danger{background:#fff1e8;color:#9b4e29}.review{padding:10px;background:#fff7e8;border-radius:8px}.authbox{max-width:560px;margin:8vh auto}.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.statusline{font-size:12px;color:#74868b}.errorpanel{max-width:640px;margin:12vh auto;padding:30px}.errorpanel a{color:#087e70}
.expense-filters{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:12px;align-items:end}.expense-filters label{margin:0}.money-stat{font-size:23px!important}.camera-picker{padding:14px;background:#f5f9f8;border:1px dashed #a8c4be;border-radius:10px;margin:15px 0}.camera-picker button{font-size:13px}dialog{max-height:92dvh;overflow:auto} @media(max-width:900px){.expense-filters{grid-template-columns:1fr 1fr}}

/* Keep every menu item reachable on short desktop displays. */
@media(min-width:621px){aside{height:100vh;height:100dvh;overflow:hidden;padding-top:20px;padding-bottom:16px}aside .logo,aside>small,.asidefoot{flex-shrink:0}aside>small{margin-bottom:20px}aside nav{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding-right:4px}aside nav button{white-space:normal;overflow-wrap:anywhere}aside .asidefoot{margin-top:12px}}
nav button:focus-visible{outline:2px solid #5dd7b0;outline-offset:-2px}
