:root{--bg:#10201a;--bg-grid:#14261f;--surface:#17291f;--surface-raised:#1d3226;--paper:#efe9d8;--paper-dim:#9cab9e;--gold:#c9a227;--gold-soft:#8d7a38;--mint:#8fbf9f;--coral:#e2725b;--line:#efe9d824;--shadow:0 12px 30px #00000059}*{box-sizing:border-box}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}body{background:repeating-linear-gradient(0deg, transparent, transparent 27px, var(--bg-grid) 28px), var(--bg);color:var(--paper);min-height:100vh;margin:0;padding:28px 16px 70px;font-family:Inter,sans-serif}.wrap{max-width:760px;margin:0 auto}header{text-align:center;border-bottom:1px solid var(--line);flex-direction:column;align-items:center;gap:14px;margin-bottom:22px;padding-bottom:20px;display:flex}h1{letter-spacing:-.01em;margin:0 0 4px;font-family:Fraunces,serif;font-size:clamp(24px,5vw,34px);font-weight:600}.sub{color:var(--paper-dim);margin:0;font-size:13px}.countdown{text-align:right;cursor:pointer;font-family:IBM Plex Mono,monospace}.countdown .num{color:var(--gold);font-size:28px;font-weight:700;line-height:1}.countdown .lbl{text-transform:uppercase;letter-spacing:.08em;color:var(--paper-dim);font-size:10px}.countdown-create-btn{background:var(--gold-soft);color:var(--paper);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:8px 14px;font-size:12px;font-weight:700}.countdown-edit{z-index:20;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;flex-direction:column;align-items:flex-end;gap:6px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.form-error-banner{color:#e2725b;text-align:right;font-size:12px;font-weight:700}.countdown-edit input{background:var(--surface-raised);border:1px solid var(--line);color:var(--paper);border-radius:4px;width:170px;padding:6px 8px;font-family:Inter,sans-serif;font-size:12px}.countdown-edit input.invalid{border-color:#e2725b}.countdown-date-input{background:var(--surface-raised);border:1px solid var(--line);width:170px;color:var(--paper-dim);border-radius:4px;justify-content:center;align-items:center;gap:2px;padding:6px 8px;font-family:IBM Plex Mono,monospace;display:flex}.countdown-date-input input{color:var(--paper);text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;outline:none;padding:0;font-family:IBM Plex Mono,monospace;font-size:12px}.countdown-date-input input.invalid{border-bottom-color:#e2725b}.countdown-date-input input:first-child,.countdown-date-input input:nth-child(3){width:18px}.countdown-date-input input:nth-child(5){width:34px}.countdown-edit-actions{gap:4px;display:flex}.countdown-edit-actions button{background:var(--gold);color:var(--bg);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:5px 10px;font-size:11px;font-weight:700}.countdown-edit-actions button:not(:first-child){border:1px solid var(--line);color:var(--paper-dim);background:0 0}.countdown-delete-btn{color:#e2725b!important;border-color:#e2725b!important}.header-right{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:18px;display:flex}#countdownWidget,#reminderWidget,#logoutWidget{position:relative}.logout-btn{border:1px solid var(--line);color:var(--paper-dim);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border-radius:4px;padding:7px 12px;font-family:IBM Plex Mono,monospace;font-size:11px}.logout-btn:hover{border-color:var(--coral);color:var(--coral)}.logout-confirm-popover{z-index:20;background:var(--surface);border:1px solid var(--line);max-width:200px;box-shadow:var(--shadow);border-radius:6px;flex-direction:column;align-items:center;gap:8px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.logout-confirm-actions{gap:6px;display:flex}.logout-confirm-actions button{cursor:pointer;white-space:nowrap;border-radius:4px;padding:5px 12px;font-size:11px;font-weight:700}.logout-confirm-cancel{border:1px solid var(--line);color:var(--paper-dim);background:0 0}.logout-confirm-yes{border:1px solid var(--coral);color:var(--coral);background:0 0}.telegram-link-btn{border:1px solid var(--line);color:var(--paper-dim);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border-radius:4px;padding:7px 12px;font-family:IBM Plex Mono,monospace;font-size:11px}.telegram-link-btn:hover{border-color:var(--mint);color:var(--mint)}.telegram-link-btn:disabled{opacity:.6;cursor:default}.reminder-btn{border:1px solid var(--line);color:var(--paper-dim);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:7px 12px;font-family:IBM Plex Mono,monospace;font-size:11px}.reminder-btn:hover{border-color:var(--gold);color:var(--gold)}.reminder-popover{z-index:20;background:var(--surface);border:1px solid var(--line);max-width:220px;box-shadow:var(--shadow);border-radius:6px;flex-direction:column;align-items:flex-end;gap:6px;padding:12px;display:flex;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.reminder-hint{color:var(--paper-dim);text-align:right;margin:0;font-size:11px;line-height:1.4}.reminder-time-input{background:var(--surface-raised);border:1px solid var(--line);width:60px;color:var(--paper-dim);border-radius:4px;justify-content:center;align-items:center;gap:2px;padding:6px 8px;font-family:IBM Plex Mono,monospace;display:flex}.reminder-time-input input{color:var(--paper);text-align:center;background:0 0;border:none;border-bottom:2px solid #0000;outline:none;width:18px;padding:0;font-family:IBM Plex Mono,monospace;font-size:12px}.reminder-time-input input.invalid{border-bottom-color:#e2725b}.reminder-popover-wide{align-items:stretch;max-width:260px}.reminder-times-list{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.reminder-time-chip{background:var(--surface-raised);border:1px solid var(--line);color:var(--paper);border-radius:999px;align-items:center;gap:6px;padding:3px 4px 3px 10px;font-family:IBM Plex Mono,monospace;font-size:11px;display:inline-flex}.reminder-time-chip button{color:var(--paper-dim);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px;line-height:1}.reminder-time-chip button:hover{color:#e2725b}.reminder-add-row{justify-content:flex-end;align-items:center;gap:6px;display:flex}.reminder-add-row #reminderAdd{background:var(--gold);color:var(--bg);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:6px 10px;font-size:11px;font-weight:700}.reminder-toggle-row{color:var(--paper-dim);text-align:left;cursor:pointer;align-items:center;gap:6px;font-size:11px;display:flex}.reminder-toggle-row input{flex-shrink:0}.reminder-actions{gap:4px;display:flex}.reminder-actions button{background:var(--gold);color:var(--bg);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:5px 10px;font-size:11px;font-weight:700}.reminder-actions button:not(:first-child){border:1px solid var(--line);color:var(--paper-dim);background:0 0}.tabs{background:var(--surface);border:1px solid var(--line);border-radius:6px;gap:2px;margin-bottom:24px;padding:3px;display:flex}.tab{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:var(--paper-dim);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;flex:1;padding:10px;font-family:IBM Plex Mono,monospace;font-size:12px}.tab.active{background:var(--surface-raised);color:var(--gold)}.view{display:none}.view.active{display:block}.summary-bar{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;margin-bottom:20px;padding:16px 18px}.summary-row{justify-content:space-between;margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex}.summary-row .lbl{color:var(--paper-dim)}.progress-track{background:var(--surface-raised);border-radius:4px;height:8px;margin-top:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--gold-soft), var(--gold));border-radius:4px;height:100%;transition:width .3s,box-shadow .25s}.progress-pct{text-align:right;color:var(--gold);margin-top:4px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:700}.grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:20px;display:grid}.envelope{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;padding:16px;transition:transform .25s cubic-bezier(.16,.8,.3,1),box-shadow .25s,border-color .25s;position:relative}.envelope:hover{border-color:var(--gold-soft);transform:translateY(-4px);box-shadow:0 18px 34px #00000080}.envelope:hover .progress-fill{box-shadow:0 0 10px #c9a22799}.envelope.completed{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint), var(--shadow)}.envelope.completed:hover{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint), 0 18px 34px #00000080}.envelope.completed:hover .progress-fill{box-shadow:0 0 10px #8fbf9f99}@media (prefers-reduced-motion:reduce){.envelope{transition:none}.envelope:hover{transform:none}}.envelope.cushion-envelope{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), var(--shadow)}.envelope.cushion-envelope:hover{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), 0 18px 34px #00000080}.envelope.cushion-envelope .env-name{color:var(--gold)}.env-badge{background:var(--mint);color:var(--bg);text-transform:uppercase;letter-spacing:.05em;border-radius:4px;align-items:center;gap:4px;margin-bottom:10px;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:700;display:inline-flex}.env-name{margin-bottom:10px;font-family:Fraunces,serif;font-size:16px;font-weight:600}.env-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.env-header .env-name{margin-bottom:0}.env-header input.edit-name-input{background:var(--surface-raised);border:1px solid var(--gold);min-width:0;color:var(--paper);border-radius:4px;flex:1;padding:4px 8px}.env-actions{flex-shrink:0;gap:4px;display:flex}.env-icon-btn{border:1px solid var(--line);color:var(--paper-dim);cursor:pointer;background:0 0;border-radius:4px;width:22px;height:22px;padding:0;font-size:11px;line-height:1}.env-icon-btn.edit{border-color:var(--mint);color:var(--mint)}.env-icon-btn.del{border-color:var(--coral);color:var(--coral)}.env-target-edit{gap:6px;margin-bottom:6px;display:flex}.env-target-edit input{background:var(--surface-raised);border:1px solid var(--gold);color:var(--paper);border-radius:4px;flex:1;padding:6px 8px;font-family:IBM Plex Mono,monospace;font-size:13px}.env-target-edit button{background:var(--gold);color:var(--bg);cursor:pointer;border:none;border-radius:4px;padding:0 10px;font-size:12px;font-weight:700}.env-nums{justify-content:space-between;align-items:baseline;margin-bottom:6px;font-family:IBM Plex Mono,monospace;display:flex}.env-saved{color:var(--mint);font-size:18px;font-weight:700}.env-target{color:var(--paper-dim);font-size:12px}.env-pct{text-align:right;color:var(--paper-dim);margin-top:3px;font-family:IBM Plex Mono,monospace;font-size:11px}.envelope.completed .env-pct{color:var(--mint)}.env-add{gap:6px;margin-top:12px;display:flex}.env-add input{background:var(--surface-raised);border:1px solid var(--line);min-width:0;color:var(--paper);border-radius:4px;flex:1;padding:8px;font-family:IBM Plex Mono,monospace;font-size:13px}.env-add button{background:var(--gold);color:var(--bg);cursor:pointer;border:none;border-radius:4px;padding:8px 12px;font-size:13px;font-weight:700}.env-add button:active{opacity:.8}.add-envelope{background:var(--surface);border:1px dashed var(--line);border-radius:6px;flex-wrap:wrap;gap:8px;padding:14px 16px;display:flex}.add-envelope input{background:var(--surface-raised);border:1px solid var(--line);color:var(--paper);border-radius:4px;padding:9px 10px;font-family:Inter,sans-serif;font-size:13px}.add-envelope input.name{flex:2;min-width:120px}.add-envelope input.num{flex:1;min-width:90px;font-family:IBM Plex Mono,monospace}.add-envelope button{background:var(--mint);color:var(--bg);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:9px 14px;font-size:13px;font-weight:700}.stat-row{justify-content:space-between;padding:6px 0;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex}.stat-row .lbl{color:var(--paper-dim)}.stat-row.total{border-top:1px solid var(--line);color:var(--coral);margin-top:6px;padding-top:10px;font-size:16px;font-weight:700}.form{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin:18px 0;padding:16px}.form-row{gap:8px;margin-bottom:8px;display:flex}.form input,.form select{border:1px solid var(--line);background:var(--surface-raised);color:var(--paper);border-radius:4px;width:100%;padding:10px 12px;font-family:Inter,sans-serif;font-size:14px}.form input[type=number]{font-family:IBM Plex Mono,monospace;font-weight:600}.form button{letter-spacing:.05em;background:var(--gold);width:100%;color:var(--bg);cursor:pointer;text-transform:uppercase;border:none;border-radius:4px;padding:11px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700}.form button:disabled{opacity:.5;cursor:default}.month-filter{gap:8px;margin:18px 0 10px;display:flex}.month-filter select{border:1px solid var(--line);background:var(--surface-raised);color:var(--paper);border-radius:4px;flex:1;min-width:0;padding:9px 12px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:600}.month-filter button{border:1px solid var(--mint);color:var(--mint);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;flex-shrink:0;padding:9px 12px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600}.month-filter button:disabled{opacity:.4;cursor:default}.custom-range{align-items:center;gap:8px;margin:0 0 10px;display:flex}.custom-range input[type=date]{border:1px solid var(--gold);background:var(--bg);color:var(--paper);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:4px;flex:1;min-width:0;padding:8px 10px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600}.custom-range .range-sep{color:var(--paper-dim);flex-shrink:0;font-size:11px}.entries{margin-top:4px}.entry{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:8px;padding:9px 0;font-size:13px;display:flex}.entry-main{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.entry-select{accent-color:var(--mint);cursor:pointer;flex-shrink:0;width:15px;height:15px}.entry-left{flex-direction:column;min-width:0;display:flex}.entry-cat-row{align-items:center;gap:5px;display:flex}.entry-cat{font-size:12px;font-weight:600}.cat-icon-svg{width:14px;height:14px;color:var(--paper-dim);flex-shrink:0}.entry-note{color:var(--paper-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.entry-date{color:var(--paper-dim);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:10px}.day-divider{text-transform:uppercase;letter-spacing:.06em;color:var(--gold);border-top:1px solid var(--line);margin-top:6px;padding:14px 0 4px;font-family:IBM Plex Mono,monospace;font-size:10px}.entries>.day-divider:first-child{border-top:none;margin-top:0}.entry-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.more-entries{margin-top:4px}.more-entries-toggle{cursor:pointer;color:var(--mint);text-align:center;border-top:1px solid var(--line);padding:10px 0;font-family:IBM Plex Mono,monospace;font-size:11px;list-style:none}.more-entries-toggle::-webkit-details-marker{display:none}.more-entries-toggle:hover{color:var(--gold)}.more-entries[open] .more-entries-toggle{border-bottom:1px dashed var(--line);margin-bottom:2px}.entry-amount{font-family:IBM Plex Mono,monospace;font-weight:700}.edit-btn{color:var(--mint);border:1px solid var(--mint);cursor:pointer;background:0 0;border-radius:4px;padding:2px 7px;font-size:13px}.edit-input{border:1px solid var(--gold);background:var(--surface-raised);width:80px;color:var(--paper);border-radius:4px;padding:4px 6px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700}.edit-date{border:1px solid var(--gold);background:var(--surface-raised);width:132px;color:var(--paper);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:4px;padding:4px 6px;font-family:IBM Plex Mono,monospace;font-size:12px}.edit-cat{border:1px solid var(--gold);background:var(--surface-raised);color:var(--paper);border-radius:4px;max-width:140px;padding:4px 6px;font-family:Inter,sans-serif;font-size:12px}.edit-note{border:1px solid var(--gold);background:var(--surface-raised);color:var(--paper);border-radius:4px;width:140px;margin-top:4px;padding:4px 6px;font-family:Inter,sans-serif;font-size:11px}.save-btn{background:var(--gold);color:var(--bg);cursor:pointer;border:none;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:700}.del-btn{color:var(--coral);border:1px solid var(--coral);cursor:pointer;background:0 0;border-radius:4px;padding:2px 7px;font-size:13px}.bulk-bar{background:var(--surface-raised);border:1px solid var(--gold);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;font-size:12px;display:flex}.bulk-count{color:var(--gold);margin-right:4px;font-family:IBM Plex Mono,monospace;font-weight:700}.bulk-bar select{border:1px solid var(--line);background:var(--bg);color:var(--paper);border-radius:4px;padding:5px 6px;font-family:Inter,sans-serif;font-size:12px}.bulk-bar button{cursor:pointer;border:none;border-radius:4px;padding:5px 10px;font-size:12px;font-weight:700}#bulkApplyBtn{background:var(--gold);color:var(--bg)}.bulk-delete{color:var(--coral);background:0 0;border:1px solid var(--coral)!important}.bulk-clear{color:var(--paper-dim);background:0 0;margin-left:auto;border:1px solid var(--line)!important}.breakdown{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.bd-title{text-transform:uppercase;color:var(--paper-dim);margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:11px}.bd-row{justify-content:space-between;padding:4px 0;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}.bd-cat{align-items:center;gap:5px;display:flex}.cat-manager{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-bottom:18px;padding:14px 16px}.cat-chips{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.cat-chip{background:var(--surface-raised);border:1px solid var(--line);border-radius:4px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:flex}.chip-icon{color:var(--paper-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;line-height:1}.chip-icon.edit{color:var(--mint)}.chip-icon.del,.chip-icon.cancel{color:var(--coral)}.chip-icon.save{color:var(--gold)}.cat-edit-input{border:1px solid var(--gold);background:var(--bg);width:110px;color:var(--paper);border-radius:4px;padding:3px 6px;font-family:Inter,sans-serif;font-size:12px}.cat-chip-editing{flex-direction:column;align-items:stretch;gap:6px;width:100%}.cat-edit-row{align-items:center;gap:6px;display:flex}.cat-edit-synonyms{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--paper-dim);border-radius:4px;padding:3px 6px;font-family:Inter,sans-serif;font-size:11.5px}.cat-add{gap:8px;display:flex}.cat-add input{background:var(--surface-raised);border:1px solid var(--line);min-width:0;color:var(--paper);border-radius:4px;flex:1;padding:8px 10px;font-family:Inter,sans-serif;font-size:13px}.cat-add button{background:var(--mint);color:var(--bg);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:8px 14px;font-size:13px;font-weight:700}.empty{text-align:center;color:var(--paper-dim);padding:20px 0;font-size:12px;font-style:italic}.status{text-align:center;color:var(--paper-dim);margin-top:14px;font-family:IBM Plex Mono,monospace;font-size:11px}.chart-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;margin-bottom:16px;padding:18px}.chart-title{text-transform:uppercase;letter-spacing:.06em;color:var(--paper-dim);margin-bottom:14px;font-family:IBM Plex Mono,monospace;font-size:11px}.chart-canvas-wrap{width:100%;position:relative}.chart-canvas-wrap.donut{height:420px}.chart-canvas-wrap.bar{height:220px}.chart-canvas-wrap.mini{height:130px}.donut-layout{align-items:flex-start;gap:16px;display:flex}.donut-layout.legend-bottom{flex-direction:column}.donut-layout.legend-right{flex-direction:row}.donut-layout.legend-right .chart-canvas-wrap.donut{flex:64%;min-width:0}.donut-layout.legend-right .chart-legend{flex:36%;padding-top:16px;padding-left:20px}.chart-legend{flex-direction:column;gap:8px;display:flex}.donut-layout.legend-bottom .chart-legend{flex-flow:wrap;gap:10px 14px}.chart-legend-item{cursor:pointer;color:var(--paper);text-align:left;background:0 0;border:none;align-items:center;gap:7px;padding:0;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.chart-legend-swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px}.chart-legend-item.legend-off{opacity:.4;text-decoration:line-through}@media (width<=480px){.chart-canvas-wrap.donut{height:320px}}.auth-wrap{max-width:360px;margin:14vh auto 0;padding:0 16px}.auth-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px;padding:26px 22px}.auth-title{margin:0 0 4px;font-family:Fraunces,serif;font-size:24px;font-weight:600}.auth-sub{color:var(--paper-dim);margin:0 0 20px;font-size:13px}.auth-tabs{gap:8px;margin:0 0 18px;display:flex}.auth-tab-btn{background:var(--surface-raised);border:1px solid var(--line);color:var(--paper-dim);cursor:pointer;border-radius:4px;flex:1;padding:9px 4px;font-family:IBM Plex Mono,monospace;font-size:13px}.auth-tab-btn.active{border-color:var(--gold);color:var(--gold);background:#c9a22729}.auth-card .form-row{margin-bottom:10px}.auth-toggle{text-align:center;color:var(--paper-dim);margin-top:14px;font-size:12px}.auth-toggle button{color:var(--gold);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.auth-error{color:var(--coral);margin:0 0 12px;font-family:IBM Plex Mono,monospace;font-size:12px}.auth-notice-success{color:var(--mint);margin:0 0 12px;font-family:IBM Plex Mono,monospace;font-size:12px}.auth-email-row{position:relative}.auth-forget-btn{color:var(--paper-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-forget-btn:hover{color:var(--coral)}.auth-password-row{position:relative}.auth-password-row input{padding-right:36px}.auth-password-toggle-btn{cursor:pointer;opacity:.75;background:0 0;border:none;padding:4px;font-size:15px;line-height:1;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.auth-password-toggle-btn:hover{opacity:1}.auth-remember-row{justify-content:space-between;align-items:center;margin:-2px 0 14px;font-size:12.5px;display:flex}.auth-remember-label{color:var(--paper-dim);cursor:pointer;align-items:center;gap:7px;display:flex}.auth-remember-label input[type=checkbox]{accent-color:var(--gold);cursor:pointer;width:14px;height:14px}.auth-link-btn{color:var(--gold);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px}.auth-link-btn:hover{text-decoration:underline}.auth-divider{color:var(--paper-dim);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;margin:18px 0 14px;font-size:11px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.telegram-login-btn{letter-spacing:.03em;border:1px solid var(--line);width:100%;color:var(--paper);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:11px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:700;display:flex}.telegram-login-btn:hover{color:#29a9ea;border-color:#29a9ea}.telegram-waiting{color:var(--paper-dim);text-align:center;justify-content:center;align-items:center;gap:10px;padding:11px;font-size:12.5px;display:flex}.telegram-waiting-spinner{border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.8s linear infinite telegram-waiting-spin}@keyframes telegram-waiting-spin{to{transform:rotate(360deg)}}.telegram-waiting button{color:var(--coral);cursor:pointer;background:0 0;border:none;padding:0;font-size:12.5px;text-decoration:underline}.capital-grids{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:16px;display:grid}.capital-section .grid{margin-bottom:14px}.summary-bar.assets,.summary-bar.debts{transition:transform .25s cubic-bezier(.16,.8,.3,1),box-shadow .25s}.summary-bar.assets{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint), var(--shadow)}.summary-bar.assets:hover{box-shadow:0 0 0 1px var(--mint), 0 18px 34px #00000080;transform:translateY(-4px)}.summary-bar.debts{border-color:var(--coral);box-shadow:0 0 0 1px var(--coral), var(--shadow)}.summary-bar.debts:hover{box-shadow:0 0 0 1px var(--coral), 0 18px 34px #00000080;transform:translateY(-4px)}@media (prefers-reduced-motion:reduce){.summary-bar.assets,.summary-bar.debts{transition:none}.summary-bar.assets:hover,.summary-bar.debts:hover{transform:none}}.envelope.asset-card{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint), var(--shadow)}.envelope.asset-card:hover{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint), 0 18px 34px #00000080}.envelope.asset-card:hover .progress-fill{box-shadow:0 0 10px #8fbf9f99}.envelope.debt-card{border-color:var(--coral);box-shadow:0 0 0 1px var(--coral), var(--shadow)}.envelope.debt-card:hover{border-color:var(--coral);box-shadow:0 0 0 1px var(--coral), 0 18px 34px #00000080}.envelope.debt-card:hover .progress-fill{box-shadow:0 0 10px #e2725b99}.env-badge.cushion{background:var(--gold);color:var(--bg);margin-right:6px}.auto-growth-badge{color:var(--mint);margin-top:6px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.cushion-toggle{color:var(--paper-dim);cursor:pointer;align-items:center;gap:6px;margin-bottom:8px;font-size:12.5px;display:flex}.cushion-toggle input{cursor:pointer;width:14px;height:14px;accent-color:var(--mint)}.auto-growth-mode{gap:6px;margin-bottom:8px;display:flex}.auto-growth-mode-option{text-align:center;color:var(--paper-dim);cursor:pointer;border:1px solid #efe9d82e;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 6px;font-size:11.5px;line-height:1.3;transition:border-color .15s,background .15s,color .15s;display:flex}.auto-growth-mode-option input{accent-color:var(--mint);flex-shrink:0}.auto-growth-mode-option.active{border-color:var(--mint);color:var(--paper);background:#8fbf9f1f}.cushion-income-row{gap:6px;margin-bottom:8px}.cushion-income-row input,.cushion-income-row select{background:var(--surface-raised);border:1px solid var(--line);min-width:0;color:var(--paper);border-radius:4px;flex:1;padding:6px 8px;font-family:IBM Plex Mono,monospace;font-size:12.5px}.cushion-income-row button{background:var(--gold-soft);color:var(--paper);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:0 10px;font-size:11.5px;font-weight:700}.chart-title .env-icon-btn{float:right}.chart-title .capital-reset-btn{float:right;border:1px solid var(--coral);color:var(--coral);text-transform:none;letter-spacing:0;cursor:pointer;background:0 0;border-radius:4px;padding:3px 8px;font-size:10.5px}.chart-title .capital-reset-btn:hover{background:var(--coral);color:var(--bg)}.capital-chart-layout{flex-wrap:wrap;align-items:stretch;gap:16px;display:flex}.capital-current-box{background:radial-gradient(circle at 50% 18%, var(--surface-raised) 0%, var(--surface) 72%);text-align:center;border:1px solid #c9a2274d;border-radius:6px;flex-direction:column;flex:0 0 140px;justify-content:center;align-items:center;gap:8px;padding:16px 10px;display:flex}.capital-current-icon{background:#c9a2271a;border:1px solid #c9a22766;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;display:flex;box-shadow:inset 0 0 0 1px #efe9d80a}.capital-current-icon svg{stroke-width:1.75px;width:24px;height:24px;color:var(--gold)}.capital-current-label{text-transform:uppercase;letter-spacing:.06em;color:var(--paper-dim);font-family:IBM Plex Mono,monospace;font-size:10px}.capital-current-value{color:var(--gold);font-family:IBM Plex Mono,monospace;font-size:19px;font-weight:700}.capital-chart-area{flex:200px;min-width:200px;position:relative}.capital-assets-mini{flex-direction:column;flex:0 0 170px;display:flex}.capital-mini-title{text-transform:uppercase;letter-spacing:.06em;color:var(--paper-dim);text-align:center;margin-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:10px}.capital-chart-tooltip{background:var(--surface-raised);border:1px solid var(--line);box-shadow:var(--shadow);pointer-events:none;white-space:nowrap;z-index:5;border-radius:6px;padding:8px 10px;display:none;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.capital-tooltip-label{color:var(--paper-dim);margin-bottom:3px;font-size:11px}.capital-tooltip-value{color:var(--paper);font-family:IBM Plex Mono,monospace;font-size:14px;font-weight:700}.capital-tooltip-delta{color:var(--gold);margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:11px}.capital-tooltip-date{color:var(--paper-dim);margin-top:3px;font-family:IBM Plex Mono,monospace;font-size:10px}.capital-chart-point{cursor:pointer}.cushion-members{flex-direction:column;gap:5px;margin-top:12px;display:flex}.cushion-member-row{color:var(--paper-dim);align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:12.5px;display:flex}.cushion-member-name{color:var(--paper);flex:1}.cushion-member-amount{color:var(--gold)}.cushion-member-remove{color:var(--paper-dim);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px}.cushion-member-remove:hover{color:var(--coral)}.cushion-picker{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.cushion-picker select{background:var(--surface-raised);border:1px solid var(--line);min-width:140px;color:var(--paper);border-radius:4px;flex:1;padding:6px 8px;font-family:Inter,sans-serif;font-size:12.5px}.cushion-picker #assignCushionBtn{background:var(--gold);color:var(--bg);cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:700}.cushion-goto-btn{border:1px solid var(--line);color:var(--paper-dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:6px 12px;font-size:12px}.capital-journal{flex-direction:column;gap:8px;max-height:320px;display:flex;overflow-y:auto}.capital-event{background:var(--surface-raised);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 8px 20px;font-size:12.5px;display:flex;position:relative}.capital-event:before{content:"";background:var(--line);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:9px;transform:translateY(-50%)}.capital-event.source-asset:before{background:var(--mint)}.capital-event.source-debt:before{background:var(--coral)}.capital-event.source-cushion:before{background:var(--gold)}.capital-event-label{flex:1;min-width:140px}.capital-event-delta{white-space:nowrap;font-family:IBM Plex Mono,monospace;font-weight:700}.capital-event-delta.positive{color:var(--mint)}.capital-event-delta.negative{color:var(--coral)}.capital-event-date{color:var(--paper-dim);white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:11px}.capital-event-del{border:1px solid var(--line);color:var(--paper-dim);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;width:20px;height:20px;padding:0;font-size:10px;line-height:1}.capital-event-del:hover{border-color:var(--coral);color:var(--coral)}
