@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Mono:wght@400;500&family=DM+Sans:wght@300;400;500;600&display=swap";:root{--bg: #0e0f13;--surface: #16181f;--surface2: #1e2028;--border: #2a2d38;--accent: #c8f060;--accent2: #60d4f0;--accent3: #f0a060;--text: #e8eaf0;--muted: #6b7080;--danger: #f06070;--positive: #60f0a0;--shadow: rgba(0,0,0,.4)}[data-theme=light]{--bg: #f4f5f7;--surface: #ffffff;--surface2: #f0f1f4;--border: #e0e2e8;--accent: #6aaf00;--accent2: #0090b8;--accent3: #c07000;--text: #1a1c24;--muted: #7a7f92;--danger: #d03040;--positive: #008040;--shadow: rgba(0,0,0,.08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;min-height:100vh;transition:background .3s,color .3s}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:1;transition:opacity .3s}[data-theme=light] body:before{opacity:0}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}h1,h2,h3{font-family:"DM Serif Display",serif}.app{position:relative;z-index:1;max-width:1600px;margin:0 auto;padding:40px 32px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;transition:background .3s,border-color .3s}.panel h2{font-size:1.1rem;margin-bottom:20px;display:flex;align-items:center;gap:8px}.field{margin-bottom:14px}.field label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:block;margin-bottom:6px}.field input,.field select{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:DM Mono,monospace;font-size:.9rem;padding:9px 12px;transition:border-color .2s,box-shadow .2s,background .3s;outline:none}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.list-item{display:flex;align-items:center;gap:8px;margin-bottom:8px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;transition:background .3s,border-color .3s}.list-item .item-name{flex:1;background:transparent;border:none;color:var(--text);font-family:DM Sans,sans-serif;font-size:.85rem;outline:none}.list-item .item-val{width:100px;background:transparent;border:none;border-left:1px solid var(--border);color:var(--accent3);font-family:DM Mono,monospace;font-size:.85rem;text-align:right;padding-left:10px;outline:none}.list-item .item-del{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1rem;transition:color .2s;padding:0 2px}.list-item .item-del:hover{color:var(--danger)}.btn-add{width:100%;background:transparent;border:1px dashed var(--border);border-radius:8px;color:var(--muted);font-family:DM Sans,sans-serif;font-size:.82rem;padding:8px;cursor:pointer;margin-top:6px;transition:all .2s}.btn-add:hover{border-color:var(--accent);color:var(--accent)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:40px}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px 22px;position:relative;overflow:hidden;transition:border-color .2s,background .3s}.card:hover{border-color:var(--accent)}.card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px}.card.green:after{background:linear-gradient(90deg,var(--accent),transparent)}.card.blue:after{background:linear-gradient(90deg,var(--accent2),transparent)}.card.orange:after{background:linear-gradient(90deg,var(--accent3),transparent)}.card.red:after{background:linear-gradient(90deg,var(--danger),transparent)}.card label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:8px}.card .val{font-family:DM Mono,monospace;font-size:1.6rem;font-weight:500}.card.green .val{color:var(--accent)}.card.blue .val{color:var(--accent2)}.card.orange .val{color:var(--accent3)}.card.red .val{color:var(--danger)}.card .sub{font-size:.78rem;color:var(--muted);margin-top:4px}.main-layout{display:grid;grid-template-columns:420px 1fr;gap:32px;margin-bottom:32px}@media (max-width: 1000px){.main-layout{grid-template-columns:1fr}}.btn-primary{background:var(--accent);border:none;border-radius:9px;color:var(--bg);font-family:DM Sans,sans-serif;font-weight:600;font-size:.88rem;padding:10px 20px;cursor:pointer;transition:opacity .2s}.btn-primary:hover{opacity:.85}.btn-secondary{background:var(--surface2);border:1px solid var(--border);border-radius:9px;color:var(--muted);font-family:DM Sans,sans-serif;font-size:.88rem;padding:10px 18px;cursor:pointer;transition:all .2s}.btn-secondary:hover{border-color:var(--text);color:var(--text)}.modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;align-items:center;justify-content:center}.modal-overlay.open{display:flex}.modal{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px;width:420px;max-width:95vw;box-shadow:0 24px 80px var(--shadow);transition:background .3s}.modal h3{font-size:1.2rem;margin-bottom:6px}.modal-sub{color:var(--muted);font-size:.82rem;margin-bottom:20px}.modal-actions{display:flex;gap:10px;margin-top:20px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.82rem}thead th{text-align:left;padding:10px 12px;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}tbody tr{border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);transition:background .15s}tbody tr:hover{background:var(--surface2)}tbody tr.year-start td{border-top:1px solid var(--border)}tbody td{padding:9px 12px;white-space:nowrap}td.mono{font-family:DM Mono,monospace}td.positive{color:var(--positive)}td.neutral{color:var(--accent2)}td.muted-text{color:var(--muted)}td.danger-text{color:var(--danger)}.real-input{background:transparent;border:none;border-bottom:1px dashed var(--border);color:var(--accent2);font-family:DM Mono,monospace;font-size:.82rem;width:110px;padding:2px 4px;outline:none;text-align:right;transition:border-color .2s,background .2s;border-radius:4px 4px 0 0}.real-input:focus{border-bottom-color:var(--accent2);background:color-mix(in srgb,var(--accent2) 6%,transparent)}.real-input.has-value{border-bottom-color:var(--accent2)}.btn-extra{background:none;border:1px dashed var(--border);border-radius:6px;color:var(--muted);font-size:.75rem;padding:2px 8px;cursor:pointer;transition:all .2s;white-space:nowrap;font-family:DM Sans,sans-serif}.btn-extra:hover{border-color:var(--danger);color:var(--danger)}.btn-extra.has{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,transparent)}.tabs{display:flex;gap:4px}.tab{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--muted);font-family:DM Sans,sans-serif;font-size:.78rem;padding:6px 14px;cursor:pointer;transition:all .2s}.tab.active{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}.loan-card{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px;transition:background .3s,border-color .3s}.loan-card.returned{opacity:.5}.loan-badge{display:inline-block;font-size:.65rem;padding:2px 7px;border-radius:20px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.loan-badge.pending{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.loan-badge.active{background:color-mix(in srgb,var(--accent3) 15%,transparent);color:var(--accent3)}.loan-badge.done{background:color-mix(in srgb,var(--positive) 15%,transparent);color:var(--positive)}.tooltip-wrap{position:relative;display:inline-flex;align-items:center}.tooltip-icon{width:14px;height:14px;border-radius:50%;background:var(--surface2);border:1px solid var(--border);color:var(--muted);font-size:.6rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;cursor:help;margin-left:5px;flex-shrink:0;transition:border-color .2s,color .2s}.tooltip-icon:hover{border-color:var(--accent2);color:var(--accent2)}.tooltip-box{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:.75rem;color:var(--muted);line-height:1.5;width:200px;z-index:50;box-shadow:0 8px 24px var(--shadow);pointer-events:none}.tooltip-wrap:hover .tooltip-box{display:block}.wizard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:300;display:flex;align-items:center;justify-content:center}.wizard{background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:40px;width:520px;max-width:95vw;box-shadow:0 32px 80px var(--shadow)}.wizard-steps{display:flex;gap:8px;margin-bottom:32px}.wizard-step-dot{height:4px;border-radius:2px;flex:1;background:var(--border);transition:background .3s}.wizard-step-dot.active{background:var(--accent)}.wizard-step-dot.done{background:var(--accent2)}.wizard h2{font-size:1.6rem;margin-bottom:8px}.wizard .sub{color:var(--muted);font-size:.9rem;margin-bottom:28px;line-height:1.5}.mobile-cards{display:none}@media (max-width: 768px){.desktop-table{display:none}.mobile-cards{display:block}.month-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:10px}.month-card .mc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.month-card .mc-month{font-family:"DM Serif Display",serif;font-size:1rem}.month-card .mc-total{font-family:DM Mono,monospace;font-size:.9rem;color:var(--accent2)}.month-card .mc-row{display:flex;justify-content:space-between;font-size:.8rem;padding:4px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.month-card .mc-row:last-child{border-bottom:none}.month-card .mc-label{color:var(--muted)}}.chart-panel{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:24px;transition:background .3s}.chart-panel h2{font-size:1.1rem;margin-bottom:0}.quick-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}.qs-item .qs-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px}.qs-item .qs-val{font-family:DM Mono,monospace;font-size:1.2rem}.qs-item .qs-sub{font-size:.75rem;color:var(--muted)}@keyframes countUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-val{animation:countUp .4s ease both}.header-btn{background:var(--surface);border:1px solid var(--border);border-radius:9px;color:var(--text);font-family:DM Sans,sans-serif;font-size:.82rem;padding:8px 16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.header-btn:hover{border-color:var(--accent)}.header-btn.danger{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger)}.header-btn.danger:hover{background:color-mix(in srgb,var(--danger) 20%,transparent);border-color:var(--danger)}.theme-toggle{background:var(--surface2);border:1px solid var(--border);border-radius:100px;padding:6px 12px;cursor:pointer;font-size:.85rem;transition:all .2s;display:flex;align-items:center;gap:6px;color:var(--muted)}.theme-toggle:hover{border-color:var(--accent2);color:var(--text)}.nav-cta{background:var(--accent);color:var(--bg);border:none;border-radius:100px;font-family:DM Sans,sans-serif;font-weight:600;font-size:.85rem;padding:10px 22px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.nav-cta:hover{opacity:.85;transform:translateY(-1px)}.btn-google{display:flex;align-items:center;gap:10px;background:var(--text);color:#0a0b0e;border:none;border-radius:12px;font-family:DM Sans,sans-serif;font-weight:600;font-size:.95rem;padding:14px 24px;cursor:pointer;transition:all .25s}.btn-google:hover{transform:translateY(-2px);box-shadow:0 12px 32px #e8eaf033}.inline-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
