:root{--bg-dark:#0f172a;--bg-card:#1e293b;--border-color:#334155;--text-main:#f8fafc;--text-muted:#94a3b8;--accent-blue:#38bdf8;--accent-blue-dim:#38bdf81a;--accent-red:#fb7185;--accent-red-dim:#fb71851a;--accent-green:#4ade80;--accent-green-dim:#4ade801a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5}*{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{max-width:800px;margin:0 auto;padding:2rem 1rem}.header p{color:var(--text-muted)}.dashboard{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:.75rem 1rem;transition:transform .2s;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.card:hover{transform:translateY(-2px)}.card-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.5rem;margin-bottom:.25rem;font-size:.75rem;display:flex}.card-value{font-size:1.5rem;font-weight:700}.val-blue{color:var(--accent-blue)}.val-red{color:var(--accent-red)}.val-green{color:var(--accent-green)}.progress-container{background-color:var(--border-color);border-radius:4px;height:8px;margin-top:1rem;overflow:hidden}.progress-bar{background:linear-gradient(90deg, var(--accent-green), var(--accent-blue));border-radius:4px;height:100%;transition:width .3s}.progress-text{color:var(--text-muted);justify-content:space-between;margin-top:.5rem;font-size:.75rem;display:flex}.form-section,.list-section{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.section-title{border-bottom:1px solid var(--border-color);align-items:center;gap:.5rem;margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.25rem;font-weight:600;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group.full-width{grid-column:1/-1}.tabs{background-color:#00000040;border:1px solid #ffffff0d;border-radius:12px;gap:.25rem;margin-bottom:1.5rem;padding:.35rem;display:flex}.tab{color:var(--text-muted);cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.65rem;font-size:.95rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.tab:hover:not(.active){color:var(--text-main);background-color:#ffffff08}.tab.active{color:var(--text-main);background-color:#ffffff14;border:1px solid #ffffff1a;box-shadow:0 4px 12px #0003}label{color:var(--text-muted);font-size:.875rem}input,select{background-color:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-main);border-radius:8px;outline:none;padding:.75rem;font-size:1rem;transition:border-color .2s}input:focus,select:focus{border-color:var(--accent-blue)}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}#inv-qr-reader video{object-fit:cover;width:100%!important;height:100%!important}.form-grid input:required:invalid,.form-grid textarea:required:invalid,.form-grid select:required:invalid,.form-grid input.entry-anchor-error{border-color:var(--accent-red)}.form-grid input:required:invalid:focus,.form-grid textarea:required:invalid:focus,.form-grid select:required:invalid:focus,.form-grid input.entry-anchor-error:focus{border-color:var(--accent-blue)}.amount-field{border:1px solid var(--border-color);background:var(--bg-dark);border-radius:12px;align-items:center;gap:.5rem;min-width:0;padding:.3rem .5rem .3rem .9rem;transition:border-color .2s;display:flex}.amount-field:focus-within{border-color:var(--accent-blue)}.form-grid .amount-field:has(input:required:invalid){border-color:var(--accent-red)}.form-grid .amount-field:focus-within:has(input:required:invalid){border-color:var(--accent-blue)}.amount-pill{border:1px solid var(--border-color);background:var(--bg-card);border-radius:10px;padding:.4rem .55rem;font-size:.9rem}.btn{background-color:var(--accent-blue);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:opacity .2s;display:flex}.btn:hover{opacity:.9}.method-toggle{background-color:var(--bg-dark);border:1px solid var(--border-color);border-radius:8px;display:flex;overflow:hidden}.toggle-btn{text-align:center;cursor:pointer;color:var(--text-muted);flex:1;padding:.75rem;font-size:.875rem;font-weight:600;transition:all .2s}.toggle-btn.active.cash{background-color:var(--accent-blue-dim);color:var(--accent-blue)}.toggle-btn.active.credit{background-color:var(--accent-red-dim);color:var(--accent-red)}.installment-box{border:1px dashed var(--border-color);background-color:#ffffff05;border-radius:8px;grid-column:1/-1;margin-top:1rem;padding:1rem}.installment-hint{color:var(--accent-blue);margin-top:.5rem;font-size:.875rem}.transaction-list{flex-direction:column;gap:.4rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.transaction-item{background-color:var(--bg-dark);border:1px solid var(--border-color);border-radius:6px;justify-content:space-between;align-items:center;min-width:max-content;padding:.5rem .75rem;display:flex}.tx-info{flex-direction:column;gap:.25rem;display:flex}.tx-memo{font-size:1rem;font-weight:600}.tx-meta{color:var(--text-muted);gap:.75rem;font-size:.75rem;display:flex}.tx-badge{text-transform:uppercase;border-radius:4px;padding:.125rem .375rem;font-size:.65rem;font-weight:700}.badge-cash{background-color:var(--accent-blue-dim);color:var(--accent-blue)}.badge-credit{background-color:var(--accent-red-dim);color:var(--accent-red)}.tx-amount{font-size:1.125rem;font-weight:700}.delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:1rem;padding:.5rem;transition:color .2s}.delete-btn:hover{color:var(--accent-red);background-color:var(--accent-red-dim)}.flex-center{align-items:center;gap:.5rem;display:flex}.empty-state{text-align:center;color:var(--text-muted);padding:3rem 1rem}.ledger-head,.section-head{cursor:pointer;align-items:center;gap:.5rem;margin:-1.5rem;padding:1.5rem;display:flex}.section-head{box-sizing:border-box;width:calc(100% + 3rem);color:var(--text-main);background:0 0;border:none;justify-content:space-between}@media (width<=767px){.ledger-head,.section-head{margin-left:-.5rem;margin-right:-.5rem;padding-left:.5rem;padding-right:.5rem}.section-head{width:calc(100% + 1rem)}}.dialog-overlay{z-index:1100;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}@media (width<=767px){.dialog-overlay{padding-bottom:calc(60px + env(safe-area-inset-bottom,0px) + 1rem)}}.modal-overlay{z-index:1000;background-color:#0f172ad9;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-dark);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:500px;max-height:90vh;padding:1.5rem;overflow-y:auto;box-shadow:0 20px 25px -5px #00000080,0 10px 10px -5px #0003}.fab{background:linear-gradient(135deg, var(--accent-blue), #818cf8);color:#fff;cursor:pointer;z-index:900;border:none;border-radius:30px;justify-content:center;align-items:center;width:60px;height:60px;font-size:24px;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 15px -3px #0000004d}.fab:hover{transform:translateY(-3px)scale(1.05);box-shadow:0 15px 20px -3px #0006}.fab:active{transform:translateY(0)scale(.95)}.app-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}@media (width>=768px){.app-shell{flex-direction:row}}.main-content{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));flex:1;position:relative;overflow-y:auto}@media (width>=768px){.main-content{padding-bottom:0}}.nav-menu{background-color:var(--bg-card);border-top:1px solid var(--border-color);height:calc(60px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);z-index:1000;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=768px){.nav-menu{border-top:none;border-right:1px solid var(--border-color);flex-direction:column;justify-content:flex-start;width:200px;height:100vh;position:static}}.nav-item{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:20%;height:100%;font-size:.7rem;text-decoration:none;display:flex}@media (width>=768px){.nav-item{flex-direction:row;justify-content:flex-start;gap:1rem;width:100%;height:48px;padding:0 1.5rem;font-size:.9rem}}.nav-item.active{color:var(--accent-blue)}.nav-item.record-btn{color:var(--text-main)}.nav-item.record-btn .icon-wrapper{background:var(--accent-blue);border-radius:50%;margin-top:-20px;padding:.5rem;box-shadow:0 4px 6px -1px #0000001a}@media (width>=768px){.nav-item.record-btn .icon-wrapper{margin-top:0;padding:.25rem}}.page-container{max-width:800px;margin:0 auto;padding:1rem}.nav-record{order:1}.nav-overview{order:2}.nav-reports{order:3}.nav-transactions{order:4}.nav-settings{order:5}@media (width<=768px){.nav-overview{order:1}.nav-reports{order:2}.nav-record{order:3}.nav-transactions{order:4}.nav-settings{order:5}}@media (width<=767px){.hide-on-mobile{display:none!important}.page-container,.mobile-flush{padding-left:0!important;padding-right:0!important}.card{padding-left:.35rem!important;padding-right:.35rem!important}.form-section,.list-section{padding-left:.5rem!important;padding-right:.5rem!important}}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.landing-bg{background:radial-gradient(circle at top right, #38bdf814 0%, transparent 40%), radial-gradient(circle at bottom left, #4ade800d 0%, transparent 40%), var(--bg-dark)}.text-gradient{background:linear-gradient(135deg,#fff 0%,#e2e8f0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-accent{background:linear-gradient(135deg, var(--accent-blue), #818cf8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.feature-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.feature-card:before{content:"";background:linear-gradient(45deg,#0000,#ffffff08,#0000);width:100%;height:100%;transition:transform .6s;position:absolute;top:0;left:0;transform:translate(-100%)}.feature-card:hover{border-color:#38bdf866;transform:translateY(-4px);box-shadow:0 10px 25px -5px #0000004d,0 0 15px -3px #38bdf826}.feature-card:hover:before{transform:translate(100%)}.btn-primary{background:linear-gradient(135deg, var(--accent-blue), #3b82f6);cursor:pointer;color:#fff;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.85rem 1.75rem;font-size:1.05rem;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 15px #38bdf840}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #38bdf866}.btn-primary:active{transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.google-signin{font:inherit;border:1px solid color-mix(in srgb, var(--accent-blue) 50%, transparent);color:var(--text-main);background:color-mix(in srgb, var(--accent-blue) 10%, transparent);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 14px;font-size:15px;font-weight:400;transition:box-shadow .3s,border-color .3s;display:inline-flex}.google-signin:hover:not(:disabled){border-color:var(--accent-blue);color:var(--text-main);background:color-mix(in srgb, var(--accent-blue) 10%, transparent);box-shadow:0 4px 16px #0000002e}.google-signin:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.google-signin:disabled{cursor:default;opacity:.6}.google-signin-lg{padding:12px 22px;font-size:17px}.google-mark{flex:none;width:18px;height:18px}
