.login-card{max-width:650px;margin:30px auto;padding:36px}.login-card h2{font-size:30px}.login-card p{line-height:1.7}.login-card form{margin:24px 0}.identity{overflow-wrap:anywhere}.login-alert{padding:16px;background:#f6e7de;border-left:3px solid #8c2c38;margin-bottom:20px}.login-state{display:inline-block;margin-bottom:18px}.login-card button{min-height:46px}button:disabled{opacity:.55;cursor:not-allowed}.login-card a{color:#681d30}

.bank-section{margin-top:24px}.block{display:block;margin-top:5px;color:var(--muted)}textarea{font:inherit;border:1px solid #d9c9ad;border-radius:6px;padding:10px;max-width:100%;resize:vertical}.form-error{color:#9b263b}.bank-event p{overflow-wrap:anywhere}.bank-section .line{align-items:center;flex-wrap:wrap}.bank-section .actions{margin-top:16px}

.account-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:22px;margin:18px 0 30px}.account-summary{background:#fffdf8;border:1px solid #c4a35d;border-top:4px solid #651b2e;border-radius:16px;padding:24px;box-shadow:0 8px 24px #4c28300a;min-width:0}.account-summary .account-heading{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:0;flex-wrap:wrap}.account-heading h3{margin:0;font-size:20px;overflow-wrap:anywhere}.account-heading>div{flex:1;min-width:120px}.account-heading>div>span{font-size:13px;color:#77675e}.account-monogram{display:grid;place-items:center;background:#651b2e;color:#f3d786;width:42px;height:42px;border-radius:50%;font-weight:700;flex-shrink:0}.account-status{font-size:12px;border:1px solid #d4c6af;background:#f5ede3;border-radius:20px;padding:5px 10px}.account-status.is-active{color:#216144;background:#eaf4e9;border-color:#c4dfca}.account-tags{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.account-tags>span{background:#f4ead8;border:1px solid #e3d2b5;padding:4px 9px;border-radius:5px;font-size:12px}.account-tags small{margin-left:auto;color:#77675e}.account-balance{background:#f6f0e5;padding:18px;border-radius:9px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.account-balance span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.account-balance strong{color:#651b2e;font-size:25px;font-variant-numeric:tabular-nums}.account-metrics{margin:12px 0}.account-metrics>div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #eee1cb;font-size:13px}.account-metrics dt{color:#77675e}.account-metrics dd{margin:0;text-align:right;font-weight:600;max-width:55%}.account-fees{font-size:13px;line-height:1.7;margin:18px 0}.account-fees small,.account-activity small{display:block;color:#77675e;font-size:12px}.account-review{border-top:1px solid #e3d2b5;margin-top:20px;padding-top:16px;font-size:13px;line-height:1.6}.account-review summary{color:#651b2e;cursor:pointer;font-weight:700}.account-activity{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #eee1cb;padding:10px 0}.account-summary button{min-height:40px}.account-summary h4{margin-bottom:6px}@media(max-width:500px){.account-summary{padding:18px}.account-balance strong{font-size:22px}.account-tags small{width:100%;margin-left:0}}

.directory-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.directory-tools label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#77675e}.directory-tools label:first-child{flex:1;min-width:230px}.directory-tools input,.directory-tools select{max-width:100%;min-height:40px}.alias-box{display:block;width:fit-content;max-width:100%;padding:5px 9px;margin:7px 0;border:1px solid #e0d0b1;background:#f8f0df;border-radius:6px;color:#745b39;font-size:12px;overflow-wrap:anywhere}.directory-review{border:1px solid #c4a35d;border-top:4px solid #651b2e;border-radius:12px;margin-top:24px;padding:24px;background:#fffdf8}.directory-review .actions{justify-content:space-between}.directory-review h3{margin:0}.directory-review h4{color:#651b2e;margin-top:22px}.directory-notes{white-space:pre-wrap;overflow-wrap:anywhere}.directory td{vertical-align:top}.directory h2 small{font-size:14px;color:#77675e}

.history-dialog {width:min(1200px,94vw);max-width:94vw;max-height:90vh;overflow:auto}.history-dialog .table-wrap {max-height:55vh;overflow:auto}.history-dialog th {position:sticky;top:0;background:#f6eedf}.history-dialog td {vertical-align:top}

.archive-month-card{border:1px solid #d5bc85;border-radius:12px;margin:16px 0;background:#fffdf8;overflow:hidden}.archive-month-card>summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:20px 24px;background:#f5eddf;color:#581528;list-style:none}.archive-month-card>summary::-webkit-details-marker{display:none}.archive-month-card>summary strong{font-family:Georgia,serif;font-size:1.35rem}.archive-month-card>summary small{display:block;margin-top:6px;color:#736454}.archive-month-card[open]>summary{border-bottom:1px solid #d5bc85}.archive-month-card[open] .archive-expand{transform:rotate(180deg)}.archive-body{padding:20px}.archive-download{display:inline-block;padding:12px 18px;border:1px solid #b9954d;border-radius:7px;color:#581528;font-weight:bold}.archive-month-card>summary:focus-visible{outline:3px solid #b9954d;outline-offset:-3px}

.college-total{border:1px solid #b9954d;background:linear-gradient(110deg,#581528,#38101c);color:#fff8e8}.college-total h2,.college-total .eyebrow{color:#e4c47d}.college-total-amount{display:block;font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,2.8rem);color:#f5dc9f}.college-total small{color:#e4d8c5}

/* Banking entry chooser: color supplements explicit service and fund labels. */
.log-entry-button{background:#087e59;border:1px solid #066747;color:#fff;box-shadow:0 3px 8px #087e5920}.log-entry-button:hover{background:#066747}
.entry-dialog{width:min(820px,94vw);max-width:94vw;max-height:90vh;padding:28px;border:1px solid #d7bc7d;border-radius:16px;background:#fffdf8;color:#352a26;overflow:auto}.entry-dialog::backdrop{background:#28121ab3}.entry-heading{display:flex;gap:16px;align-items:flex-start;border-bottom:1px solid #eadbc3;padding-bottom:20px}.entry-heading h2{margin:0;color:#581528;font-family:Georgia,serif}.entry-heading p{margin:8px 0 0;color:#76685e}.entry-emblem{background:#581528;color:#f3ce6b;border-radius:12px;padding:10px 16px;font-size:28px}.entry-close{margin-left:auto;font-size:25px;padding:4px 12px}.entry-types{border:0;padding:0;margin:24px 0}.entry-types legend{font-weight:bold;margin-bottom:12px}.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.entry-dialog .entry-tile{--entry-color:#581528;position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid #ddd2c1;border-top:3px solid var(--entry-color);border-radius:10px;background:#fff;cursor:pointer;color:#40362f;margin:0;font-size:14px}.entry-tile input{position:absolute;top:14px;right:12px;accent-color:var(--entry-color);width:16px;height:16px;min-height:0;margin:0}.entry-tile .entry-icon{font-size:22px;color:var(--entry-color)}.entry-tile:has(input:checked){background:#faf3e4;outline:2px solid var(--entry-color);outline-offset:1px}.entry-tile:focus-within{box-shadow:0 0 0 4px #e3c77e80}.entry-tile[data-kind=deposit]{--entry-color:#087e59}.entry-tile[data-kind=withdrawal]{--entry-color:#2563a0}.entry-tile[data-kind=fine]{--entry-color:#af540d}.entry-tile[data-kind=court]{--entry-color:#7650a0}.entry-tile[data-kind=loan]{--entry-color:#99621a}.entry-tile[data-kind=repayment]{--entry-color:#087e72}.entry-tile[data-kind=creation]{--entry-color:#277b63}.entry-tile[data-kind=management]{--entry-color:#4666a2}.entry-tile[data-kind=correction]{--entry-color:#a13746}.entry-target{padding:18px 22px;border:1px solid #cbd5e1;border-left:5px solid #2563a0;border-radius:10px;background:#f0f6fc}.entry-target h3{margin:8px 0;color:#234e7b}.entry-target p{margin:8px 0 0;line-height:1.6}.entry-target[data-fund=cof]{background:#fff1df;border-color:#efbc7e;border-left-color:#c56b17}.entry-target[data-fund=cof] h3,.entry-target[data-fund=cof] .eyebrow{color:#91420c}.entry-target[data-fund=judcf]{background:#f5effc;border-color:#c7afe1;border-left-color:#7650a0}.entry-target[data-fund=judcf] h3{color:#65418c}.entry-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;border-top:1px solid #eadbc3;padding-top:18px}.entry-footer .actions{margin:0}.account-summary[data-fund=cof]{border-color:#d78b38;border-top:4px solid #c66a14}.account-summary[data-fund=cof] .account-balance{background:#fff0db}.account-summary[data-fund=cof] .account-monogram{background:#ad570c;color:white}.account-summary[data-fund=judcf]{border-top:4px solid #7650a0}.account-summary[data-fund=judcf] .account-balance{background:#f4edfa}
@media(max-width:600px){.entry-dialog{padding:18px}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-heading{gap:10px}.entry-emblem{display:none}.entry-footer{align-items:flex-start;flex-direction:column}.entry-dialog .entry-tile{padding:14px 10px;font-size:13px}}
