:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}:root{--primary: #10B981;--primary-dark: #059669;--primary-light: #D1FAE5;--accent: #047857;--success: #059669;--error: #DC2626;--background: #F0FDF4;--card-bg: #FFFFFF;--border: #D1D5DB;--text: #1F2937;--text-light: #6B7280}.loading{text-align:center;padding-top:15rem;padding-bottom:15rem;color:#6b7280}body{margin:0;display:flex;min-width:320px;min-height:100vh;background-color:var(--background)}#root{width:100%;padding:20px}@media (max-width: 700px){#root{padding:0;margin:0}}@media (max-width: 1330px){#root{width:900px;padding:0;margin:0}}.app-container{display:flex;justify-content:center;width:100%}.navbar{background-color:var(--card-bg);box-shadow:0 2px 4px #0000001a;position:fixed;top:0;left:0;right:0;z-index:1000}.navbar-content{max-width:1200px;margin:0 auto;padding:1rem;display:flex;justify-content:space-between;align-items:center}.navbar-brand{font-size:1.5rem;font-weight:700;color:var(--text);text-decoration:none}.navbar-links{display:flex;gap:2rem;align-items:center}.nav-link{text-decoration:none;color:var(--text);font-size:1rem;padding:.5rem;border-bottom:2px solid transparent;transition:all .2s ease}.nav-link:hover{color:var(--primary-dark)}.nav-link.active{color:var(--primary);border-bottom-color:var(--primary)}.logout-button{background:none;border:none;cursor:pointer;font-size:1rem;padding:.5rem;transition:all .2s ease}.logout-button:hover{color:var(--primary-dark)}@media (max-width: 640px){.navbar-content{flex-direction:column;gap:1rem;padding:1rem .5rem}.navbar-links{width:100%;justify-content:space-around;gap:.5rem}.nav-link{font-size:.875rem}}.user-menu-container{position:relative}.user-menu-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:.875rem;transition:all .2s}.user-menu-button:hover{background-color:var(--border)}.user-icon{color:var(--text)}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--card-bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 6px -1px #0000001a;min-width:150px;z-index:50}.menu-item{width:100%;padding:.75rem 1rem;text-align:left;background:none;border:none;color:var(--text);cursor:pointer;font-size:.875rem;transition:background-color .2s}.menu-item:hover{background-color:var(--border)}.menu-item:not(:last-child){border-bottom:1px solid var(--border)}@media (max-width: 640px){.user-menu-dropdown{position:fixed;top:auto;bottom:0;left:0;right:0;border-radius:12px 12px 0 0;box-shadow:0 -2px 10px #0000001a}.menu-item{padding:1rem;text-align:center}}.login-container{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{background:var(--card-bg);padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;width:100%;max-width:400px}.tab-buttons{display:flex;margin-bottom:2rem;border-bottom:1px solid #e5e7eb}.tab-button{flex:1;padding:1rem;border:none;background:none;font-size:1rem;cursor:pointer;color:#6b7280;transition:all .2s;border-bottom:2px solid transparent}.tab-button.active{color:var(--primary);border-bottom-color:var(--primary)}.tab-button:hover{color:var(--primary)}.login-form{display:flex;flex-direction:column;gap:1rem}.password-input{width:100%;padding:.75rem;border:1px solid #d1d5db;border-radius:4px;font-size:1rem}.password-input:focus{outline:none;border-color:var(--primary)}.submit-button{width:100%;padding:.75rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.submit-button:disabled{background-color:#9ca3af;cursor:not-allowed}@media (max-width: 640px){.login-card{padding:1.5rem;margin-top:7rem}}.form-input{padding:.75rem;border:1px solid #d1d5db;border-radius:4px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{outline:none;border-color:var(--primary)}.error-message{color:var(--error);font-size:.875rem;padding:.5rem 0;margin-bottom:1rem}.error-message div{margin-bottom:.25rem}.error-message div:last-child{margin-bottom:0}.reset-password-link{margin-top:1rem;text-align:center}.forgot-password{color:var(--primary);font-size:.875rem;text-decoration:none}.forgot-password:hover{text-decoration:underline}.custom-checkbox-container{display:inline-flex;position:relative}.custom-checkbox-input{position:absolute;opacity:0;width:0;height:0}.custom-checkbox-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-box{width:14px;height:14px;border:2px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;background:var(--card-bg)}.checkbox-check{width:8px;height:8px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform:scale(0);transition:transform .2s}.checkbox-text{font-size:14px;color:var(--text-light)}.custom-checkbox-input:checked+.custom-checkbox-label .checkbox-box{background:var(--primary);border-color:var(--primary)}.custom-checkbox-input:checked+.custom-checkbox-label .checkbox-check{transform:scale(1)}.custom-checkbox-input:focus+.custom-checkbox-label .checkbox-box{box-shadow:0 0 0 2px #10b98133}.custom-checkbox-label:hover .checkbox-box{border-color:var(--primary)}.custom-checkbox-input:disabled+.custom-checkbox-label{opacity:.6;cursor:not-allowed}@keyframes check{0%{stroke-dasharray:16;stroke-dashoffset:16}to{stroke-dasharray:16;stroke-dashoffset:0}}.custom-checkbox-input:checked+.custom-checkbox-label .checkbox-check{animation:check .2s ease-in-out forwards}.page-title{color:var(--primary)}@media (max-width: 640px){.page-title{text-align:center;padding-left:0;padding-top:9rem}}@media (min-width: 640px){.page-title{text-align:left;padding-top:1rem;padding-left:1rem}}.stats-title{text-align:left;font-size:1.5rem;color:var(--accent)}.stats-container{padding:2rem;max-width:1200px;margin:0 auto}.month-title{font-size:1.25rem;color:var(--primary-dark);padding-bottom:1.5rem;margin-top:0;border-bottom:2px solid var(--border)}.subscription-item{padding:1rem 0;border-bottom:1px solid var(--border)}.subscription-item:last-child{border-bottom:none}.subscription-name{font-weight:500;color:var(--text);margin-bottom:.5rem;text-align:left}.price-paid{color:var(--primary-dark)}.price-to-pay{color:var(--text)}.subscription-info{display:flex;justify-content:space-between;color:var(--text-light);font-size:.875rem}.subscription-price{font-weight:500}.month-totals{margin-top:1rem}.bank-totals{padding:1rem 0}.bank-name{color:var(--text-light)}.bank-amount{font-weight:500}.no-subscriptions{text-align:center;color:var(--text-light);padding:2rem 0}.loading-error{text-align:center;padding:15rem 0;color:var(--error)}.stats-error{text-align:center;padding:3rem;color:var(--error)}.stats-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.month-selector{display:flex;align-items:center;gap:.5rem;font-size:.675rem;color:var(--text)}@media (min-width: 840px){.month-selector{padding-top:1.5rem}.month-selector{padding-right:1vw}}.month-select{padding:.5rem;border:1px solid var(--border);border-radius:4px;background-color:var(--card-bg);font-size:1rem;cursor:pointer}.month-select:focus{outline:none;border-color:var(--primary)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;width:100%}.month-card{background:var(--card-bg);border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.no-data{grid-column:1 / -1;text-align:center;color:var(--text-light);padding:2rem}@media (max-width: 640px){.stats-header{display:inline}.month-selector{padding-bottom:1.5rem}.frequency-bank-container{flex-direction:column;gap:.5rem}.input-frequency{width:100%;max-width:none}.bank-account-select,.subscription-details{width:100%}.bank-total-item{padding:.75rem 0}}@media (max-width: 1330px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.stats-grid{grid-template-columns:1fr}.stats-container{padding:0;margin:0;max-width:none;width:100vw}.stats-grid{grid-template-columns:1fr;gap:1rem;margin:0}.month-card{border-radius:0;margin:0;box-shadow:none;border-bottom:1px solid var(--border)}.stats-title{width:100%;text-align:center}.month-selector{width:100%;justify-content:center}}.totals-section{margin:1rem 0}.totals-header{font-weight:600;color:var(--text);margin-bottom:.5rem}.bank-total-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;color:var(--text);font-size:.875rem}.bank-total-item.paid{color:var(--primary-dark)}.bank-total-item.remaining{color:var(--text)}.section-total{text-align:right;font-weight:500;padding-top:.5rem;font-size:.875rem}.section-total.paid{color:var(--primary-dark)}.section-total.remaining{color:var(--text)}.total-divider{height:1px;background-color:var(--border);margin:.5rem 0}.month-total{padding-top:.5rem;text-align:right;font-weight:600;color:var(--primary-dark)}.month-range-listing{color:var(--text-light)}@media (max-width: 1330px){.subscription-details{width:100%}.frequency-bank-container{flex-direction:row}.input-frequency-subscription,.frequency-bank-container{width:100%}.bank-account-select{width:200px}}@media (max-width: 640px){.subscription-details{width:100%}.frequency-bank-container{flex-direction:column}.input-frequency-subscription,.frequency-bank-container,.bank-account-select{width:100%}}.month-input{width:12px;height:12px;padding:.5rem;border:1px solid var(--border);border-radius:4px;font-size:.675rem}.month-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b9811a}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.cron-editor{background:var(--cron-bg);padding:1rem}.cron-field{display:flex;align-items:center;margin-bottom:.75rem}.field-label{width:120px;font-size:.75rem;color:var(--text-light);display:flex;flex-direction:column}.field-range{font-size:.675rem;color:var(--text);margin-top:2px}.cron-input{flex:1;padding:.5rem;border:1px solid var(--border);border-radius:4px;font-family:monospace;font-size:.875rem;background:var(--card-bg)}.cron-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 1px #3b82f61a}.cron-help{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.cron-help p{font-size:.75rem;color:var(--text);margin:0 0 .5rem}.cron-help ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.cron-help li{font-size:.75rem;color:var(--text);display:flex;align-items:center;gap:.25rem}.cron-help code{background:var(--card-bg);padding:2px 4px;border-radius:3px;font-family:monospace}@media (max-width: 640px){.cron-field{flex-direction:row;align-items:flex-start;width:100%;gap:.5rem}.field-label{width:100%}}.date-display{display:inline-flex;align-items:center;gap:6px;background-color:var(--background);border:1px solid var(--border);padding:8px;border-radius:6px;font-size:.75rem;color:var(--text);white-space:nowrap;margin:0 5px}.date-display svg{color:var(--text)}.subscription-item-base{background:var(--card-bg);border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.subscription-header{display:flex;flex-direction:column;gap:1rem;margin:0 1rem}.main-info{display:flex;gap:1rem;align-items:flex-start}.input-group{display:flex;flex-direction:column;gap:.25rem}.input-name{flex:1;min-width:200px;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;font-size:.875rem}.price-input-container{display:flex;align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:.5rem;padding:0 .75rem}.currency-symbol{color:var(--text-light);padding-right:2px}.input-price{width:100px;padding:.75rem 0;border:none;font-size:.875rem}.frequency-bank-row{display:flex;gap:1rem;align-items:flex-start}.frequency-group{flex:2}.bank-group{flex:1}.input-frequency-edit,.bank-select{width:auto;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;font-size:.875rem}.save-button{padding:.75rem;background-color:var(--primary-dark);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.save-button:hover{background-color:var(--accent)}.expanded-section{margin-top:1rem;padding-top:0;border-top:1px solid var(--border)}.next-payments{margin-top:0;padding-top:1rem;border-top:1px solid var(--border)}.next-payments-base{margin-top:1rem}.next-payments-title{font-size:.875rem;color:var(--text-light);margin-bottom:.5rem}.dates-list{flex-wrap:wrap;gap:.5rem}.field-error{color:var(--error);font-size:.75rem}.error-message{color:var(--error);font-size:.875rem;margin-top:.5rem}.error{border-color:var(--error)}@media (max-width: 768px){.main-info{flex-direction:column;width:100%}.input-name{width:100%;min-width:unset}.price-input-container,.input-price{width:100%}.frequency-bank-row{flex-direction:column;width:100%}.bank-group,.save-button{width:100%}.dates-list{flex-direction:column}}.subscription-item-wrapper{margin:.5rem 0;width:100%}.subscription-item-base{border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;width:100%}.full-width{width:100%}.action-buttons{display:flex;gap:.5rem;margin-left:auto}.add-subscription-button.disabled{opacity:.5;cursor:not-allowed;background-color:#d1d5db}.frequency-bank-row{display:flex;gap:1rem;width:100%;align-items:center}.input-group.frequency-group{flex:1}.bank-group{width:200px}.delete-button{border:none;background:var(--error);color:#fff;cursor:pointer;padding:.75rem;border-radius:4px;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.subscription-item-edit{padding:1rem 0}.subscription-item-edit-cron{padding:1rem 0 0;border-bottom:1px solid var(--border)}@media (max-width: 768px){.subscription-header{display:flex;flex-direction:column;gap:1rem;margin:0 .5rem}.main-info{display:flex;gap:1rem;align-items:flex-start}.input-group{display:flex;flex-direction:column;gap:.25rem;width:100%}.input-name{flex:1;min-width:200px;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;font-size:.875rem;width:auto}.price-input-container{display:flex;align-items:center;background:var(--card-bg);border:1px solid var(--border);border-radius:.5rem;padding:0 .75rem;width:auto}.currency-symbol{color:var(--text-light)}.input-price{width:100%;padding:.75rem 0;border:none;font-size:.875rem}.frequency-bank-row{display:flex;gap:1rem;align-items:flex-start;width:100%}.frequency-group{flex:2}.bank-group{flex:1}.input-frequency-edit,.bank-select{width:auto;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;font-size:.875rem}.action-buttons{width:100%}.delete-button{width:40%}.dates-list{padding-left:0}}.modal-content{background:var(--card-bg);color:var(--text);padding:1.5rem;border-radius:.5rem;width:100%;max-width:400px;margin:1rem;box-shadow:0 4px 6px #0000001a;position:relative;z-index:1001}@-moz-document url-prefix(){.modal-overlay{background-color:#00000080;position:fixed;height:100vh;width:100vw}}.subscriptions-container{max-width:800px;margin:0 auto;padding:2rem}.add-subscription-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;margin-top:1.5rem;background-color:var(--card-bg);border:2px dashed var(--border);border-radius:.5rem;color:#6b7280;cursor:pointer;transition:all .2s;width:100%}.add-subscription-button:hover{background-color:#e5e7eb;border-color:#9ca3af;color:#4b5563}.stats-title{text-align:left}.subscription-title{padding-bottom:0;padding-left:1rem}.search-container{position:relative;width:auto;margin-left:auto;margin-right:2rem}.search-input{width:100%;height:14px;padding:.25rem .75rem .25rem 1.75rem;border:1px solid var(--border);border-radius:4px;font-size:.75rem;color:var(--text);transition:all .2s ease}.search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b9811a}.search-input::placeholder{color:var(--text-light)}.search-icon{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);color:var(--text-light);pointer-events:none;width:14px;height:14px}@media (max-width: 640px){.subscriptions-list{display:flex;flex-direction:column}.subscriptions-container{padding:0}.stats-title{text-align:center;padding:0}.search-container{margin:.75rem 0;width:88.8%;margin-left:0}.search-input{height:24px;font-size:.875rem;padding:.5rem .75rem .5rem 1.75rem}}.subscriptions-container{padding:2rem;max-width:1200px;margin:0 auto}.controls-wrapper{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.sort-container{display:flex;gap:.5rem;min-width:280px}.sort-select{flex:1;height:24px;padding:0 .75rem;border:1px solid var(--border);border-radius:4px;font-size:.7rem;color:var(--text);cursor:pointer}.sort-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b9811a}.subscriptions-list{display:flex;flex-direction:column;gap:1rem}.add-subscription-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.add-subscription-button:hover:not(:disabled){background-color:var(--primary-dark)}.add-subscription-button.disabled{opacity:.7;cursor:not-allowed}@media (max-width: 768px){.subscriptions-container{padding:0}.controls-wrapper{display:inline;gap:1rem}.sort-container{width:100%;min-width:unset}.sort-select{min-width:unset;height:2rem;font-size:.75rem}}.loading,.error{text-align:center;padding:2rem;color:var(--text-light)}.error{color:var(--error)}.delete-account-section{width:100%;text-align:center}.delete-account-section h2{margin:0 0 1rem;font-size:1.25rem;color:var(--text)}.delete-account-description{color:var(--text-light);margin-bottom:1.5rem;font-size:.875rem}.delete-account-button{padding:.75rem 1.5rem;background-color:var(--error);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.delete-account-button:hover{background-color:var(--error)}.modal-warning{color:var(--error);margin-bottom:1.5rem;font-size:.875rem}.password-input-delete{width:auto;padding:.75rem;border:1px solid var(--border);border-radius:4px;margin-bottom:1rem}.confirm-delete-button{background-color:var(--error);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;transition:background-color .2s}.confirm-delete-button:hover:not(:disabled){background-color:var(--error)}.confirm-delete-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 640px){.modal-content{width:100%;margin:0;height:auto;max-height:90vh}}.password-warning{color:var(--text-light);font-size:.75rem;margin-bottom:1.5rem;line-height:1.5;max-width:600px}.encrypt-account-section{width:100%;text-align:center}.encrypt-description{color:var(--text-light);margin-bottom:1.5rem;font-size:.875rem}.encrypt-button{padding:.75rem 1.5rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.encrypt-button:hover:not(:disabled){background-color:var(--primary-dark)}.encrypt-button:disabled{opacity:.7;cursor:not-allowed}.progress-message{margin-top:1rem;padding:.75rem;background-color:#f0fdf4;color:var(--primary);border-radius:4px;font-size:.875rem}.modal-content{background:#fff;padding:1.5rem;border-radius:8px;width:100%;max-width:400px}.password-input{width:80%;padding:.75rem;border:1px solid var(--border);border-radius:4px;margin:1rem 0}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.modal-actions button{padding:.75rem 1.5rem;border-radius:4px;font-size:.875rem;font-weight:500;transition:all .2s ease;min-width:120px}.cancel-button{background-color:transparent;border:1px solid #d1d5db;color:#6b7280}.cancel-button:hover{background-color:#f3f4f6;border-color:#9ca3af;color:#374151}.confirm-button{background-color:#10b981;color:#fff;border:none;cursor:pointer}.confirm-button:hover:not(:disabled){background-color:#059669}.confirm-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 640px){.modal-actions{flex-direction:column-reverse;gap:.75rem}.modal-actions button{width:100%}}.verification-section{width:100%;text-align:center}.verification-section h2{margin:0 0 1rem;font-size:1.25rem;color:var(--text)}.verification-content{max-width:400px;margin:0 auto}.verification-description{color:var(--text-light);margin-bottom:1.5rem;font-size:.875rem;line-height:1.5}.verification-form{display:flex;flex-direction:column;gap:1rem}.email-input-verification{width:auto;padding:.75rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem}.email-input-verification:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b9811a}.verify-button{padding:.75rem 1.5rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.verify-button:hover:not(:disabled){background-color:var(--primary-dark)}.verify-button:disabled{opacity:.7;cursor:not-allowed}.verification-status{padding:1rem;border-radius:4px;margin-top:.5rem}.status-text{color:var(--primary);font-size:.875rem;margin:0}@media (max-width: 640px){.verification-content{width:100%}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal-content{background:var(--card-bg);padding:1.5rem;border-radius:8px;width:100%;max-width:400px}.modal-content h3{margin:0 0 1rem;font-size:1.25rem;color:var(--text)}.modal-content p{color:var(--text-light)}.modal-warning{color:var(--error);margin-bottom:1.5rem;font-size:.875rem;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:1rem}.cancel-button,.confirm-disable-button{padding:.75rem 1.5rem;border-radius:4px;font-size:.875rem;cursor:pointer;min-width:100px}.cancel-button{background:transparent;border:1px solid var(--border);color:var(--text)}.cancel-button:hover{background:var(--card-bg)}.confirm-disable-button{background:var(--error);color:#fff;border:none}.confirm-disable-button:hover{background:var(--error)}@media (max-width: 640px){.modal-content{margin:0}.modal-overlay{padding:0;margin:0}.modal-actions{flex-direction:column-reverse;gap:.75rem}.cancel-button,.confirm-disable-button{width:100%}}.form-group{margin-bottom:1rem}.password-input-otp{width:auto;padding:.75rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem}.password-input-otp:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b9811a}.error-message{color:var(--error);font-size:.875rem;margin-bottom:1rem;padding:.5rem;background-color:var(--background-error);border-radius:4px}.success-message{background-color:var(--background);border:1px solid var(--primary-light);color:var(--accent);padding:.75rem 1rem;border-radius:4px;font-size:.875rem;align-items:center;text-align:center;margin:2rem 0 1rem;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.success-message{margin:.75rem 0;padding:.5rem .75rem}}.crontab-section{width:100%}.crontab-section h2{margin:0 0 1rem;font-size:1.25rem;color:var(--text)}.crontab-description{color:var(--text-light);margin-bottom:1.5rem;font-size:.875rem}.crontab-form{display:flex;gap:1rem;margin-bottom:1rem}.crontab-input{flex:1;padding:.75rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem;font-family:monospace}.crontab-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b9811a}.save-button{padding:.75rem 1.5rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;white-space:nowrap}.save-button:hover:not(:disabled){background-color:var(--primary-dark)}.save-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 640px){.crontab-form{flex-direction:column}.save-button{width:100%}}.theme-section{width:100%;text-align:center}.theme-section h3{color:var(--primary)}.theme-description{color:var(--text-light);margin-bottom:1.5rem;font-size:.875rem}.theme-toggle-button{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1.5rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;margin:0 auto;transition:all .2s ease}.theme-toggle-button:hover:not(:disabled){background-color:var(--primary-dark)}.theme-toggle-button:disabled{opacity:.7;cursor:not-allowed}@media (max-width: 640px){.theme-toggle-button{width:100%;max-width:200px}}.error-message{color:var(--error);padding:1rem;background-color:#fee2e2;border-radius:4px;margin-bottom:1rem}.loading-message{text-align:center;color:var(--text-light);padding:2rem}.delete-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.delete-confirm-dialog{background:var(--card-bg);padding:1.5rem;border-radius:8px;width:100%;max-width:400px}.delete-confirm-dialog h3{margin:0 0 .5rem;color:var(--text)}.delete-confirm-dialog p{margin:0 0 1.5rem;color:var(--text-light)}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:1rem}.cancel-button,.confirm-delete-button{padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem}.cancel-button{background:none;border:1px solid var(--border)}.confirm-delete-button{background-color:var(--error);color:#fff;border:none}.password-section{width:100%}.password-section h2{margin:0 0 1rem;font-size:1.25rem;color:var(--text)}.password-form{display:flex;flex-direction:column;gap:1rem}.form-group-account{width:100%}.password-input-account{width:100%;height:40px;padding:0 8px;border:1px solid var(--border);border-radius:4px;font-size:.875rem;box-sizing:border-box}.password-input-account:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b9811a}.change-password-button{padding:8px 16px;background-color:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;align-self:flex-start;width:100%;height:40px}.change-password-button:hover{background-color:var(--primary-dark)}.success-message-account{padding:8px 12px;background-color:#def7ec;color:var(--success);border-radius:4px;font-size:.875rem;margin-bottom:1rem}.mt-4{margin-top:1rem}@media (max-width: 640px){.password-form{gap:.5rem}.change-password-button{width:100%}}.otp-section{width:100%}.otp-description{color:var(--text);margin-bottom:1rem;font-size:.875rem}.enable-otp-button,.verify-otp-button{padding:8px 16px;background-color:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.enable-otp-button:hover,.verify-otp-button:hover{background-color:var(--primary-dark)}.qr-code-container{background:#fff;padding:1rem;border-radius:4px;display:inline-block;margin:1rem 0;border:1px solid var(--border)}.qr-code{display:block;max-width:200px;height:auto}.otp-form{display:flex;gap:1rem;align-items:center;margin-top:1rem}.otp-section{width:100%;text-align:center}.otp-section h2{margin:0 0 1rem;font-size:1.25rem;color:var(--text)}.otp-form{display:flex;gap:1rem;align-items:center;justify-content:center;margin-top:1rem}.otp-input{width:120px;height:32px;padding:0 8px;border:1px solid var(--border);border-radius:4px;font-size:1rem;text-align:center;letter-spacing:2px}.otp-status{color:var(--primary);font-size:.875rem;display:flex;align-items:center;gap:.5rem;justify-content:center}@media (max-width: 640px){.otp-form{flex-direction:column;width:100%;align-items:center}.otp-input,.verify-otp-button{width:100%;max-width:200px}}.otp-enabled{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1rem 0}.disable-otp-button{padding:8px 16px;background-color:var(--error);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.disable-otp-button:hover{background-color:#dc2626}.settings-title{padding-top:4vh;padding-bottom:2vh}@media (max-width: 640px){.settings-title{padding-top:20vh}}.bank-accounts-container{width:100%;padding:2rem;max-width:600px;margin:0 auto}.bank-accounts-content{background:var(--card-bg);border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.accounts-list{display:flex;flex-direction:column;gap:1rem}.account-row{display:flex;gap:1rem;align-items:center}.account-input{flex:1;padding:.75rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem}.account-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b9811a}.account-actions{display:flex;gap:.5rem}.bank-save-button,.bank-delete-button{display:flex;align-items:center;justify-content:center;padding:.5rem;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.bank-save-button{background-color:var(--primary);color:#fff}.bank-save-button:hover{background-color:var(--primary-dark)}.bank-delete-button{background-color:transparent;color:var(--error)}.bank-delete-button:hover{background-color:var(--background-error)}.add-account-button{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;justify-content:center;margin-top:1rem}.add-account-button:hover{background-color:var(--primary-dark)}@media (max-width: 640px){.bank-accounts-container{padding:0}.bank-accounts-content{border-radius:8px}.account-row{display:flex;flex-direction:row;gap:.5rem;align-items:center}.account-input{flex:1;min-width:0}.account-actions{display:flex;gap:.25rem;width:auto}.bank-save-button,.bank-delete-button{flex:none;padding:.4rem;min-width:32px;height:32px}.bank-save-button svg,.bank-delete-button svg{width:16px;height:16px}.delete-confirm-overlay{padding:0}.delete-confirm-dialog{display:flex;flex-direction:column}.delete-confirm-actions{flex-direction:column;margin-top:auto}.cancel-button,.confirm-delete-button{width:100%;padding:.75rem}.account-actions{display:flex;align-items:center;height:100%}.account-actions button{margin:0 auto;display:block}}@media (min-width: 640px){.bank-accounts-container h2{padding-left:1vw;text-align:left}}.bank-accounts-container{width:100%;max-width:600px;margin-left:auto;margin-right:auto;padding:16px;box-sizing:border-box}.bank-accounts-content{width:100%;border-radius:8px;padding:24px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box}.account-row{display:flex;align-items:center;gap:16px;width:100%;box-sizing:border-box}.account-input{flex:1;min-width:0}.account-actions{display:flex;gap:8px}.bank-accounts-container{padding-top:2rem}@media (max-width: 640px){.bank-accounts-container{padding:0;width:100%}.bank-accounts-content{padding:16px}.account-row{gap:8px}.bank-save-button,.bank-delete-button{padding:8px;width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center}}.otp-submission-container{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:1rem}.otp-submission-card{background:var(--card-bg);padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;width:100%;max-width:400px;text-align:center}.otp-title{margin:0 0 1rem;font-size:1.5rem;color:var(--text)}.otp-description{color:var(--text-light);margin-bottom:2rem;font-size:.875rem}.otp-form{display:flex;flex-direction:column;gap:1.5rem}.otp-input-container{margin:0 auto}.otp-input{width:200px;height:48px;padding:0;border:2px solid var(--border);border-radius:8px;font-size:1.5rem;text-align:center;letter-spacing:8px;font-weight:600;transition:border-color .2s}.otp-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b9811a}.submit-button{padding:.75rem;background-color:var(--primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;transition:background-color .2s}.submit-button:hover:not(:disabled){background-color:var(--primary-dark)}.submit-button:disabled{background-color:var(--border);cursor:not-allowed}.error-message{color:var(--error);font-size:.875rem;background-color:#fee2e2;padding:.75rem;border-radius:4px}@media (max-width: 640px){.otp-submission-card{padding:1.5rem;box-shadow:none}.otp-input{width:180px}}.reset-container{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:1rem}.reset-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;width:100%;max-width:400px}.reset-card h2{margin:0 0 1.5rem;text-align:center;color:var(--text)}.reset-warning{color:#dc2626;background-color:#fee2e2;padding:.75rem;border-radius:4px;font-size:.875rem;margin-bottom:1.5rem;text-align:center}.reset-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.reset-input{width:auto;padding:.75rem;border:1px solid var(--border);border-radius:4px;font-size:.875rem}.reset-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #10b9811a}.reset-button{width:100%;padding:.75rem;background-color:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s}.reset-button:hover:not(:disabled){background-color:var(--primary-dark)}.reset-button:disabled{opacity:.7;cursor:not-allowed}.error-message{color:#dc2626;font-size:.875rem;text-align:center}@media (max-width: 640px){.reset-card{padding:1.5rem}}#root{max-width:1330px;margin:0 auto;padding:2rem;text-align:center}@media (max-width: 640px){#root{max-width:100%;padding:0;margin:0}}h3{color:var(--primary)}input{color:var(--text);background-color:var(--card-bg)}input:focus{outline:none;border-color:var(--primary)}select{color:var(--text);background-color:var(--card-bg)}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:var(--card-bg);border:1px solid var(--border);border-radius:.375rem;padding:.5rem 2rem .5rem .75rem;font-size:.875rem;line-height:1.25rem;color:var(--text);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:1rem}select:focus{outline:none;border-color:var(--primary)}select:hover{border-color:var(--primary)}select:disabled{background-color:#f1f5f9;cursor:not-allowed;opacity:.75}select::-ms-expand{display:none}@media not all and (min-resolution:.001dpcm){@supports (-webkit-appearance:none){select{padding-right:2rem}}}@-moz-document url-prefix(){select{padding-right:2rem}}
