*{box-sizing:border-box} :root{--bg:#f4f6f8;--panel:#fff;--text:#17202a;--muted:#76808d;--border:#e4e8ee;--navy:#111c2e;--blue:#2f6fec;--green:#157f5b;--red:#b42318}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px}.topbar{background:var(--navy);color:#fff;padding:28px max(24px,calc((100vw - 1120px)/2));display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar h1{margin:4px 0 3px;font-size:clamp(28px,4vw,38px);letter-spacing:-.03em}.topbar p{margin:0;color:#b6c4d7}.eyebrow,.kicker{font-size:11px;font-weight:800;letter-spacing:1.5px}.eyebrow{color:#9eb4d1}.kicker{color:var(--blue)}.container{width:min(1120px,calc(100% - 28px));margin:24px auto 50px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;margin-bottom:22px;box-shadow:0 6px 22px rgba(17,28,46,.045);overflow:hidden}.panel.pad{padding:20px}.heading{padding:19px 20px 15px;display:flex;justify-content:space-between;align-items:center;gap:16px}.heading.flush{padding:0 0 18px}.heading h2{margin:3px 0 0;font-size:19px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;flex-wrap:wrap}.toolbar nav{display:flex;gap:5px;flex-wrap:wrap;background:#fff;padding:5px;border:1px solid var(--border);border-radius:12px}.toolbar nav a{padding:10px 14px;color:#49566a;text-decoration:none;border-radius:8px;font-weight:700}.toolbar nav a.active{background:var(--navy);color:#fff}.toolbar form{display:flex;align-items:center;gap:8px}.toolbar label{font-weight:700;color:#475467}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.summary>div{background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 6px 22px rgba(17,28,46,.035)}.summary span{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:7px}.summary strong{font-size:21px;letter-spacing:-.02em}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{padding:13px 15px;text-align:left;border-top:1px solid #edf0f3;vertical-align:middle}thead th{font-size:11px;color:#667085;text-transform:uppercase;letter-spacing:.5px;background:#fafbfc;white-space:nowrap;border-top:0}tbody th{font-weight:700;white-space:nowrap}tfoot th,tfoot td{background:#f5f8fc;font-weight:800;border-top:1px solid #dce4ee}.amount{font-weight:800;white-space:nowrap}.muted,.hint{color:var(--muted)}.hint{font-size:12px}.foot{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.foot p{margin:0;color:var(--muted);font-size:12px}.inline-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.inline-form label{flex:1;min-width:170px}.inline-form label:first-of-type{flex:2}label{font-size:12px;font-weight:700;color:#475467;display:block}input,select,button{font:inherit}input:not([type=hidden]),select{background:#fff;color:var(--text);border:1px solid #cfd6de;border-radius:9px;min-height:42px;padding:8px 10px;max-width:100%}label input,label select{display:block;margin-top:7px;width:100%}td input,td select{width:100%;min-width:110px}td input.number{min-width:125px}input:focus,select:focus{outline:0;border-color:#7598e7;box-shadow:0 0 0 3px rgba(47,111,236,.12)}button{background:var(--blue);color:#fff;border:0;border-radius:9px;padding:11px 17px;cursor:pointer;font-weight:700;white-space:nowrap}button:hover{filter:brightness(.93)}button.secondary{background:#eaf0fc;color:#2456b7}button.outline{background:transparent;border:1px solid #8190a5}button.link{background:transparent;padding:5px}.danger{color:var(--red)!important}.rate-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.rate-list span{background:#edf4ff;color:#36506f;border-radius:8px;padding:10px 12px}.rate-list b{color:#162d4e;margin-left:6px}.login{width:min(420px,100%);margin:64px auto;padding:26px}.login h2{font-size:25px;margin:6px 0 24px}.login input{width:100%;margin:8px 0 16px}.login button{width:100%}.notice{border-radius:9px;padding:12px 16px;margin-bottom:15px}.notice.error{color:#9a1b11;background:#fff0ee;border:1px solid #ffc9c4}.empty{padding:20px;color:var(--muted)}h3{font-size:15px;margin:20px 0 12px}@media(max-width:680px){.topbar{padding:24px 18px}.summary{grid-template-columns:1fr}.summary>div{padding:14px}.foot{align-items:stretch;flex-direction:column}.foot button{width:100%}.toolbar form{width:100%}.toolbar form input{flex:1}.inline-form label,.inline-form label:first-of-type{min-width:100%}.inline-form button{width:100%}}@media print{body{background:#fff}.topbar{color:#111c2e;background:#fff;padding:10px 0}.topbar p,.topbar form,.toolbar,.print,.notice{display:none!important}.container{width:100%;margin:0}.panel,.summary>div{box-shadow:none}.panel{break-inside:avoid}}
/* Finance table refinements */
input:not([type=hidden]),select{height:42px;min-height:42px;line-height:normal}
select{appearance:auto;padding-top:0;padding-bottom:0}
.payments-panel .heading{padding:13px 16px 11px}
.payment-search{width:min(270px,48%);font-size:11px}
.payment-search input{display:block;width:100%;margin-top:4px}
.payments-panel th,.payments-panel td{padding:5px 10px}
.payments-panel thead th{padding-top:10px;padding-bottom:10px}
.payments-panel td input,.payments-panel td select{height:34px;min-height:34px;padding:5px 8px;border-radius:7px}
.payments-panel td input.number{width:calc(100% - 26px);min-width:100px}
.payments-panel .foot{padding:10px 16px}
.payments-panel .foot button{padding:9px 15px}
.trend{font-size:18px;font-weight:800;vertical-align:middle;margin-left:5px;white-space:nowrap}
.trend.down{color:#15803d}.trend.up{color:#c12a2a}.trend.same{color:#8994a3}
.payments-panel tbody tr[hidden]{display:none}
@media(max-width:680px){.payments-panel .heading{align-items:flex-start;flex-wrap:wrap}.payment-search{width:100%}}
.month-nav{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:5px}
.month-nav strong{min-width:158px;text-align:center;font-size:15px;white-space:nowrap}
.month-nav a{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;color:#2456b7;background:#eaf0fc;text-decoration:none;font-size:27px;line-height:1;font-weight:600}
.month-nav a:hover{background:#dbe7ff}
select.payment-type.automatic{background:#eaf8f1;color:#12623f;border-color:#9bd7b8;font-weight:700}
select.payment-type.manual{background:#fff4d8;color:#845900;border-color:#eccb82;font-weight:700}
.type-badge{display:inline-block;padding:5px 9px;border-radius:8px;font-weight:700}
.type-badge.automatic{background:#eaf8f1;color:#12623f}
.type-badge.manual{background:#fff4d8;color:#845900}
@media(max-width:680px){.month-nav{width:100%;justify-content:space-between}}
.notice.success{color:#12623f;background:#eaf8f1;border:1px solid #9bd7b8}
.report-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.report-actions form{margin:0}
.legend{display:flex;align-items:center;gap:7px;color:#667085;font-size:12px;margin-bottom:15px}
.blue-dot,.green-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#2f6fec}
.green-dot{background:#157f5b;margin-left:12px}
.trend-row{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:12px;padding:7px 0;border-top:1px solid #edf0f3}
.trend-row strong{font-size:12px;color:#475467}
.bar-line{display:flex;align-items:center;gap:10px;height:21px;font-size:11px;color:#475467}
.bar-line .bar{display:inline-block;max-width:70%;height:9px;border-radius:8px;min-width:2px}
.bar-line .bar.payments{background:#2f6fec}
.bar-line .bar.electricity{background:#157f5b}
.top-table{min-width:450px}
@media(max-width:680px){.report-actions{width:100%}.report-actions button{padding:9px 11px}.report-extra .trend-row{grid-template-columns:60px 1fr}}
@media print{.report-actions{display:none!important}.report-extra{break-inside:avoid}}
.summary .total-card{background:#edf4ff;border-color:#cbdcf9}
.report-summary>div:nth-child(2){background:#eaf8f1;border-color:#bce7cf}
.mfa-panel{width:min(490px,100%);margin:32px auto}
.mfa-panel p,.login p{line-height:1.5;color:#526071}
.qr-box{width:228px;min-height:228px;margin:16px auto;padding:4px;background:#fff;border:1px solid var(--border);border-radius:8px}
.qr-box svg{display:block;width:100%;height:auto;image-rendering:pixelated}
.secret-key{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:15px;letter-spacing:1px;word-break:break-all;background:#f5f8fc;padding:12px;border-radius:9px;text-align:center;margin:10px 0 20px;user-select:all}
.recovery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0 24px}
.recovery-grid code{background:#f5f8fc;padding:10px;border-radius:7px;text-align:center;font-size:13px;user-select:all}
@media(max-width:480px){.recovery-grid{grid-template-columns:1fr}}
.total-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid #cbdcf9}
.total-breakdown div{min-width:0}
.total-breakdown small{display:block;font-size:11px;font-weight:700;margin-bottom:2px}
.total-breakdown b{font-size:13px;white-space:nowrap}
.total-breakdown div:first-child{color:#12623f}
.total-breakdown div:last-child{color:#845900}
.payments-panel tfoot tr:not(.grand-total) th,.payments-panel tfoot tr:not(.grand-total) td{background:#fafbfc;font-weight:700}
.payments-panel tfoot tr.grand-total th,.payments-panel tfoot tr.grand-total td{background:#edf4ff}

.paid-toggle{padding:4px 7px!important;min-height:28px!important;font-size:11px!important;margin-left:5px;white-space:nowrap}.paid-detail{display:block;font-size:11px;color:#168348;margin-top:3px}.is-paid input[data-currency]{color:#168348!important;background:#edf9f0!important;font-weight:700}.paid-total-row{background:#edf9f0;color:#168348}.is-paid .paid-toggle{background:#e8f4ec;color:#176738}.paid-detail:empty{display:none}

.payment-actions{white-space:nowrap}.payment-actions .paid-toggle{display:inline-block;margin:0 10px 0 0;vertical-align:middle}.payment-actions .link{display:inline-block;vertical-align:middle}

.payment-actions .paid-toggle{width:88px;min-width:88px;max-width:88px;box-sizing:border-box;text-align:center}
