@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,650&display=swap";:root{color:#243329;font-synthesis:none;background:#f5f2e9;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 85% 0,#e3eadb 0,#0000 28rem),#f5f2e9;min-width:320px;margin:0}button{font:inherit}header{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;min-height:96px;margin:auto;padding:18px 28px;display:flex}.brand{color:inherit;align-items:center;gap:12px;font-family:Fraunces,serif;font-size:23px;line-height:1;text-decoration:none;display:flex}.brand>span{color:#fff;background:#2f6b45;border-radius:14px 14px 14px 5px;place-items:center;width:42px;height:42px;display:grid}.brand small{color:#758177;text-transform:uppercase;letter-spacing:1.5px;margin-top:5px;font:500 10px/1 DM Sans;display:block}.all-time,.count{color:#687269;background:#ffffff8c;border:1px solid #d8ddcf;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:600}.header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.date-range{flex:none;position:relative}.date-range-control{color:#285b3b;cursor:pointer;background:#ffffffd1;border:1px solid #b8c7b6;border-radius:11px;grid-template-columns:20px 1fr 10px;align-items:center;gap:9px;min-width:172px;height:44px;padding:5px 13px;transition:border-color .15s,box-shadow .15s,background .15s;display:grid;position:relative;box-shadow:0 2px 8px #3246370d}.date-range-control:hover{background:#fff;border-color:#78957d}.date-range-control:focus-within{outline-offset:2px;border-color:#2f6b45;outline:3px solid #2f6b4533}.date-range-control svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:20px}.range-copy{pointer-events:none;min-width:0;line-height:1.05;display:grid}.range-copy small{color:#79857b;text-transform:uppercase;letter-spacing:.8px;margin-bottom:3px;font-size:9px;font-weight:700}.range-copy>span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.date-range select{opacity:0;cursor:pointer;border:0;width:100%;height:100%;position:absolute;inset:0}.range-chevron{pointer-events:none;border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;margin-top:-4px;transform:rotate(45deg)}.custom-range{z-index:20;background:#fffdf8;border:1px solid #d8ddcf;border-radius:16px;grid-template-columns:1fr 1fr;gap:13px;width:360px;padding:18px;display:grid;position:absolute;top:calc(100% + 10px);left:0;box-shadow:0 16px 40px #28372b33}.custom-range-heading{grid-column:1/-1;gap:3px;padding-bottom:2px;display:grid}.custom-range-heading strong{font:650 17px/1.2 Fraunces,serif}.custom-range-heading span{color:#7a857d;font-size:11px}.custom-range label{color:#566159;text-transform:uppercase;letter-spacing:.5px;gap:6px;font-size:11px;font-weight:700;display:grid}.custom-range input{color:#243329;min-width:0;height:40px;font:inherit;background:#fff;border:1px solid #cbd3c7;border-radius:9px;padding:8px 10px;font-size:13px}.custom-range p{color:#a33;grid-column:1/-1;margin:0;font-size:12px}.custom-range-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;padding-top:3px;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload-button{color:#fff;cursor:pointer;white-space:nowrap;background:#2f6b45;border:1px solid #2f6b45;border-radius:11px;justify-content:center;align-items:center;min-height:44px;padding:0 15px;font-size:12px;font-weight:700;display:inline-flex}.upload-button.secondary{color:#285b3b;background:#eef3eb;border:1px solid #b8cbb9}.upload-button input{opacity:0;width:1px;height:1px;position:absolute}.upload-button.disabled{cursor:wait;opacity:.65}.chat-button{border:1px solid #2f6b45}.mobile-label{display:none}.upload-message{color:#285b3b;background:#eef3eb;border:1px solid #cbd8c8;border-radius:12px;justify-content:space-between;align-items:center;max-width:1144px;margin:0 auto;padding:11px 15px;font-size:13px;display:flex}.upload-message button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:20px;line-height:1}main{max-width:1200px;min-height:calc(100vh - 150px);margin:auto;padding:26px 28px 60px}.kpis{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.kpis article{background:#ffffffc7;border:1px solid #e0e2d8;border-radius:22px;min-height:150px;padding:23px;position:relative;overflow:hidden;box-shadow:0 7px 25px #3746390a}.kpis article>span{color:#6d776f;text-transform:uppercase;letter-spacing:.8px;font-size:12px;font-weight:700}.kpis strong{margin:16px 0 9px;font:650 30px/1.05 Fraunces,serif;display:block}.kpis small{color:#899088}.kpis .accent{color:#fff;background:#2f6b45;border-color:#2f6b45}.kpis .accent:after{content:"";border:22px solid #ffffff14;border-radius:50%;width:130px;height:130px;position:absolute;bottom:-55px;right:-45px}.kpis .accent>span,.kpis .accent small{color:#d7e5d9}.panel{background:#fffc;border:1px solid #e0e2d8;border-radius:24px;margin-top:20px;padding:28px;box-shadow:0 7px 30px #37463909}.panel-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.eyebrow{color:#a06e39;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 5px;font-size:10px;font-weight:700}h2{margin:0;font:650 23px/1.2 Fraunces,serif}.toggle{background:#edf0e8;border-radius:12px;padding:4px}.toggle button{color:#657068;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:8px 13px;font-size:12px;font-weight:700}.toggle .active{color:#285b3b;background:#fff;box-shadow:0 2px 8px #3246371a}.chart-layout{grid-template-columns:minmax(210px,.75fr) 1.25fr;align-items:center;gap:50px;max-width:820px;margin:10px auto;display:grid}.donut{aspect-ratio:1;cursor:pointer;border-radius:50%;place-items:center;width:min(100%,260px);margin:auto;display:grid;box-shadow:0 5px 22px #1f39271f}.donut-centre{aspect-ratio:1;background:#fffdf8;border-radius:50%;place-items:center;width:61%;display:grid;box-shadow:inset 0 0 0 1px #e7e8df}.donut-centre span{color:#808981;text-transform:uppercase;letter-spacing:1px;align-self:end;font-size:11px}.donut-centre strong{align-self:start;margin-top:6px;font:650 22px Fraunces,serif}.legend{gap:4px;display:grid}.legend-row{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:10px 1fr auto;align-items:center;gap:11px;padding:8px 10px;font-size:13px;display:grid}.legend-row:hover{background:#f1f3ed}.legend-row.selected{background:#e4ebdf;box-shadow:inset 0 0 0 1px #cbd8c8}.legend-row i{border-radius:3px;width:9px;height:9px}.legend-row strong{font-size:12px}.receipts{gap:11px;display:grid}.receipt{background:#fff;border:1px solid #e1e3db;border-radius:15px;overflow:hidden}.receipt summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:17px 19px;list-style:none;display:flex}.receipt summary::-webkit-details-marker{display:none}.receipt summary>div{gap:4px;display:grid}.receipt summary span{color:#7c857e;font-size:12px}.receipt-total{grid-template-columns:auto auto 20px;align-items:center;gap:22px!important}.receipt-total b{color:#7b867d;transition:transform .2s}.receipt[open] .receipt-total b{transform:rotate(180deg)}.table-wrap{border-top:1px solid #e7e8e2;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #eff0eb;padding:13px 19px}th{color:#7a837c;text-transform:uppercase;letter-spacing:.7px;background:#f8f8f4;font-size:10px}.numeric{text-align:right}.strong{font-weight:700}.pill{color:#396149;background:#e9f0e8;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600}.clear-filter{color:#285b3b;cursor:pointer;background:#eef3eb;border:1px solid #cbd8c8;border-radius:10px;min-height:36px;padding:8px 12px;font-size:12px;font-weight:700}.sign-out{white-space:nowrap;min-height:44px}button:focus-visible,label.upload-button:focus-within,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #2f6b4547}.state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 190px);display:flex}.state-icon{color:#2f6b45;background:#e4ebdf;border-radius:18px;place-items:center;width:58px;height:58px;margin-bottom:18px;font:650 26px Fraunces,serif;display:grid}.state p{color:#738078}.loader{border:4px solid #dce4d8;border-top-color:#2f6b45;border-radius:50%;width:40px;height:40px;margin-bottom:20px;animation:.8s linear infinite spin}.retry{color:#fff;cursor:pointer;background:#2f6b45;border:0;border-radius:10px;padding:10px 18px;font-weight:700}.modal-overlay{z-index:10;background:#24332973;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fffdf8;border:1px solid #e0e2d8;border-radius:22px;width:min(720px,100%);max-height:88vh;padding:26px 28px;overflow-y:auto;box-shadow:0 20px 60px #1f2d2340}.modal-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-close{color:#657068;cursor:pointer;background:#edf0e8;border:0;border-radius:9px;padding:6px 10px;font-size:16px;line-height:1}.manual-receipt-fields{grid-template-columns:1fr 2fr;gap:14px;margin-bottom:18px;display:grid}.manual-receipt-fields label{color:#55605a;text-transform:uppercase;letter-spacing:.6px;gap:6px;font-size:12px;font-weight:700;display:grid}.manual-form input,.manual-form select{color:#243329;font:inherit;background:#fff;border:1px solid #d8ddcf;border-radius:10px;padding:10px 12px;font-size:13px}.manual-items{gap:8px;margin-bottom:12px;display:grid}.manual-item-row{grid-template-columns:2fr 70px 90px 1.3fr 80px 30px;align-items:center;gap:8px;display:grid}.manual-item-heading{color:#7a837c;text-transform:uppercase;letter-spacing:.6px;font-size:10px;font-weight:700}.manual-item-total{text-align:right;font-size:13px;font-weight:700}.remove-item{color:#a05a5a;cursor:pointer;background:#fbf1f1;border:1px solid #e1c9c9;border-radius:8px;width:26px;height:26px;padding:0;font-size:15px;line-height:1}.remove-item:disabled{opacity:.4;cursor:not-allowed}.add-item{color:#285b3b;cursor:pointer;background:0 0;border:1px dashed #b8cbb9;border-radius:10px;padding:8px 12px;font-size:12px;font-weight:700}.manual-receipt-total{border-top:1px solid #e7e8e2;justify-content:flex-end;align-items:baseline;gap:10px;margin-top:14px;padding-top:14px;display:flex}.manual-receipt-total span{color:#6d776f;text-transform:uppercase;letter-spacing:.6px;font-size:12px;font-weight:700}.manual-receipt-total strong{font:650 20px Fraunces,serif}.form-error{color:#a05a5a;margin:14px 0 0;font-size:13px}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.chat-modal{flex-direction:column;width:min(620px,100%);height:min(680px,88vh);display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:12px;min-height:0;padding:4px 3px 18px;display:flex;overflow-y:auto}.chat-welcome{color:#536058;text-align:center;max-width:390px;margin:auto;padding:25px}.chat-welcome strong{color:#243329;font:650 20px Fraunces,serif}.chat-welcome p{margin:10px 0 0;font-size:13px;line-height:1.6}.chat-message{max-width:82%}.chat-message span{color:#78827a;text-transform:uppercase;letter-spacing:.7px;margin:0 7px 4px;font-size:10px;font-weight:700;display:block}.chat-message p{white-space:pre-wrap;background:#edf0e8;border-radius:15px 15px 15px 4px;margin:0;padding:11px 14px;font-size:14px;line-height:1.5}.chat-message.user{align-self:flex-end}.chat-message.user span{text-align:right}.chat-message.user p{color:#fff;background:#2f6b45;border-radius:15px 15px 4px}.chat-message.pending{opacity:.65}.chat-form{border-top:1px solid #e4e7df;padding-top:15px}.chat-form label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.chat-form>div{gap:9px;display:flex}.chat-form input{color:#243329;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #ccd4c7;border-radius:11px;padding:12px 14px;font-size:14px}.chat-form button:disabled{cursor:not-allowed;opacity:.55}@media (width<=600px){.manual-receipt-fields,.manual-item-row,.manual-item-heading{grid-template-columns:1fr}.manual-item-heading{display:none}.remove-item{justify-self:start}}footer{color:#899189;text-align:center;padding:18px;font-size:11px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=850px){.kpis{grid-template-columns:repeat(2,1fr)}.chart-layout{gap:25px}}@media (width<=1100px){header{align-items:flex-start}.header-actions{flex-wrap:wrap}.date-range{order:-1}}@media (width<=600px){header{gap:12px;height:auto;min-height:76px;padding:12px 14px}.brand{gap:9px;font-size:20px}.brand>span{width:38px;height:38px}.brand small{display:none}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.all-time,.desktop-label{display:none}.mobile-label{display:inline}.upload-message{margin:0 14px}main{padding:14px 14px 40px}.date-range{order:-1;width:100%}.date-range-control{width:100%;min-width:0}.custom-range{width:min(360px,100vw - 28px);left:auto;right:0}.kpis{gap:10px}.kpis article{min-height:130px;padding:18px}.kpis strong{font-size:24px}.panel{border-radius:19px;padding:19px 14px}.panel-heading{align-items:flex-start}.category-panel .panel-heading{flex-direction:column}.chart-layout{grid-template-columns:1fr;gap:20px}.donut{width:210px}.receipt summary{padding:15px}.receipt-total>span{display:none}.receipt-total{gap:10px!important}.table-wrap{overflow:visible}table,tbody{display:block}thead{display:none}tbody{padding:0 12px 12px}tbody tr{border-bottom:1px solid #eff0eb;grid-template-columns:1fr auto;gap:8px 16px;padding:14px 2px;display:grid}tbody tr:last-child{border-bottom:0}td{white-space:normal;text-align:right;border:0;justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}td:before{content:attr(data-label);color:#7a837c;text-transform:uppercase;letter-spacing:.6px;font-size:10px;font-weight:700}td:first-child{text-align:left;grid-column:1/-1;font-weight:700;display:block}td:first-child:before{display:none}td:nth-child(2){grid-column:1/-1;justify-content:flex-start}td:nth-child(3),td:nth-child(4),td:nth-child(5){grid-column:1/-1}.upload-button{padding:9px 10px}.chat-modal{height:min(720px,92vh);padding:20px 16px}}@media (width<=380px){.kpis{grid-template-columns:1fr}.kpis article{min-height:112px}.panel-heading{gap:12px}.count{display:none}}
