:root{color-scheme:light;--paper:#f7f7f0;--ink:#172421;--muted:#4d6058;--line:#cdd6cb;--accent:#165445;--soft:#e4eee5;font-family:"Instrument Sans",system-ui,sans-serif;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}main{max-width:960px;padding:clamp(26px,6vw,72px) clamp(18px,5vw,48px) 36px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}h1,h2,p{margin:0}h1{font-size:clamp(2.5rem,8vw,4.25rem);letter-spacing:-.075em;line-height:1}header p{margin-top:11px;color:var(--muted)}
.overview{display:grid;grid-template-columns:1fr 1fr;background:var(--accent);color:#fff;border-radius:14px;margin-bottom:38px}.overview>div{padding:clamp(16px,4vw,30px);display:grid;gap:5px}.overview>div+div{border-left:1px solid #ffffff45}.overview span,.overview small{color:#e2f0e7}.overview strong{font-variant-numeric:tabular-nums;font-size:clamp(1.65rem,5vw,3rem);letter-spacing:-.045em}
section+section{margin-top:32px}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:12px}.section-head span,small,footer p{font-size:.86rem;color:var(--muted)}ul{list-style:none;padding:0;margin:0}.bill{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--line)}.bill:hover{background:#eef1e9}.bill input{inline-size:19px;block-size:19px;accent-color:var(--accent);margin:0}.name{display:grid;gap:3px;font-weight:650;overflow-wrap:anywhere}.name small{font-weight:400}.amount{font-variant-numeric:tabular-nums;font-weight:650}.late{color:#8b382b}.empty{padding:19px 0;color:var(--muted)}
button{border:1px solid var(--line);background:transparent;border-radius:8px;min-height:40px;padding:8px 13px;font:inherit;font-weight:630;color:inherit;cursor:pointer;transition:background .16s}.primary{background:var(--accent);color:#fff;border-color:var(--accent);white-space:nowrap}button:hover{background:var(--soft)}.primary:hover{background:#103d33}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:2px solid #26735e;outline-offset:3px}footer{border-top:1px solid var(--line);margin-top:30px;padding-top:15px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}footer div,.actions{display:flex;gap:8px}#message{color:var(--accent);margin-top:10px;min-height:1.4em}
dialog{width:min(420px,calc(100% - 28px));padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#17242178}form,label{display:grid;gap:8px}form{gap:16px}form input{min-height:42px;width:100%;border:1px solid var(--line);padding:8px 10px;border-radius:7px;font:inherit;background:#fff;color:var(--ink)}.actions{justify-content:flex-end}
@media(max-width:480px){.bill{gap:8px}.bill button{padding-inline:8px}.section-head span{font-size:.76rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.schedules{margin-top:28px;border-block-start:1px solid var(--line);padding-top:14px}.schedules summary{cursor:pointer;font-weight:650}.schedule{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}form select{min-height:42px;width:100%;border:1px solid var(--line);padding:8px 10px;border-radius:7px;font:inherit;background:#fff;color:var(--ink)}[hidden]{display:none!important}
