:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#172b3a;background:#eef2f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}main{max-width:1180px;margin:0 auto;padding:32px 24px 64px}.app-header,.section-heading,.receipt-header{display:flex;align-items:center;justify-content:space-between;gap:24px}.app-header{margin-bottom:28px}h1,h2,p{margin-top:0}h1{margin-bottom:4px;letter-spacing:-.03em}h2{margin-bottom:0;font-size:1.55rem}.app-header p,.receipt-header p{margin-bottom:0;color:#607381}.badge{padding:6px 12px;border-radius:999px;color:#15547e;background:#dcebf4;font-weight:700}section{background:#fff;border:1px solid #d6dfe6;border-radius:14px;padding:24px;box-shadow:0 10px 30px #1e37460f}.eyebrow{margin-bottom:4px;color:#527080;font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}button{padding:10px 18px;background:#15547e;color:#fff;border:0;border-radius:7px;cursor:pointer;font-weight:650}button:hover{background:#0e4265}.button-secondary{margin-bottom:24px;color:#15547e;background:#edf4f8}.button-secondary:hover{background:#dcebf4}.filters{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) auto;gap:12px;align-items:end;margin:22px 0;padding:16px;background:#f6f8fa;border-radius:10px}label{display:grid;gap:6px;color:#435b69;font-size:.82rem;font-weight:700}input{min-width:0;padding:9px 10px;border:1px solid #c8d4dc;border-radius:6px;color:#172b3a;background:#fff}input:focus{outline:2px solid #84b8d7;outline-offset:1px}.table-wrap{overflow-x:auto;margin-top:20px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{padding:13px 12px;border-bottom:1px solid #e2e8ec;text-align:left;white-space:nowrap}th{color:#526773;font-size:.78rem;letter-spacing:.035em;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}.clickable{cursor:pointer}.clickable:hover,.clickable:focus{outline:none;background:#f1f7fa}.pagination{display:flex;justify-content:flex-end;margin-top:18px}.empty-state,.state-block{margin:24px 0 0;padding:28px;border-radius:10px;background:#f6f8fa;text-align:center}.state-block p{margin-bottom:16px}.receipt-header{padding-bottom:20px;border-bottom:1px solid #e2e8ec}.receipt-total{font-size:1.8rem;white-space:nowrap}.receipt-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.receipt-meta div{padding:12px;border-radius:8px;background:#f6f8fa}dt{margin-bottom:5px;color:#687b87;font-size:.75rem}dd{margin:0;overflow-wrap:anywhere;font-weight:650}tfoot th{border-top:2px solid #b8c8d2;border-bottom:0}tfoot th:first-child{text-align:right}@media(max-width:760px){main{padding:20px 12px 40px}section{padding:16px}.filters{grid-template-columns:1fr}.receipt-meta{grid-template-columns:1fr 1fr}.receipt-header{align-items:flex-start}}.app-nav{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.app-nav a{padding:10px 18px;border-radius:7px;color:#15547e;background:#dcebf4;font-weight:650;text-decoration:none}.app-nav a.active{color:#fff;background:#15547e}.app-nav a:hover{background:#c9e0ec}.app-nav a.active:hover{background:#0e4265}button:disabled{opacity:.55;cursor:default}.directory-note{margin-top:20px;color:#607381}td small{display:block;margin-top:5px;font-size:.75rem;color:#607381}.binding-form{display:grid;gap:14px;max-width:800px}select{font:inherit;padding:10px;border:1px solid #c8d4dc;border-radius:6px;min-width:0;width:100%;background:#fff}h3{margin-top:28px}@media(max-width:760px){.section-heading{flex-wrap:wrap}}.panel{margin-top:24px;padding:20px;border:1px solid #dce3e8;border-radius:10px;background:#fff}.wallet-metrics{display:flex;gap:40px;flex-wrap:wrap}.wallet-metrics strong,.metrics strong{font-size:1.35rem}.daily-chart{overflow-x:auto;margin:20px 0}.daily-chart svg{display:block;width:100%;min-width:600px;color:#526571;font-size:12px}.daily-chart text{fill:currentColor}.chart-grid{stroke:#e2e9ed;stroke-width:1}.chart-line{fill:none;stroke:#187e8c;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.chart-point{fill:#187e8c;stroke:#fff;stroke-width:1.5}.withdrawal-confirm{padding:16px;background:#f0f7f6;border:1px solid #aad3d1}.login-page{min-height:100vh;display:grid;place-items:center}.login-form,.user-form{display:grid;gap:1rem;max-width:28rem}.login-form label,.user-form label{display:grid;gap:.35rem}.user-menu{display:flex;align-items:center;gap:.75rem}
