:root{--ink:#203630;--muted:#64756f;--brand:#21634d;--brand-dark:#184d3b;--canvas:#f5f7f5;--line:#e3e9e5;--positive:#236448;--negative:#a3443b;--radius:14px;--bs-primary:#21634d;--bs-primary-rgb:33,99,77;--bs-body-color:#203630;--bs-body-font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-size:14px;line-height:1.55}a{color:var(--brand)}button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline:3px solid #bd8b35!important;outline-offset:3px}h1,h2,h3,h4,h5{color:var(--ink);letter-spacing:-.035em}h1{font-size:clamp(26px,2.3vw,34px);font-weight:650;line-height:1.2}h2{font-size:27px;font-weight:650}p{overflow-wrap:anywhere}.text-muted{color:var(--muted)!important}.text-dark{color:var(--ink)!important}.text-primary,.text-success,.positive{color:var(--positive)!important}.text-danger,.negative{color:var(--negative)!important}.bg-primary{background-color:var(--brand)!important}.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand-dark);--bs-btn-hover-border-color:var(--brand-dark);--bs-btn-active-bg:var(--brand-dark);--bs-btn-disabled-bg:var(--brand);--bs-btn-disabled-border-color:var(--brand)}
.btn{min-height:42px;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:normal}.btn-sm{min-width:38px;min-height:38px;padding:7px 10px}.btn-light{background:#f5f7f5;border-color:var(--line)}.btn-outline-secondary{border-color:#ccd7cf;color:#42574b}.btn-outline-danger{color:var(--negative)}.form-control,.form-select{min-height:45px;border:1px solid #cfd9d2;border-radius:8px;font-size:14px;padding:11px 13px}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #21634d18}.form-label{font-weight:600;color:#3d5549;letter-spacing:.01em}.form-control::placeholder{color:#829089}.card,.panel{border:1px solid var(--line)!important;border-radius:var(--radius);background:#fff;box-shadow:none!important;overflow:hidden}.card-body{min-width:0}.badge{font-weight:600;line-height:1.5}.shadow-sm,.shadow-lg{box-shadow:none!important}.table{font-size:13px;--bs-table-bg:transparent;--bs-table-border-color:#edf0ed;--bs-table-hover-bg:#f7faf7;color:var(--ink)}.table th{font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:#687c71;background:#f9fbf9;padding:13px 20px;white-space:nowrap}.table td{padding:17px 20px;overflow-wrap:anywhere;max-width:420px}.table-responsive{max-width:100%;overscroll-behavior-inline:contain}.table-responsive:focus-visible{outline-offset:-3px}.table-responsive .table{min-width:580px}.table>:not(caption)>*>*{box-shadow:none}.table td .btn{vertical-align:middle}.table td form{display:inline-flex}.modal-dialog{padding:8px}.modal-content{border:0;border-radius:16px;box-shadow:0 20px 60px #15352926}.modal-header{padding:23px 25px;border-color:var(--line)}.modal-body{padding:24px}.modal-footer{padding:16px 24px;background:#f8faf8}.modal-title{font-size:20px}.modal-header .btn-close{min-width:30px;min-height:30px}.alert{border-radius:10px;font-size:14px}.alert-success{background:#e9f4ed;border-color:#c8e1d2;color:#245b3d}.alert-danger{color:#853f36;background:#fff0ed;border-color:#eccbc5}.empty-state{padding:30px 20px!important;text-align:center;color:var(--muted);font-size:13px}.skip-link{position:fixed;left:16px;top:-100px;z-index:2000;background:white;padding:12px}.skip-link:focus{top:12px}
.sidebar{width:236px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:1040;overflow-y:auto;padding:30px 17px 16px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);font-size:25px;font-weight:650;letter-spacing:-.7px;padding:0 14px}.brand small{display:block;font-size:8px;font-weight:650;letter-spacing:1.6px;margin-top:1px}.brand-mark{font-family:Georgia,serif;display:inline-flex;align-items:center;justify-content:center;background:var(--brand);color:white;font-size:32px;font-weight:500;line-height:1;letter-spacing:-3px;border-radius:13px;width:42px;height:44px;padding-right:4px;flex-shrink:0}.workspace-label{display:flex;align-items:center;gap:10px;margin:30px 8px 22px;padding:13px 10px;background:#f7f9f6;border:1px solid var(--line);border-radius:9px;font-size:12px;font-weight:600}.workspace-label small{display:block;color:var(--muted);font-size:10px;font-weight:400}.workspace-avatar{height:31px;width:31px;background:#e8ede5;border-radius:7px;display:grid;place-items:center;font-size:10px}.nav-label{font-size:8px;letter-spacing:1.4px;color:#829086;padding:15px 14px 11px;font-weight:700}.sidebar .nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:8px;color:#5c6d63;font-weight:500;font-size:13px;text-decoration:none;margin-bottom:3px;width:100%;border:0;background:transparent;text-align:left;min-height:44px}.sidebar .nav-link i{width:17px;text-align:center;font-size:15px}.sidebar .nav-link:hover{background:#f4f7f2;color:var(--brand)}.sidebar .nav-link.active{background:#eaf2e9;color:#255b3b;font-weight:650}.sidebar-bottom{margin-top:auto;padding-top:28px}.sidebar-bottom p{font-size:11px;line-height:1.8;color:#819082;padding:0 14px 18px;border-bottom:1px solid var(--line)}.sidebar-bottom p strong{font-weight:500;color:#516653}.main-content{margin-left:236px;min-height:100dvh;display:flex;flex-direction:column;min-width:0}.top-navbar{height:83px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:12px}.top-location,.top-actions{display:flex;align-items:center;gap:20px}.breadcrumb-label{font-size:11px;color:#7b8a80}.breadcrumb-label>span{padding:0 12px;color:#b8c2ba}.breadcrumb-label strong{font-weight:500;color:#455b4b}.workspace-status{font-size:10px;color:#76877a;display:flex;gap:7px;align-items:center}.workspace-status>span{width:5px;height:5px;background:#5b8a60;border-radius:50%}.icon-button{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:white;color:#62766a;display:grid;place-items:center}.menu-toggle{display:none}.account-link{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink)}.account-avatar,.person-avatar{width:35px;height:35px;border-radius:50%;background:#eeeada;color:#756944;display:grid;place-items:center;font-size:12px;font-weight:600;flex-shrink:0}.account-text{font-size:11px;font-weight:600;max-width:150px;overflow-wrap:anywhere}.account-text small{display:block;font-size:9px;color:#8a968d;font-weight:400}.notification-badge{position:absolute;right:-5px;top:-5px;border-radius:20px;background:#a54f42;color:white;font-size:9px;padding:1px 5px}.notification-menu{width:min(340px,calc(100vw - 30px));padding:0;border:1px solid var(--line);border-radius:13px;box-shadow:0 8px 30px #19352612}.notification-menu h2{font-size:14px;padding:20px;margin:0;border-bottom:1px solid var(--line)}#notifList{max-height:360px;overflow:auto;padding:16px;font-size:12px}.notification-item{padding:12px 0;border-bottom:1px solid var(--line)}.notification-item strong{display:block;font-size:12px}.notification-item p{margin:4px 0;color:var(--muted)}.page-content{width:100%;max-width:1700px;margin:0 auto;padding:33px 36px;flex:1;min-width:0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{display:block;font-size:9px;letter-spacing:1.8px;font-weight:650;color:#7f8c70;margin-bottom:10px}.page-heading h1{margin-bottom:8px}.page-heading p{color:var(--muted);font-size:12px;margin:0}.heading-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.date-chip{background:white;border:1px solid var(--line);border-radius:8px;padding:11px 12px;color:#647564;font-size:11px;display:flex;align-items:center;gap:8px}.app-footer{padding:0 36px 22px;display:flex;justify-content:space-between;font-size:9px;color:#89978b;gap:12px}.readonly-note{display:flex;gap:8px;margin-bottom:18px;padding:9px 14px;background:#eaf0e5;border-radius:8px;color:#536348;font-size:12px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric{padding:22px 21px;background:white;border:1px solid var(--line);border-radius:12px;min-width:0}.metric-label{font-size:11px;color:#617565;display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-label i{font-size:16px;color:#5e7a60}.metric>strong{display:block;font-size:clamp(21px,2vw,31px);font-weight:600;letter-spacing:-1px;margin:18px 0 8px;line-height:1.1;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metric>span{font-size:9px;color:#8b978a}.metric>span b{font-weight:500}.metric-featured{background:#24533e;color:white;border-color:#24533e}.metric-featured .metric-label,.metric-featured .metric-label i{color:#d0dfcc}.metric-featured>span{color:#b4c9b0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px}.dashboard-primary,.dashboard-secondary{display:flex;flex-direction:column;gap:22px;min-width:0}.panel-heading{padding:23px 22px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-heading h2{font-size:15px;font-weight:650;margin:0 0 5px;letter-spacing:-.4px}.panel-heading p{font-size:10px;color:#829080;margin:0}.text-link{font-size:10px;font-weight:600;text-decoration:none;white-space:nowrap;color:#4c7254}.text-link span{margin-left:5px}.chart-legend{display:flex;gap:17px;padding:0 23px;font-size:9px;color:#849180}.chart-legend>span{display:flex;align-items:center;gap:6px}.legend-dot{display:inline-block;width:7px;height:7px;border-radius:50%}.legend-dot.income{background:#49734e}.legend-dot.expense{background:#c7bd9e}.chart-container{height:235px;padding:17px 20px 0}.chart-details{padding:8px 22px 15px;font-size:10px;color:#6d7e69}.chart-details summary{cursor:pointer;min-height:24px}.transaction-name{display:flex;align-items:center;gap:10px}.transaction-name strong{font-size:11px;font-weight:550}.transaction-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;font-size:16px}.transaction-icon.income{background:#eef3e9;color:#56764b}.transaction-icon.expense{background:#f8eee8;color:#a07553}.soft-badge{border-radius:5px;padding:4px 7px;font-size:9px;background:#f3f5ef;color:#728368}.dashboard-primary .table{font-size:10px}.dashboard-primary .table td{padding:15px 20px}.dashboard-primary .table th{font-size:9px}.event-list,.birthday-list{padding:0 22px 8px}.event-row{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid #edf0e9;align-items:center}.event-row:last-child{border:0}.event-date{width:43px;height:53px;border:1px solid #e1e8d9;background:#f6f8f0;border-radius:8px;text-align:center;flex-shrink:0}.event-date span{display:block;font-size:8px;text-transform:uppercase;color:#8c967c;margin-top:5px}.event-date strong{font-size:22px;font-weight:500;color:#5c714a;line-height:1.15}.event-row h3{font-size:12px;font-weight:550;margin:0 0 5px;letter-spacing:0;overflow-wrap:anywhere}.event-row p{font-size:9px;color:#84907e;margin:0}.panel-bottom-link{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:14px 23px;color:#52724d;font-size:10px;text-decoration:none}.birthday-row{display:flex;align-items:center;gap:10px;padding:11px 0}.birthday-row>div{flex:1;min-width:0}.birthday-row strong{display:block;font-size:11px;font-weight:550;overflow-wrap:anywhere}.birthday-row a{font-size:9px;text-decoration:none;color:#7a8c6f}.birthday-day{color:#718460;font-size:10px;white-space:nowrap}.birthday-symbol{color:#a39160;font-size:18px}.person-avatar{background:#ecefdc;color:#7b8763;width:31px;height:31px;font-size:10px}.purpose-card{padding:25px;border:1px solid #e2e7d5;border-radius:13px;background:#eef2e4}.purpose-card .brand-mark{background:#dfe6ce;color:#6d8350;width:28px;height:29px;font-size:23px;border-radius:9px}.purpose-card h2{font-size:20px;line-height:1.4;font-weight:500;color:#4b633c;margin:15px 0 10px}.purpose-card p{font-size:11px;color:#80906f;max-width:220px}.purpose-card a{font-size:11px;font-weight:500;text-decoration:none;color:#506b3d}.purpose-card a span{margin-left:10px}.expense-list{padding:0 23px 22px;display:grid;gap:15px}.expense-row>div{display:flex;justify-content:space-between;gap:10px;font-size:11px}.expense-row strong{font-weight:500}.expense-row progress{width:100%;height:5px;appearance:none;border:0;background:#f0f3eb;border-radius:5px}.expense-row progress::-webkit-progress-bar{background:#f0f3eb;border-radius:5px}.expense-row progress::-webkit-progress-value{background:#8ea076;border-radius:5px}.expense-row progress::-moz-progress-bar{background:#8ea076;border-radius:5px}.avatar-circle{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:white;font-weight:600;flex-shrink:0}.status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;margin-right:5px}.quick-card{background:#f0f3e8!important;border:1px solid #dfe7d2!important}.doc-icon{font-size:28px;color:var(--brand)}.doc-card{height:100%;transition:border-color .15s}.doc-card:hover{border-color:#a3b8a8!important}.upload-area{position:relative;background:#f7faf5;border:1px dashed #9bb49e;border-radius:12px;padding:30px;text-align:center}.file-upload-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-upload-input:focus-visible{opacity:1}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0;font-size:12px}.search-input{min-width:0!important}.page-content>.d-flex{flex-wrap:wrap;gap:16px}.page-content>.d-flex>div.d-flex{flex-wrap:wrap}.page-content>.d-flex .input-group{width:auto;flex:1;min-width:180px}.page-content>.row{min-width:0}.print-responsive{overflow-x:auto}.form-feedback{margin-top:12px;font-size:13px}.btn[hidden],form[hidden]{display:none!important}
.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.login-story{background:#224d3a;color:white;display:flex;flex-direction:column;padding:48px 60px;overflow:hidden;position:relative}.login-story .brand{color:#fff;padding:0}.login-story .brand-mark{background:#d2ddb6;color:#264c35}.login-story .brand small{color:#b3c8a6}.login-message{margin:auto 0;position:relative;padding:70px 0 230px}.login-message .eyebrow{color:#b5c99e}.login-message h1{font-size:clamp(32px,3.6vw,55px);line-height:1.2;font-weight:450;letter-spacing:-2px;color:#fff;margin:22px 0}.login-message p{font-size:15px;line-height:1.8;color:#b7cdbb}.login-org{margin:0;font-size:11px;color:#a3bba6}.login-illustration{position:absolute;bottom:-35px;left:10px;width:330px;height:250px}.arch{position:absolute;bottom:0;border:1px solid #67815c;border-radius:160px 160px 0 0;height:240px;width:190px;transform:skewY(-8deg)}.arch-one{left:0;background:#3b6145}.arch-two{left:80px;height:205px;background:#537553}.arch-three{left:158px;height:170px;background:#94a582}.cross{position:absolute;width:2px;height:48px;left:250px;top:116px;background:#dce5c3}.cross:after{content:"";position:absolute;top:15px;width:28px;height:2px;left:-13px;background:#dce5c3}.login-form-section{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:70px 45px;background:#fafbf8}.login-card{width:100%;max-width:370px}.login-card h2{font-size:32px;margin:14px 0 12px}.login-card>p{font-size:13px;margin-bottom:32px}.login-card .form-label{font-size:12px}.login-card .form-control{background:#fff;min-height:49px}.login-card .btn{min-height:49px;margin-top:8px;justify-content:space-between;padding-inline:19px}.password-wrap{position:relative}.password-wrap input{padding-right:80px}.password-toggle{position:absolute;right:10px;top:5px;min-height:38px;border:0;background:transparent;color:var(--brand);font-size:11px}.login-help{text-align:center;font-size:11px!important;line-height:1.8;margin-top:24px}.login-security{text-align:center;font-size:10px;color:#8d998a;border-top:1px solid var(--line);padding-top:24px}.login-copyright{position:absolute;bottom:25px;font-size:10px;color:#8b9784}.error-page{display:grid;place-items:center;min-height:100dvh;padding:20px}.error-card{max-width:650px;border:1px solid var(--line);padding:40px;border-radius:20px;background:#fff}.error-card p{margin:24px 0}.error-card small{display:block;color:var(--muted);margin-top:20px}
.metric:not(.metric-featured)>span,.panel-heading p,.event-row p,.birthday-row a,.chart-legend,.account-text small,.app-footer,.nav-label,.breadcrumb-label,.workspace-status,.eyebrow{color:#5d705d}.metric-featured>span{color:#c5d8bd}.panel-heading p,.event-row p,.birthday-row a,.metric>span{font-size:11px}.app-footer,.nav-label,.eyebrow{font-size:10px}.account-text small{font-size:10px}.file-upload-wrapper{min-height:150px}.file-upload-wrapper:focus-within{outline:3px solid #bd8b35;outline-offset:3px}.action-form{display:inline-flex}.doc-item .action-form{flex:1}.doc-item .action-form .btn{width:100%!important}.doc-item .card-footer{gap:8px}.form-feedback{padding:0 16px 14px}
@media(min-width:1600px){.page-content{padding:44px 50px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 360px}.chart-container{height:300px}.metric>strong{font-size:34px}}
@media(max-width:1199px){.sidebar{width:210px;padding-inline:12px}.main-content{margin-left:210px}.page-content{padding:28px 24px}.top-navbar{padding-inline:24px}.metrics{gap:12px}.metric{padding:18px 15px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 270px;gap:16px}.heading-actions .date-chip{display:none}.workspace-status{display:none}.panel-heading{padding-inline:17px}.panel-heading .text-link{white-space:normal}.page-heading{align-items:flex-start}.app-footer{padding-inline:24px}}
.sidebar .brand{font-size:21px;padding-inline:8px;white-space:nowrap}.sidebar .brand small{font-size:7px;letter-spacing:1px}.menu-close{display:none;position:absolute;right:8px;top:8px;width:30px;height:30px;font-size:20px}
@media(max-width:1023px){.sidebar{transform:translateX(-100%);width:248px;transition:transform .15s}.sidebar.active{transform:translateX(0)}.main-content{margin-left:0}.menu-toggle,.menu-close{display:grid}.sidebar-overlay:not([hidden]){position:fixed;inset:0;background:#142f2866;z-index:1039}.top-navbar{height:70px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 280px}.login-story{padding:36px}.login-message{padding-bottom:240px}.login-illustration{transform:scale(.85);transform-origin:bottom left}.login-form-section{padding-inline:28px}}
@media(max-width:767px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.dashboard-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.purpose-card{grid-column:1/-1}.metric>strong{font-size:27px}.page-heading{gap:14px}.page-heading .heading-actions{align-self:center}.heading-actions .btn{font-size:11px}.top-actions{gap:12px}.account-text{display:none}.page-content{padding:24px 20px}.app-footer{padding-inline:20px}.app-footer span:last-child{display:none}.login-layout{grid-template-columns:1fr}.login-story{padding:26px 28px}.login-message,.login-org{display:none}.login-form-section{padding:40px 26px 85px;min-height:calc(100dvh - 96px)}.login-story .brand{font-size:22px}.login-story .brand-mark{height:38px;width:37px}.login-form-section .login-card h2{font-size:28px}.report-totals{width:100%;margin:0}.modal-dialog{margin:8px;max-width:100%}.modal-body{padding:20px}.modal-header{padding:20px}.modal-footer{padding:15px 20px}.page-content>.d-flex>div.d-flex{width:100%}.page-content>.d-flex .input-group{flex-basis:100%}.page-content .card-body.p-4{padding:20px!important}.page-content>.d-flex h2{font-size:26px}}
@media(max-width:479px){.page-content{padding:22px 14px}.top-navbar{padding-inline:14px}.breadcrumb-label{font-size:10px}.breadcrumb-label>span{padding:0 6px}.top-location{gap:9px}.top-actions{gap:8px}.account-avatar{width:31px;height:31px}.page-heading{flex-direction:column}.page-heading .heading-actions{align-self:stretch}.heading-actions .btn{width:100%;font-size:12px}.metrics{gap:9px}.metric{padding:16px 12px}.metric-label{font-size:10px;gap:5px}.metric-label i{font-size:12px}.metric>strong{font-size:23px;letter-spacing:-.8px}.metric>span{font-size:8px}.dashboard-secondary{display:flex}.panel-heading h2{font-size:14px}.panel-heading p{font-size:9px}.panel-heading{padding:20px 16px 14px}.chart-container{height:215px;padding-inline:10px}.panel-heading .text-link{font-size:9px}.table td{padding:13px}.app-footer{padding-inline:14px}.page-content .card-body.p-4{padding:16px!important}.login-story{padding:22px}.login-form-section{padding-inline:22px}.error-card{padding:25px}.error-card h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.sidebar,.top-navbar,.app-footer,.no-print,.readonly-note,.skip-link{display:none!important}.main-content{margin:0}.page-content{padding:0}.card,.panel{border:0!important}body{background:white}.table-responsive,.print-responsive{overflow:visible}.table-responsive .table{min-width:0}.table th,.table td{padding:7px;font-size:10px}.no-break,tr{break-inside:avoid}}
