:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#203b37;background:#f5f7f4;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:#14685a;text-underline-offset:3px}header{background:white;border-bottom:1px solid #dce5df;padding:18px max(24px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{font-size:32px;font-weight:750;text-decoration:none;color:#203b37;display:flex;align-items:center;gap:20px}.brand span{font-size:13px;color:#667c72;font-weight:500}nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}nav a{text-decoration:none}nav a[aria-current]{font-weight:700;border-bottom:2px solid #14685a}main{max-width:1120px;margin:40px auto;padding:0 24px;min-height:70vh}h1{font-size:clamp(28px,4vw,40px);line-height:1.2;letter-spacing:-1px;margin:12px 0 20px}h2{font-size:19px;margin:0 0 12px}h3{font-size:17px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#597167;margin:24px 0 6px}.muted,small{color:#5c736a;font-size:14px}small{display:block}.panel{background:white;border:1px solid #dce5df;border-radius:12px;padding:24px;margin:22px 0;box-shadow:0 3px 12px #1b483405}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.toolbar{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin:22px 0}button,.button{background:#176858;color:white;border:1px solid #176858;border-radius:7px;padding:10px 16px;font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;display:inline-block}button:hover,.button:hover{background:#104e42}.secondary{background:#edf4ef;color:#245b4d;border-color:#d0dfd4}.quiet{background:transparent;border-color:transparent;color:#176858;padding:6px 8px}.quiet:hover{background:#eef4ef}.danger{color:#9b3d37}button:disabled{opacity:.6;cursor:wait}label{display:block;font-size:14px;font-weight:600}input,select,textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #b9ccc0;border-radius:6px;background:white;color:inherit;font:inherit;font-size:16px}textarea{min-height:80px}input[type=checkbox]{width:auto;display:inline-block;margin-right:8px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #d49d4d;outline-offset:3px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide{grid-column:1/-1}.rate{border:1px solid #d0dfd4;border-radius:8px;margin:18px 0;padding:18px}.rate legend{font-weight:600}.check{display:flex;align-items:center;gap:6px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}.cards .panel{margin:10px 0}.amount{font-size:28px;font-weight:650;font-variant-numeric:tabular-nums;margin:12px 0}.highlight{background:#e4efe8}.notice{background:#edf3ec;padding:14px;border-radius:7px;font-size:14px}.errors{color:#9b302c;background:#fff0ec;padding:16px 32px;border-radius:7px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid #e2e9e3}thead th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#657a70}th:first-child,td:first-child{padding-left:0}td:last-child{padding-right:0}.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.actions{display:flex;gap:4px;flex-wrap:wrap}.empty{text-align:center;padding:40px;color:#637b70}.auth{max-width:480px;margin:60px auto}.auth label{margin:18px 0}.auth button{width:100%;margin-top:10px}.badge{background:#f6eddc;color:#806530;font-size:12px;padding:5px 10px;border-radius:20px}.filters{border:0;display:flex;gap:18px;flex-wrap:wrap;padding:0;margin:16px 0}.filters legend{font-size:12px;color:#657a70}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin-top:24px;gap:1px;background:#e1e8e2;border:1px solid #e1e8e2}.weekday{background:#f6f8f5;text-align:center;font-size:12px;padding:10px}.day{background:white;padding:12px;min-height:76px;font-size:14px}.today{background:#e8f1e9;font-weight:700;color:#14685a}.blank{background:#f8faf7}dl{display:grid;grid-template-columns:1fr 2fr;gap:16px}dt{color:#61766d}dd{margin:0}.notes{white-space:pre-wrap}footer{text-align:center;padding:30px;font-size:12px;color:#71867c}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;background:white;padding:12px;z-index:10}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:700px){header{align-items:flex-start;flex-direction:column;padding:14px 20px;gap:12px}nav{gap:12px}main{margin:24px auto;padding:0 16px}.fields{grid-template-columns:1fr}.panel{padding:18px}.cards{grid-template-columns:1fr}.day{padding:8px;min-height:48px}.heading{flex-wrap:wrap}.auth{margin:28px auto}dl{grid-template-columns:1fr}dd{margin-bottom:8px}}

@page{size:A4 landscape;margin:12mm}
@media print{header,footer,.skip,.screen-only{display:none!important}body{background:#fff;color:#000;font-size:11pt}main{max-width:none;min-height:0;margin:0;padding:0}main>.notice{display:none}.print-calendar{border:0;border-radius:0;box-shadow:none;margin:0;padding:0;break-inside:avoid}.print-calendar h2{font-size:18pt;margin:0}.print-calendar .heading{margin-bottom:3mm;flex-wrap:nowrap}.print-calendar .notice{background:none;padding:0;margin:2mm 0;font-size:9pt}.print-calendar .badge{background:none;color:#000;border:1px solid #777}.print-calendar .calendar{margin-top:3mm;gap:0;background:#fff;border:1px solid #555;grid-template-columns:repeat(7,minmax(0,1fr))}.print-calendar .weekday{padding:2mm;background:#fff;color:#000;font-weight:700;border-right:1px solid #555;border-bottom:1px solid #555}.print-calendar .day{min-height:22mm;padding:2mm;background:#fff;color:#000;border-right:1px solid #555;border-bottom:1px solid #555;break-inside:avoid}.print-calendar .today{font-weight:700;text-decoration:underline}.print-calendar .blank{background:#fff}}

.day-number{display:block}.calendar-payment{display:block;margin:6px 0;padding:5px;border:1px solid #d0dfd4;border-radius:4px;font-size:12px;font-weight:500;overflow-wrap:anywhere}.calendar-payment span{display:block;font-size:11px}.today .calendar-payment{font-weight:500}@media print{.print-calendar{break-inside:auto}.print-calendar .calendar-payment{color:#000;font-size:9pt;text-decoration:none;border-color:#777;padding:1mm;margin:1mm 0}.print-calendar .calendar-payment span{font-size:8pt}.print-calendar .day{font-weight:400;text-decoration:none}.print-calendar .today .day-number{text-decoration:underline;font-weight:700}}

[hidden]{display:none!important}
.site-header{padding:14px 24px;gap:20px;flex-wrap:wrap}
.header-brand{display:flex;align-items:center;gap:16px;min-width:0}
.menu-toggle{display:flex;align-items:center;gap:8px;padding:9px 12px}
.menu-toggle span:first-child{font-size:20px;line-height:1}
.top-menu{gap:24px}
.slide-menu{position:fixed;inset:0 auto 0 0;margin:0;width:min(340px,90vw);height:100dvh;max-height:none;max-width:none;padding:24px;border:0;border-right:1px solid #dce5df;background:#fff;color:#203b37;box-shadow:8px 0 32px #203b3726;transform:translateX(-100%);transition:transform .18s ease;overflow-y:auto;overscroll-behavior:contain}
.slide-menu.is-open{transform:translateX(0)}
.slide-menu::backdrop{background:#183b3659}
.drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.drawer-heading h2{margin:0;font-size:24px}
.grouped-menu{display:block}
.grouped-menu section{margin:0 0 22px}
.grouped-menu h3{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:#657a70;margin:0 0 6px}
.grouped-menu a{display:block;padding:10px 12px;border-radius:6px;border:0;margin:2px 0}
.grouped-menu a:hover{background:#edf4ef}
.grouped-menu a[aria-current]{background:#e4efe8;border:0;color:#104e42}
.grouped-menu form{padding-top:16px;border-top:1px solid #dce5df}
body.menu-open{overflow:hidden}
.fallback-menu{margin:16px 24px}
@media(max-width:700px){.site-header{flex-direction:row;align-items:center;padding:12px 16px;gap:12px}.header-brand{width:100%;gap:12px}.brand{font-size:28px;gap:12px}.top-menu{gap:20px;padding-left:0}.slide-menu{padding:20px}.menu-toggle{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.slide-menu{transition:none}}
@media print{.slide-menu,.fallback-menu,.menu-toggle{display:none!important}body.menu-open{overflow:visible}}

.icon-menu{gap:8px}.nav-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:9px;color:#176858;background:transparent;border:1px solid transparent;border-radius:7px}.nav-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-icon:hover{background:#edf4ef}.icon-menu a[aria-current]{background:#e4efe8;border:1px solid #c0d6c7}.icon-menu form{margin:0}@media(max-width:700px){.icon-menu{gap:6px}.nav-icon{width:40px;height:40px}}

@media print{.cashflow-table{overflow:visible;border:0;box-shadow:none;padding:0}.cashflow-table thead{display:table-header-group}.cashflow-table tr{break-inside:avoid}.cashflow-table a{color:#000;text-decoration:none}.cashflow-table th,.cashflow-table td{padding:2mm}.cashflow-table .number{white-space:nowrap}}

.money-out{color:#a12c27!important;font-weight:750!important}.money-in{color:#176858!important}.money-out small{color:inherit} @media print{.money-out{font-weight:750!important}}

.cashflow-table tbody td:last-child,.cashflow-table tfoot td:last-child{font-size:16px;font-weight:750;font-variant-numeric:tabular-nums}
@media print{.cashflow-table tbody td:last-child,.cashflow-table tfoot td:last-child{font-size:12pt;font-weight:750}}
