:root{--primary-blue:#003d82;--secondary-blue:#0056b3;--light-blue:#e8f2ff;--accent-blue:#06c;--white:#fff;--light-gray:#f5f7fa;--gray-text:#4a5568;--border-color:#e0e7ff}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--white);color:var(--gray-text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}#root{flex-direction:column;width:100%;max-width:100%;min-height:100vh;margin:0;display:flex}h1,h2,h3{color:var(--primary-blue)}button{font-family:inherit}a{color:var(--accent-blue);text-decoration:none}a:hover{color:var(--text-h);border-radius:4px;text-decoration:underline;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.cta-section h2,.logo h1{color:#fff}.create-transaction-modal-content{max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.modal-header h2{color:var(--primary-blue);margin:0;font-size:1.5rem}.modal-close-button{color:var(--gray-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:2rem;transition:color .3s;display:flex}.modal-close-button:hover:not(:disabled){color:var(--primary-blue)}.modal-close-button:disabled{opacity:.5;cursor:not-allowed}.create-transaction-form{flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;display:flex}.form-group input,.form-group select{border:2px solid var(--border-color);border-radius:6px;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 3px #003d821a}.form-group input:disabled,.form-group select:disabled{background-color:var(--light-gray);cursor:not-allowed;opacity:.7}.form-error{color:#dc3545;font-size:.85rem;font-weight:500}.form-submit-button{background:linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);color:var(--white);cursor:pointer;border:none;border-radius:6px;margin-top:.5rem;padding:.875rem;font-size:1rem;font-weight:600;transition:all .3s}.form-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #003d8233}.form-submit-button:active:not(:disabled){transform:translateY(0)}.form-submit-button:disabled{opacity:.6;cursor:not-allowed}.modal-message{border-radius:6px;margin-bottom:1rem;padding:1rem;font-weight:600}.modal-message.success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.modal-message.error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}.modal-success-content{text-align:center;padding:2rem 0}.success-icon{color:#28a745;margin-bottom:1rem;font-size:3rem}.modal-success-content p{color:var(--gray-text);margin:0 0 1.5rem;font-size:1.1rem}.modal-action-button{background:linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);color:var(--white);cursor:pointer;border:none;border-radius:6px;width:100%;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.modal-action-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #003d8233}.modal-cancel-button{background:var(--light-gray);color:var(--gray-text);border:2px solid var(--border-color);cursor:pointer;border-radius:6px;width:100%;padding:.75rem;font-size:1rem;font-weight:600;transition:all .3s}.modal-cancel-button:hover:not(:disabled){background:var(--border-color);color:var(--primary-blue)}.modal-cancel-button:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.create-transaction-modal-content{border-radius:12px;max-width:90vw}.modal-header h2{font-size:1.25rem}.form-group{gap:.4rem}.form-group input,.form-group select{padding:.65rem;font-size:.95rem}}.dashboard{background-color:var(--light-gray);min-height:100vh;padding:2rem}.dashboard-header{background:linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);color:var(--white);border-radius:8px;margin-bottom:2rem;padding:2rem;box-shadow:0 2px 8px #003d821a}.dashboard-header-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.dashboard-header h1{color:var(--white);margin:0;font-size:2rem;font-weight:700}.dashboard-header p{opacity:.9;color:var(--white);margin:.5rem 0 0}.dashboard-logout-button{background:var(--white);color:var(--primary-blue);cursor:pointer;border:none;border-radius:6px;padding:.625rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.dashboard-logout-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.dashboard-logout-button:active{transform:translateY(0)}.dashboard-main{max-width:1200px;margin:0 auto}.dashboard-welcome-card{background:var(--white);border-radius:8px;margin-bottom:2rem;padding:2rem;box-shadow:0 2px 8px #003d821a}.dashboard-welcome-card h2{color:var(--primary-blue);margin-top:0}.dashboard-welcome-card p{color:var(--gray-text);margin-bottom:2rem;line-height:1.6}.dashboard-welcome-section{background-color:var(--light-blue);border-left:4px solid var(--primary-blue);border-radius:6px;margin-bottom:2rem;padding:2rem}.dashboard-welcome-section h2{color:var(--primary-blue);margin-top:0;margin-bottom:.5rem;font-size:1.5rem}.dashboard-welcome-section .user-email{color:var(--gray-text);margin:0;font-size:1.1rem;font-weight:500}.dashboard-accounts-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem;display:grid}.account-card{background-color:var(--light-gray);border-radius:8px;padding:2rem;box-shadow:0 2px 8px #003d821a}.account-card h3{margin-top:0;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.account-card p{color:var(--gray-text);margin:0}.account-card .balance-label{margin-bottom:1.5rem}.account-card .balance-amount{margin-bottom:1rem;font-size:2.5rem;font-weight:700}.account-card-loading{color:var(--gray-text);font-style:italic}.account-card.main-account{border:2px solid var(--primary-blue)}.account-card.main-account h3,.account-card.main-account .balance-amount{color:var(--primary-blue)}.account-card.savings-account{border:2px solid var(--accent-blue)}.account-card.savings-account h3,.account-card.savings-account .balance-amount{color:var(--accent-blue)}.account-button{color:var(--white);cursor:pointer;border:none;border-radius:6px;padding:.625rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .3s}.account-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.account-button:active{transform:translateY(0)}.main-account .account-button{background:linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%)}.savings-account .account-button{background:linear-gradient(135deg, var(--secondary-blue) 0%, var(--accent-blue) 100%)}.add-transaction-card{background:linear-gradient(135deg, var(--light-blue) 0%, #e8f2ff80 100%);border:2px dashed var(--accent-blue);text-align:center;cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:2rem;transition:all .3s;display:flex}.add-transaction-card:hover{border-color:var(--primary-blue);background:linear-gradient(135deg,#e8f2ff 0%,#0056b30d 100%);transform:translateY(-4px);box-shadow:0 8px 16px #003d8226}.add-transaction-icon{color:var(--primary-blue);margin-bottom:1rem;font-size:3rem}.add-transaction-title{color:var(--primary-blue);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.add-transaction-description{color:var(--gray-text);margin:0;font-size:.95rem}@media (width<=768px){.dashboard{padding:1rem}.dashboard-header{margin-bottom:1rem;padding:1.5rem}.dashboard-header-content{text-align:center;flex-direction:column;gap:1rem}.dashboard-header h1{font-size:1.5rem}.dashboard-logout-button{width:100%}.dashboard-welcome-card{margin-bottom:1rem;padding:1.5rem}.dashboard-welcome-section,.account-card{padding:1.5rem}.account-card .balance-amount{font-size:2rem}.dashboard-accounts-grid{gap:1rem}}.transactions{background-color:var(--light-gray);min-height:100vh;padding:2rem}.transactions-header{background:linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);color:var(--white);border-radius:8px;margin-bottom:2rem;padding:2rem;box-shadow:0 2px 8px #003d821a}.transactions-header-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.transactions-header h1{color:var(--white);margin:0;font-size:2rem;font-weight:700}.transactions-header p{opacity:.9;color:var(--white);margin:.5rem 0 0}.transactions-back-button{background:var(--white);color:var(--primary-blue);cursor:pointer;border:none;border-radius:6px;padding:.625rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.transactions-back-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.transactions-back-button:active{transform:translateY(0)}.transactions-main{max-width:1200px;margin:0 auto}.transactions-balance-card{background:var(--white);border:2px solid var(--primary-blue);border-radius:8px;margin-bottom:2rem;padding:2rem;box-shadow:0 2px 8px #003d821a}.transactions-balance-card h2{color:var(--primary-blue);margin-top:0;margin-bottom:1rem}.transactions-balance-display{align-items:center;gap:1rem;display:flex}.balance-label{color:var(--gray-text);font-size:1.1rem;font-weight:600}.balance-amount-large{color:var(--primary-blue);font-size:2.5rem;font-weight:700}.transactions-list-card{background:var(--white);border-radius:8px;padding:2rem;box-shadow:0 2px 8px #003d821a}.transactions-list-card h2{color:var(--primary-blue);margin-top:0;margin-bottom:1rem}.transactions-loading,.transactions-error{text-align:center;color:var(--gray-text);padding:2rem;font-size:1.1rem}.transactions-error{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px}.transactions-empty{text-align:center;color:var(--gray-text);padding:2rem}.transactions-empty p{margin:0;font-size:1.1rem}.transactions-table-container{overflow-x:auto}.transactions-table{border-collapse:collapse;width:100%;margin-top:1rem}.transactions-table thead{background-color:var(--light-blue)}.transactions-table th{text-align:left;color:var(--primary-blue);border-bottom:2px solid var(--border-color);padding:1rem;font-weight:600}.transactions-table td{border-bottom:1px solid var(--border-color);color:var(--gray-text);padding:1rem}.transactions-table tbody tr:hover{background-color:var(--light-gray)}.transaction-value{font-weight:600}.transaction-value.income{color:#28a745}.transaction-value.expense{color:#dc3545}.transaction-type-badge{border-radius:20px;padding:.25rem .75rem;font-size:.85rem;font-weight:600;display:inline-block}.transaction-type-badge.income{color:#155724;background-color:#d4edda}.transaction-type-badge.expense{color:#721c24;background-color:#f8d7da}@media (width<=768px){.transactions{padding:1rem}.transactions-header{margin-bottom:1rem;padding:1.5rem}.transactions-header-content{text-align:center;flex-direction:column;gap:1rem}.transactions-header h1{font-size:1.5rem}.transactions-back-button{width:100%}.transactions-balance-card{margin-bottom:1rem;padding:1.5rem}.transactions-list-card{padding:1.5rem}.transactions-balance-display{flex-direction:column;align-items:flex-start}.transactions-table{font-size:.9rem}.transactions-table th,.transactions-table td{padding:.75rem}.balance-amount-large{font-size:2rem}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-blue:#003d82;--secondary-blue:#0056b3;--light-blue:#e8f2ff;--accent-blue:#06c;--white:#fff;--light-gray:#f5f7fa;--gray-text:#4a5568;--border-color:#e0e7ff;--shadow:0 2px 8px #003d821a;--shadow-lg:0 4px 16px #003d8226}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--white);color:var(--gray-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.header{background:linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);color:var(--white);box-shadow:var(--shadow);z-index:100;padding:1rem 0;position:sticky;top:0}.header-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex}.logo{align-items:center;gap:.75rem;display:flex}.logo-icon{font-size:1.75rem}.logo h1{letter-spacing:-.5px;font-size:1.75rem;font-weight:700}.login-button{background:var(--white);color:var(--primary-blue);cursor:pointer;border:none;border-radius:6px;padding:.625rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 2px 4px #0000001a}.login-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.login-button:active{transform:translateY(0)}.hero{background:linear-gradient(135deg, var(--light-blue) 0%, var(--white) 100%);text-align:center;flex-grow:1;justify-content:center;align-items:center;padding:5rem 2rem;display:flex}.hero-content{max-width:700px;margin:0 auto}.hero-title{color:var(--primary-blue);letter-spacing:-1px;margin-bottom:1.5rem;font-size:3rem;font-weight:700;line-height:1.2}.hero-subtitle{color:var(--gray-text);margin-bottom:2rem;font-size:1.25rem;line-height:1.6}.cta-button,.primary-button{background:linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);color:var(--white);cursor:pointer;box-shadow:var(--shadow);border:none;border-radius:8px;padding:.875rem 2rem;font-size:1.1rem;font-weight:600;transition:all .3s}.cta-button:hover,.primary-button:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.cta-button:active,.primary-button:active{transform:translateY(-1px)}.features{background:var(--white);padding:4rem 2rem}.features-container{max-width:1200px;margin:0 auto}.section-title{color:var(--primary-blue);text-align:center;margin-bottom:3rem;font-size:2.5rem;font-weight:700}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.feature-card{background:var(--light-gray);text-align:center;border:1px solid var(--border-color);border-radius:12px;padding:2rem;transition:all .3s}.feature-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-blue);transform:translateY(-8px)}.feature-icon{margin-bottom:1rem;font-size:3rem}.feature-card h3{color:var(--primary-blue);margin-bottom:.75rem;font-size:1.25rem;font-weight:600}.feature-card p{color:var(--gray-text);line-height:1.6}.cta-section{background:linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);color:var(--white);text-align:center;padding:4rem 2rem}.cta-section h2{margin-bottom:2rem;font-size:2rem;font-weight:700}.cta-section .primary-button{background:var(--white);color:var(--primary-blue)}.cta-section .primary-button:hover{background:var(--light-gray)}.modal-overlay{z-index:200;background:#003d8299;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--white);border-radius:12px;width:90%;max-width:400px;padding:2.5rem;animation:.3s slideUp;position:relative;box-shadow:0 12px 48px #003d8233}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{color:var(--gray-text);cursor:pointer;background:0 0;border:none;font-size:1.5rem;transition:color .3s;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:var(--primary-blue)}.modal-content h2{color:var(--primary-blue);margin-bottom:1.5rem;font-size:1.75rem;font-weight:700}.login-form{flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--primary-blue);font-size:.95rem;font-weight:600}.form-group input{border:1px solid var(--border-color);border-radius:6px;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:focus{border-color:var(--accent-blue);outline:none;box-shadow:0 0 0 3px #0056b31a}.submit-button{background:linear-gradient(135deg, var(--primary-blue) 0%, var(--secondary-blue) 100%);color:var(--white);cursor:pointer;border:none;border-radius:6px;margin-top:.5rem;padding:.875rem 1rem;font-size:1rem;font-weight:600;transition:all .3s}.submit-button:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.form-footer{text-align:center;color:var(--gray-text);font-size:.9rem}.signup-link{color:var(--accent-blue);font-weight:600;text-decoration:none;transition:color .3s}.signup-link:hover{color:var(--primary-blue);text-decoration:underline}.footer{background:var(--primary-blue);color:var(--white);text-align:center;padding:2rem;font-size:.9rem}@media (width<=768px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.section-title{font-size:1.75rem}.feature-card{padding:1.5rem}.cta-section h2{font-size:1.5rem}.modal-content{padding:2rem}.header-container{padding:0 1rem}.logo h1{font-size:1.25rem}}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
