@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--ink:#172021;--muted:#71807d;--line:#dde4e1;--canvas:#f4f7f5;--card:#fff;--green:#0c654f;--green2:#dcefe8;--nav:#102d27;--nav2:#24453e;--red:#b84d45;--amber:#a66c16;--shadow:0 8px 30px rgba(18,45,40,.07)}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;min-height:100vh}a{color:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:var(--nav);color:#dce9e5;padding:23px 15px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 24px;text-decoration:none}.brand img{width:50px;height:50px;object-fit:contain;background:#fff;border-radius:10px;padding:3px}.brand b{display:block;font:700 18px Manrope;color:#fff}.brand small{display:block;color:#9eb2ad;font-size:10px;line-height:1.25;max-width:135px;margin-top:2px}.sidebar nav{display:grid;gap:3px}.nav-item{display:flex;gap:10px;align-items:center;color:#afc1bc;text-decoration:none;padding:10px 11px;border-radius:9px;font-size:12px}.nav-item:hover,.nav-item.active{background:var(--nav2);color:#fff}.nav-item>span{width:20px;text-align:center;font-size:15px}.nav-item em{font-style:normal;font-size:8px;margin-left:auto;border:1px solid #45635c;border-radius:10px;padding:2px 5px;color:#91aaa4}.sidebar-foot{margin-top:auto;border-top:1px solid #2d4943;padding:17px 5px 0;display:grid;grid-template-columns:35px 1fr auto;gap:9px;align-items:center;font-size:11px}.sidebar-foot b,.sidebar-foot small{display:block}.sidebar-foot small{color:#91aaa4}.sidebar-foot>a{text-decoration:none;font-size:18px}.avatar{width:34px;height:34px;border-radius:50%;background:#cde6dc;color:var(--green);display:grid;place-items:center;font-weight:700}main{margin-left:250px}.topbar{height:85px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:15px 30px;position:sticky;top:0;z-index:5}.eyebrow{font-size:9px;letter-spacing:.13em;color:#80908d;font-weight:700;margin:0 0 5px}.topbar h1{font:700 21px Manrope;margin:0}.top-user{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:11px}.menu{display:none;border:1px solid var(--line);background:#fff;border-radius:8px;width:38px;height:38px}.content{padding:25px 30px 45px;max-width:1480px;margin:auto}.button{border:0;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font:600 12px 'DM Sans';padding:10px 15px;border-radius:8px}.primary{background:var(--green);color:#fff}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.wide-button{width:100%;margin-top:7px}.alert{padding:11px 13px;border-radius:8px;margin-bottom:15px;background:#e5f2ed;color:#165b49;font-size:12px}.alert.error{background:#f8e7e5;color:#883d37}.welcome,.page-actions{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.welcome h2{font:700 20px Manrope;margin:0}.welcome p,.page-actions p{font-size:12px;color:var(--muted);margin:4px 0}.role-badge,.status{font-size:10px;padding:5px 9px;border-radius:16px;background:var(--green2);color:var(--green);font-weight:700}.plan-notice{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#edf4ff;border:1px solid #d4e0f2;border-left:4px solid #224b86;padding:14px 17px;border-radius:9px;margin-bottom:17px}.plan-notice b,.plan-notice span{display:block}.plan-notice b{font-size:12px}.plan-notice span{font-size:11px;color:#5e6e78;margin-top:3px}.plan-notice a{font-size:11px;font-weight:700;color:#224b86;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:17px}.metric,.panel{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.metric{padding:17px}.metric span,.metric small{display:block;color:var(--muted);font-size:11px}.metric strong{display:block;font:700 23px Manrope;margin:8px 0 3px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:17px}.panel{padding:19px}.panel-head h3{font:700 15px Manrope;margin:0 0 15px}.compact-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compact-form .button{align-self:end;height:39px}.compact-form label:nth-last-child(2):not(:nth-child(4)){grid-column:1/-1}label{display:grid;gap:6px;font-size:11px;font-weight:600}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;font:12px 'DM Sans';background:#fff;color:var(--ink);outline-color:#4a9f84}label small{color:var(--muted);font-weight:400}.table-panel{padding:4px 18px 10px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th{text-align:left;color:var(--muted);font-size:9px;letter-spacing:.07em;padding:12px 9px;border-bottom:1px solid var(--line)}td{padding:13px 9px;border-bottom:1px solid #edf1ef;white-space:nowrap}td b,td small{display:block}td small{color:var(--muted);margin-top:3px}.empty{text-align:center;color:var(--muted);padding:35px}.locked{max-width:620px;margin:80px auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:45px;box-shadow:var(--shadow)}.locked h2{font:700 22px Manrope}.locked p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6}.locked .button{margin:8px 3px}.lock-icon{width:55px;height:55px;border-radius:50%;background:var(--green2);color:var(--green);display:grid;place-items:center;font-size:27px;margin:0 auto 17px}.module-preview{text-align:center;padding:55px}.module-preview h2{font:700 24px Manrope}.module-preview p{color:var(--muted)}dialog{border:0;border-radius:13px;padding:0;width:min(500px,calc(100% - 25px));box-shadow:0 25px 80px #10211e66}dialog::backdrop{background:#10211e99}dialog form{padding:22px;display:grid;gap:13px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{font:700 19px Manrope;margin:0}.modal-head button{border:0;background:transparent;font-size:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.auth-body{background:#edf3f0;display:grid;place-items:center;padding:30px}.auth-shell{width:min(960px,100%);min-height:610px;background:#fff;border-radius:18px;box-shadow:0 25px 80px rgba(18,45,40,.13);display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden}.auth-brand{background:linear-gradient(145deg,#102d27,#17483d);color:#fff;padding:45px;display:flex;flex-direction:column;justify-content:center}.auth-brand>img{width:95px;height:95px;object-fit:contain;background:#fff;border-radius:15px;padding:5px;margin-bottom:27px}.auth-brand .eyebrow{color:#8fc4b3}.auth-brand h1{font:800 34px/1.15 Manrope;margin:5px 0 14px}.auth-brand>p:not(.eyebrow){color:#b9ccc7;font-size:13px;line-height:1.65}.contact-card{display:grid;gap:5px;background:#ffffff12;border:1px solid #ffffff22;border-radius:11px;padding:15px;margin-top:25px}.contact-card b{font-size:12px}.contact-card span{font-size:11px;color:#bcd0ca}.contact-card a{font-size:11px;color:#9bd5c2;font-weight:700;margin-top:3px}.auth-card{padding:45px;display:flex;flex-direction:column;justify-content:center}.auth-card h2{font:700 25px Manrope;margin:0}.muted{color:var(--muted);font-size:12px;margin:6px 0 20px}.auth-card form{display:grid;gap:13px}.auth-link{text-align:center;color:var(--muted);font-size:11px;margin-top:18px}.auth-link a{color:var(--green);font-weight:700}.overlay{display:none}
@media(max-width:900px){.metrics{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.auth-card{min-height:600px}}@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.overlay.show{display:block;position:fixed;inset:0;background:#10211e99;z-index:9}main{margin-left:0}.menu{display:block}.topbar{padding:13px 15px}.top-user span{display:none}.content{padding:20px 15px}.page-actions{align-items:start;gap:12px}.compact-form,.form-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.plan-notice{align-items:start;flex-direction:column}.auth-body{padding:12px}.auth-card{padding:28px}}@media(max-width:450px){.metrics{grid-template-columns:1fr}.topbar h1{font-size:17px}}
.summary-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:-5px 0 14px}.summary-tabs span{background:#fff;border:1px solid var(--line);border-radius:18px;padding:7px 11px;font-size:10px;color:var(--muted)}.big-value{font:700 28px Manrope;margin:7px 0}.quick-links{display:grid;gap:9px}.quick-links a{font-size:12px;color:var(--green);font-weight:700}.inline-form select{min-width:125px;padding:6px;font-size:10px}.access-form{display:flex;gap:6px;align-items:center}.access-form select{min-width:125px;padding:7px;font-size:10px}.access-form .button{padding:7px 10px}textarea{resize:vertical}
@media(max-width:720px){.access-form{align-items:stretch;flex-direction:column}.access-form select{min-width:150px}}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.record-card{padding:17px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.record-card h3{font:700 14px Manrope;margin:10px 0 5px}.record-card p{color:var(--muted);font-size:11px;margin:4px 0}.record-top,.record-bottom{display:flex;justify-content:space-between;align-items:center}.record-top small{color:var(--muted)}.record-bottom{margin-top:15px;padding-top:11px;border-top:1px solid #edf1ef;font-size:10px}.status.late{background:#f9e3e0;color:#9b3f37}.negative{color:var(--red)}.report-note{background:#fff8e8;border:1px solid #ead9aa;border-radius:9px;padding:12px 15px;font-size:11px;color:#675934;margin-bottom:17px}.report-section{margin-bottom:17px;overflow:auto}.report-section h3{font:700 15px Manrope;margin:0 0 12px}.reports-grid{align-items:start}.reports-grid .report-section{margin:0}
@media(max-width:950px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.card-grid{grid-template-columns:1fr}}
.record-head{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:17px}.record-head a{font-size:11px;color:var(--green);font-weight:700}.record-head h2{font:700 22px Manrope;margin:9px 0 3px}.record-head p{color:var(--muted);font-size:10px;margin:0}.record-badges{display:flex;gap:6px}.record-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:17px;align-items:start}.record-side{display:grid;gap:17px}.record-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.record-form textarea,.record-form .button,.record-form>p{grid-column:1/-1}.danger{background:var(--red);color:#fff}.danger-zone{border-top:1px solid var(--line);padding-top:13px;margin-top:14px;display:grid;gap:8px}.decision-form,.upload-form{display:grid;gap:9px;margin-top:10px}.attachment{padding:9px 0;border-bottom:1px solid var(--line)}.attachment a{font-size:11px;font-weight:700;color:var(--green)}.attachment small{display:block;color:var(--muted);margin-top:3px}.record-financial{margin-top:17px;overflow:auto}.record-financial h3{font:700 15px Manrope;margin:8px 0 12px}.inline-add{display:grid;grid-template-columns:2fr .7fr 1fr auto;gap:8px;margin:13px 0 25px}.reverse-form{display:flex;gap:6px;align-items:center}.reverse-form input{min-width:150px;padding:6px}.text-danger{border:0;background:transparent;color:var(--red);font:700 10px 'DM Sans';cursor:pointer}.notification-list{display:grid;gap:10px}.notification{padding:14px;background:#fff;border:1px solid var(--line);border-radius:10px}.notification.unread{border-left:4px solid var(--green);background:#f8fcfa}.notification b,.notification small{display:block}.notification p{font-size:11px;color:var(--muted)}.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.export-grid a{padding:12px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:11px;font-weight:700;color:var(--green)}
@media(max-width:900px){.record-layout{grid-template-columns:1fr}.record-side{grid-template-columns:1fr 1fr}}@media(max-width:720px){.record-form,.record-side{grid-template-columns:1fr}.inline-add{grid-template-columns:1fr}.export-grid{grid-template-columns:1fr 1fr}.record-head{flex-direction:column}.reverse-form{align-items:stretch;flex-direction:column}}
