:root{color:#e2e8f0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at top,#4c60c659,#0000 30%),linear-gradient(#020817 0%,#0f172a 100%);font-family:Inter,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{transition:all .2s}#root{min-height:100vh}.app-shell{width:min(1240px,100% - 32px);margin:0 auto;padding:32px 0 48px}.topbar{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#7c8aff;margin:0 0 8px;font-size:11px;font-weight:700}h1,h2,p{margin:0}h1{color:#f8faff;font-size:clamp(2rem,3vw,2.7rem)}h2{color:#f8faff;font-size:1.25rem}.period-selector{color:#dfe7ff;flex-direction:column;gap:8px;min-width:0;display:flex}.period-selector input,.entry-form input,.entry-form select,.field-block input,.category-adder input,.custom-range input{color:#edf2ff;box-sizing:border-box;width:100%;font:inherit;background:#0f172ab3;border:1px solid #94a3b840;border-radius:12px;padding:.8rem .9rem}.toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.segmented-control{background:#0f172acc;border:1px solid #94a3b833;border-radius:999px;padding:4px;display:inline-flex}.segmented-control button{color:#dfe7ff;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.7rem 1rem;font-weight:600}.segmented-control button.active{color:#050b1a;background:linear-gradient(135deg,#7c8aff,#5eead4)}.custom-range{color:#dfe7ff;gap:12px;display:flex}.custom-range label,.field-block{color:#dfe7ff;flex-direction:column;gap:8px;min-width:170px;display:flex}.content-grid{grid-template-columns:1.4fr 1fr;gap:20px;display:grid}.panel{background:#0f172ac7;border:1px solid #94a3b82e;border-radius:22px;padding:20px;box-shadow:0 18px 45px #0f172a40}.summary-panel{grid-column:1/2}.panel-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.stat-card{background:#1e293bd9;border:1px solid #94a3b82e;border-radius:16px;flex-direction:column;gap:8px;padding:16px;display:flex}.stat-card.highlight{background:linear-gradient(135deg,#7c8aff38,#5eead42e)}.stat-card span,.progress-meta span,.entry-item p,.entry-meta span,.meta-summary span,.category-row span{color:#c9d4f5;font-size:.82rem}.stat-card strong,.progress-meta strong,.entry-meta strong,.meta-summary strong,.category-row strong{color:#f8faff;font-size:1.35rem}.progress-card{background:#0f172ab3;border:1px solid #94a3b829;border-radius:16px;margin-top:18px;padding:16px}.progress-meta{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.progress-bar{background:#94a3b833;border-radius:999px;width:100%;height:12px;overflow:hidden}.progress-bar span{border-radius:inherit;background:linear-gradient(90deg,#7c8aff,#5eead4);height:100%;display:block}.category-list{flex-direction:column;gap:10px;margin-top:18px;display:flex}.category-row{background:#1e293bb3;border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.entry-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.entry-form label{color:#dfe7ff;flex-direction:column;gap:8px;display:flex}.entry-form label:last-of-type,.entry-form .primary-button{grid-column:1/-1}.primary-button,.secondary-button,.entry-item button{cursor:pointer;font:inherit;border:none;border-radius:12px;padding:.82rem 1rem;transition:transform .2s}.primary-button{color:#07111d;background:linear-gradient(135deg,#7c8aff,#5eead4);font-weight:700}.secondary-button{color:#edf2ff;background:#7c8aff29;border:1px solid #7c8aff59}.primary-button:hover,.secondary-button:hover,.entry-item button:hover,.day:hover{transform:translateY(-1px)}.entries-list{flex-direction:column;gap:10px;margin-top:18px;display:flex}.entry-item{background:#1e293bb8;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.entry-item strong{color:#f8faff}.entry-item p{margin-top:4px}.entry-meta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.entry-item button{color:#fecaca;background:#ef44441f;border:1px solid #ef444433;padding:.6rem .75rem}.calendar-box{background:#0f172ab3;border:1px solid #94a3b82e;border-radius:16px;margin-top:18px;padding:16px}.calendar-header{color:#dfe7ff;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.day{color:#f8faff;cursor:pointer;background:#1e293b99;border:1px solid #94a3b833;border-radius:10px;padding:.65rem .4rem}.day.selected{color:#07111d;background:linear-gradient(135deg,#7c8aff,#5eead4);border:0;font-weight:700}.meta-summary{gap:12px;margin-top:18px;display:grid}.meta-summary>div{background:#1e293bb3;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.category-adder{gap:10px;margin-bottom:18px;display:flex}.category-chip-list{flex-wrap:wrap;gap:10px;display:flex}.category-chip{color:#edf2ff;background:#7c8aff24;border:1px solid #7c8aff42;border-radius:999px;align-items:center;padding:.55rem .8rem;display:inline-flex}.empty-state{color:#c9d4f5;text-align:center;padding:20px 12px}.topbar-actions{align-items:flex-end;gap:12px;min-width:0;display:flex}.goal-button{height:46px;padding:0 1.2rem;font-weight:600}.add-button{color:#07111d;cursor:pointer;background:linear-gradient(135deg,#7c8aff,#5eead4);border:none;border-radius:50%;flex-shrink:0;width:46px;height:46px;font-size:1.8rem;font-weight:600;line-height:1;transition:transform .2s;box-shadow:0 8px 22px #5eead440}.add-button:hover{transform:translateY(-1px)scale(1.05)}.modal-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020612b3;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{box-sizing:border-box;background:#0f172a;border:1px solid #94a3b840;border-radius:22px;width:min(480px,100%);max-height:calc(100dvh - 32px);padding:20px;overflow-y:auto;box-shadow:0 30px 80px #00000080}.modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;display:flex}.icon-button{color:#edf2ff;cursor:pointer;background:#1e293bb3;border:1px solid #94a3b840;border-radius:50%;flex-shrink:0;width:36px;height:36px;font-size:1.3rem;line-height:1}.gear-button{justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.stat-card .delta{color:#c9d4f5;font-size:.75rem;line-height:1.3}.balance.good,.delta.down{color:#5eead4}.balance.warn,.delta.up{color:#fbbf24}.balance.bad{color:#f87171}.table-wrap{border:1px solid #94a3b829;border-radius:14px;overflow-x:auto}.ledger-table{border-collapse:collapse;color:#edf2ff;width:100%;min-width:640px;font-size:.92rem}.ledger-table th,.ledger-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #94a3b81f;padding:12px 14px}.ledger-table th{color:#dfe7ff;background:#1e293bd9;font-weight:700}.ledger-table th:not(:first-child),.ledger-table td:not(:first-child){border-left:1px solid #94a3b81f}.ledger-table .num{text-align:right;font-variant-numeric:tabular-nums}.ledger-table .balance{font-weight:700}.ledger-table tbody tr:last-child td{border-bottom:0}.row-note{color:#c9d4f5;margin-top:2px;font-size:.78rem;display:block}.ledger-table .actions{text-align:right;border-left:0}.row-delete{color:#fecaca;font:inherit;cursor:pointer;background:#ef44441f;border:1px solid #ef444433;border-radius:10px;padding:.4rem .7rem;font-size:.82rem}.goal-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.goal-fields .field-block{min-width:0}.modal .calendar-box{margin-top:16px}.weekday-label{text-align:center;color:#7c8aff;padding-bottom:2px;font-size:.75rem;font-weight:700}.modal-save{width:100%;margin-top:16px}.content-grid>*,.entry-item>div{min-width:0}@media (width<=980px){.content-grid{grid-template-columns:1fr}.summary-panel{grid-column:auto}.toolbar,.topbar{flex-direction:column;align-items:stretch}.topbar-actions{justify-content:space-between}.period-selector{flex:1}}@media (width<=560px){.app-shell{width:calc(100% - 24px);padding:20px 0 32px}.panel,.modal{border-radius:18px;padding:16px}.entry-form,.goal-fields,.stats-grid{grid-template-columns:1fr}.category-adder,.custom-range{flex-direction:column}.custom-range label{min-width:0}.period-selector input{padding:.8rem .5rem .8rem .7rem;font-size:.9rem}.topbar-actions{gap:8px}.toolbar{align-items:stretch}.segmented-control{display:flex}.segmented-control button{flex:1}.entry-item{flex-wrap:wrap}.calendar-grid{gap:6px}.stat-card strong,.progress-meta strong,.entry-meta strong,.meta-summary strong,.category-row strong{font-size:1.15rem}}.login-shell{justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.login-card{flex-direction:column;gap:16px;display:flex}.login-card .field-block{min-width:0}.login-error{color:#f87171;font-size:.9rem}.logout-button{width:100%;margin-top:20px}.category-manage-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.category-manage{background:#1e293bb3;border:1px solid #94a3b824;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.category-manage.inactive .category-manage-name strong{color:#94a3b8;text-decoration:line-through}.category-manage-name{color:#f8faff;overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.category-manage-name small{color:#fbbf24;font-size:.75rem}.category-manage-actions{flex-shrink:0;gap:8px;display:flex}.small-button{padding:.4rem .8rem;font-size:.82rem}
