@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#183c38;--green:#204f45;--muted:#77817c;--line:#e1e6de;--bg:#f5f6f1;--orange:#d79045}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;background:var(--green);color:white;border:0;border-radius:9px;padding:13px 18px;font-weight:600;min-height:44px}button:hover{filter:brightness(.95)}button.secondary{background:white;color:var(--ink);border:1px solid var(--line)}button.plain{background:transparent;color:var(--ink)}aside{position:fixed;width:245px;height:100dvh;background:#fff;border-right:1px solid var(--line);padding:34px 19px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-size:19px;font-weight:800;letter-spacing:-.6px}.logo{background:var(--green);color:#fff;padding:12px 9px;border-radius:11px;font:800 22px Manrope,Arial}.brand small{font-size:9px;letter-spacing:2px;margin-top:5px}small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.navlabel{font-size:9px;letter-spacing:1.5px;color:var(--muted);margin:42px 13px 13px}nav a{display:flex;gap:13px;align-items:center;color:#67736d;padding:12px 14px;margin:3px 0;border-radius:9px;text-decoration:none;font-size:14px}nav a.active{background:#e9f0e9;color:var(--green);font-weight:700}nav a span{width:22px;font-size:19px}.asidefoot{margin-top:auto;display:flex;align-items:center;gap:11px;border-top:1px solid var(--line);padding-top:20px;font-size:13px}.avatar{background:#eedecb;border-radius:50%;padding:11px 15px;color:#896333}main{margin-left:245px;padding:0 38px}header{height:82px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}header span{color:var(--ink)}.pill,.tag{display:inline-block;font-size:10px;letter-spacing:.8px;background:#e8eee5;color:#496949;border-radius:6px;padding:7px 10px}.notice{background:#f0ede1;color:#776444;font-size:12px;border-radius:8px;padding:11px 16px;margin-top:20px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 25px}.eyebrow{font-size:10px;letter-spacing:2px;color:#7d8b7d;font-weight:700}h1{font:700 32px Manrope,Arial;letter-spacing:-1.3px;margin:8px 0}h2{font:700 18px Manrope,Arial;margin:0 0 17px}h3{font:700 17px Manrope,Arial;margin:0 0 8px}p{line-height:1.65;color:#69766e;margin:8px 0}.heading p{font-size:14px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}.card small{font-size:12px;margin:0 0 14px}.big{font:700 27px Manrope,Arial;letter-spacing:-1px;margin:8px 0}.card.dark{background:var(--green);color:#fff;border:0}.dark small,.dark p{color:#d3e3d5}.sub{font-size:11px;color:var(--muted);line-height:1.5}.grid{display:grid;grid-template-columns:1.55fr 1fr;gap:20px;margin:22px 0}.panelhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.panelhead h2{margin:0}.panelhead button{font-size:12px}.row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 0;border-bottom:1px solid #edf0e9}.row:last-child{border-bottom:0}.row strong{font-weight:600}.money{white-space:nowrap;font-weight:700}.positive{color:#35735b}.negative{color:#ac5c46}.badge{font-size:11px;background:#f8eddd;color:#9d6d31;padding:5px 9px;border-radius:5px;white-space:nowrap}.ok{background:#e9f2e9;color:#467050}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;flex-wrap:wrap}.quick{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.quick button{flex:1;min-width:150px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:15px 12px;background:#f7f8f4}td{padding:17px 12px;border-bottom:1px solid #edf0e9}td:last-child{white-space:nowrap}progress{width:100%;height:7px;border:0;border-radius:10px;overflow:hidden;background:#e8ede4}progress::-webkit-progress-bar{background:#e8ede4}progress::-webkit-progress-value{background:#60846a}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.projectcover{height:88px;border-radius:9px;background:linear-gradient(130deg,#dae4d5,#b8cec0);display:flex;align-items:end;padding:15px;font:800 30px Manrope;color:#52745b;margin-bottom:18px}.projectcover.alt{background:linear-gradient(130deg,#ede2cf,#d5bfa1);color:#9c8159}.mini{display:flex;justify-content:space-between;font-size:12px;margin:16px 0}.tabs{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.tabs button{background:white;color:var(--ink);border:1px solid var(--line)}.tabs button.selected{background:var(--green);color:white}.empty{padding:45px 20px;text-align:center;border:1px dashed #bfcbbd;border-radius:12px;background:#fafbf8}.empty p{max-width:550px;margin:10px auto 20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:7px;margin:13px 0;font-size:13px}input,select{padding:12px;border:1px solid #ced8ca;border-radius:7px;background:white;color:var(--ink);width:100%;min-height:44px}input[type=checkbox]{width:20px;min-height:20px}.check{display:flex;align-items:center;gap:12px}.barrow{margin:21px 0}.barrow .mini{margin:8px 0}.muted{color:var(--muted)}footer{border-top:1px solid var(--line);padding:24px 0;margin-top:35px;font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:15px}dialog{border:0;border-radius:18px;max-width:560px;width:94%;padding:27px;box-shadow:0 30px 100px #1234}dialog::backdrop{background:#142d2c80}.modalhead{display:flex;align-items:center;justify-content:space-between}.modalhead h2{margin:0}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:15px 24px;border-radius:10px;display:none;z-index:10}.callout{padding:16px;border-left:3px solid #d7a259;background:#f7f1e5;border-radius:5px;font-size:13px;line-height:1.6}.meter{height:12px;display:flex;gap:4px;margin:25px 0}.meter i{background:#285b4e;border-radius:3px}.meter i:nth-child(2){background:#adc1a3}.meter i:nth-child(3){background:#e4c28f}@media(max-width:1100px){aside{width:200px;padding:28px 12px}.brand{font-size:16px}main{margin-left:200px;padding:0 22px}.cards{grid-template-columns:repeat(2,1fr)}.projects{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media(max-width:700px){aside{position:static;width:100%;height:auto;padding:16px}.brand{font-size:18px}.navlabel,.asidefoot{display:none}nav{display:flex;overflow:auto;margin-top:14px}nav a{white-space:nowrap;padding:10px;font-size:12px}nav a span{display:none}main{margin:0;padding:0 15px}header{height:52px}.heading{align-items:start}.heading h1{font-size:25px}.heading button{font-size:12px;padding:12px}.cards{gap:10px}.card{padding:16px}.big{font-size:23px}.projects{grid-template-columns:1fr}.split{grid-template-columns:1fr}.panel{padding:17px}footer{display:block}footer span{display:block;margin-top:8px}}
.module{text-decoration:none;color:var(--ink);display:block;transition:border-color .2s}.module:hover{border-color:#60846a}.module .logo{display:inline-block;font-size:20px}.module h2{margin:18px 0 8px}.module strong{display:block;margin-top:18px;font-size:13px}.linkbutton{display:inline-block;background:var(--green);color:white;padding:13px 18px;border-radius:9px;text-decoration:none;margin:12px 0}.document-preview{width:100%;max-height:55vh;object-fit:contain;margin:20px 0}.upload{padding:20px;border:2px dashed #b7c9b5;border-radius:12px;background:#f7faf5}.row .actions{margin-top:0}.row>div{min-width:0}.row strong,.row small{overflow-wrap:anywhere}button:disabled{opacity:.55;cursor:wait}
.allocation{padding:15px;margin:15px 0;border:1px solid var(--line);border-radius:10px;background:#f7f9f4}ol{padding-left:22px;line-height:1.8}#loginStatus{color:#994c31}#registry .row{align-items:flex-start}button[disabled]{opacity:.5}.quick .field{margin:0;flex:1}
nav .navgroup{font-size:9px;letter-spacing:1.5px;color:var(--muted);padding:14px 14px 3px;font-weight:700}aside{overflow-y:auto}.navlabel{margin-top:22px}.asidefoot{padding-top:12px;margin-top:20px}@media(max-width:700px){nav .navgroup{display:none}}

dialog{max-width:850px;max-height:90dvh;overflow:auto}details{padding:14px 0}summary{cursor:pointer;font-weight:600}.row button{margin:5px 0 0 10px}.row input[type=checkbox]{flex-shrink:0}.panel+.panel{margin-top:20px}.tabs button.selected-tab,.tabs button[aria-pressed="true"]{background:#204f45!important;color:#fff!important;border:2px solid #163b33;box-shadow:0 0 0 2px #cadfd4;font-weight:800}.entry-options{display:grid;gap:12px;margin:15px 0}@media(max-width:700px){.row{flex-wrap:wrap}.row .actions{justify-content:flex-start}.heading{flex-wrap:wrap}.heading button{width:100%}}
