:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#111827;background:#f3f6fa;--blue:#262a63;--green:#118a57}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,select{font:inherit}
.auth-shell{max-width:none;min-height:100dvh;display:grid;place-items:center;margin:0;padding:20px;background:linear-gradient(145deg,#12385f,#262a63)}.panel{width:min(100%,430px);background:#fff;border-radius:22px;padding:24px;box-shadow:0 18px 50px #0005}.panel h1{margin:0 0 20px;color:var(--blue);font-size:32px;line-height:1.05}.panel h1 span{color:var(--green)}.auth-tabs{display:flex;gap:8px;overflow:auto}.auth-tabs button{border:0;border-radius:12px;padding:11px 14px;background:#e9edf4;color:#111827;white-space:nowrap}.auth-tabs button.active{background:var(--blue);color:#fff}.auth-form{display:grid;gap:14px;margin-top:20px}.auth-form label{display:grid;gap:6px;font-weight:700}.auth-form input{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:13px;background:#fff}.auth-form button{border:0;border-radius:12px;padding:13px;background:var(--blue);color:#fff;font-weight:700}.auth-status{min-height:22px;margin:16px 0 0;color:#526176}.auth-status.error{color:#b42318}
header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#262a63;color:#fff;box-shadow:0 2px 8px #0003;flex-wrap:wrap}header h1{margin:0;font-size:1.3rem}header p{margin:2px 0 0;color:#c8cbea;font-size:.85rem}#status{font-size:.78rem;padding:5px 8px;border-radius:99px;background:#ffffff20}main:not(.auth-shell){max-width:720px;margin:auto;padding:16px}.top-menu{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;width:100%;margin-top:12px}.top-menu button{font:700 .82rem system-ui;background:#ffffff18;color:#fff;border:1px solid #ffffff70;border-radius:9px;padding:10px 4px}.top-menu button.active{background:#fff;color:#262a63}.account-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:9px;color:#d5d8f1;font-size:.78rem}.account-bar strong,.account-bar small{display:block}.account-bar small{margin-top:2px}.account-actions{display:flex;gap:6px}.account-actions button{font:600 .75rem system-ui;padding:6px 9px;border:1px solid #ffffff55;border-radius:7px;background:transparent;color:#fff}
.month-label{display:block;font-weight:700;margin-bottom:6px}select{width:100%;font:inherit;padding:12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;margin-bottom:14px}.month-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.month-heading .month-label{margin:0}button{font:700 1rem system-ui;color:#fff;background:#262a63;border:0;border-radius:9px;padding:11px 16px}#new-month{padding:8px 12px;font-size:.9rem}.amount-row{display:flex;align-items:center;gap:10px;background:#fff;padding:10px 12px;margin:5px 0;border-radius:10px;box-shadow:0 1px 3px #00000012}.labels{min-width:0;flex:1}.labels strong,.labels span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.labels strong{font-size:.72rem;color:#626a91;text-transform:uppercase}.labels span{font-size:.98rem;margin-top:2px}.amount-row input{width:118px;text-align:right;font:600 1rem system-ui;padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.amount-row input:focus{outline:3px solid #93c5fd;border-color:#2563eb}.amount-row.saving{opacity:.65}.amount-row.error{box-shadow:0 0 0 2px #dc2626}
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:#10142bd9}.modal-card{width:min(100%,420px);margin:0;background:#fff;border-radius:14px;padding:22px;box-shadow:0 20px 60px #0005}.modal h2{margin:0 0 14px;color:#262a63}.modal p{color:#4b5563;margin:-4px 0 18px}.modal label{display:block;font-weight:700;margin-bottom:6px}.modal input{width:100%;font:700 1.35rem system-ui;padding:14px;border:2px solid #9ca3af;border-radius:9px}.modal input:focus{outline:3px solid #93c5fd;border-color:#2563eb}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.dialog-actions .secondary{background:#e5e7eb;color:#111827}
.overview-card{background:#262a63;color:#fff;border-radius:12px;padding:20px}.overview-card div{margin-bottom:22px}.overview-card div:last-child{margin-bottom:0}.overview-card span,.overview-card strong{display:block}.overview-card span{font-size:.9rem;color:#d5d8f1;margin-bottom:5px}.overview-card strong{font-size:1.2rem}#overview-month{margin:0 0 14px;color:#262a63;font-size:1.25rem}.wide-secondary,.wide-primary{width:100%;margin:-3px 0 12px}.wide-secondary{background:#e8edf4;color:#262a63}.wide-primary{margin-top:14px}.editor-modal{align-items:flex-start;padding:0;background:#f3f6fa;overflow:auto}.editor-card{width:100%;min-height:100%;border-radius:0;box-shadow:none}.editor-title{display:flex;align-items:center;gap:12px}.editor-title h2{margin:0}.back-button{font-size:2rem;background:transparent;color:#262a63;padding:0 8px}.category-item{display:flex;justify-content:space-between;align-items:center;width:100%;margin:7px 0;padding:15px;background:#fff;color:#111827;border:1px solid #d7dde7;text-align:left}.category-item span{display:flex;flex-direction:column;gap:4px}.category-item small{color:#626a91}.switch-row{display:flex!important;justify-content:space-between;align-items:center;margin-top:18px}.switch-row input[type="checkbox"],.switch-row input[type="checkbox"]:checked{appearance:auto!important;-webkit-appearance:checkbox!important;width:22px!important;height:22px!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;accent-color:#262a63}.switch-row input[type="checkbox"]:focus{outline:2px solid #93c5fd;outline-offset:2px}.danger-button{display:block;margin:16px auto 0;background:transparent;color:#b42318}.summary-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:18px}.summary-tabs button{background:#fff;color:#262a63;border:1px solid #262a63}.summary-tabs button.active{background:#262a63;color:#fff}.summary-card{background:#fff;border:1px solid #d7dde7;border-radius:10px;margin:9px 0;padding:14px}.summary-card summary{cursor:pointer;list-style:none}.summary-card summary>strong{display:block;font-size:1.08rem;margin-bottom:11px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.summary-grid i{font-style:normal;font-size:.66rem;color:#626a91;text-transform:uppercase}.summary-grid b{display:block;color:#111827;font-size:.82rem;margin-top:4px}.summary-grid .positive{color:#16834b}.summary-grid .negative{color:#b42318}.summary-details{border-top:1px solid #d7dde7;margin-top:12px;padding-top:5px}.summary-details div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eef1f5}.summary-details div:last-child{border:0}output{display:block;padding:16px;border-radius:12px;background:#eef2ff;font-size:22px;font-weight:800;text-align:center;color:#262a63}
@media(max-width:430px){main:not(.auth-shell){padding:12px}.amount-row{padding:9px}.amount-row input{width:104px}}@media(max-width:360px){.top-menu button{font-size:.72rem}.summary-grid{grid-template-columns:1fr 1fr}.account-bar{align-items:flex-start;flex-direction:column}}
