:root{--font-size-hero:3rem;--font-size-title:2rem;--font-size-header:1.5rem;--font-size-body:1.125rem;--font-size-secondary:1rem;--font-size-small:0.875rem;--color-primary:#28a745;--color-secondary:#007bff;--color-warning:#ffc107;--color-error:#dc3545;--color-text-dark:#1a1a1a;--color-text-medium:#666;--color-background-light:#f8f9fa;--color-background-white:#fff;--color-border-light:#e1e5e9;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 3px rgba(0,0,0,.1);--shadow-md:0 4px 6px rgba(0,0,0,.1);--shadow-lg:0 10px 25px rgba(0,0,0,.15);--touch-target-min:44px;--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}*,:after,:before{-webkit-box-sizing:border-box;box-sizing:border-box}*{margin:0;padding:0}html{font-size:100%;scroll-behavior:smooth}body{background-color:var(--color-background-light);color:var(--color-text-dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-size-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;margin-bottom:var(--spacing-sm)}h1{font-size:var(--font-size-hero)}h2{font-size:var(--font-size-title)}h3{font-size:var(--font-size-header)}p{margin-bottom:var(--spacing-sm)}small{color:var(--color-text-medium);font-size:var(--font-size-small)}a{color:var(--color-primary);text-decoration:none;-webkit-transition:color var(--transition-fast);transition:color var(--transition-fast)}a:focus,a:hover{color:#1e7e34;text-decoration:underline}a:focus{outline:2px solid var(--color-primary);outline-offset:2px}.container{margin:0 auto;max-width:400px;padding:0 var(--spacing-sm)}.page{display:-webkit-box;display:-ms-flexbox;display:flex;min-height:100vh;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.page-header{background-color:var(--color-background-white);border-bottom:1px solid var(--color-border-light);padding:var(--spacing-md) 0}.page-content{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:var(--spacing-lg) 0}.page-footer{color:var(--color-text-medium);font-size:var(--font-size-small);margin-top:auto;padding:var(--spacing-md) 0;text-align:center}.card{background-color:var(--color-background-white);border-radius:var(--radius-lg);-webkit-box-shadow:var(--shadow-sm);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.card,.card-header{margin-bottom:var(--spacing-md)}.card-header{text-align:center}.card-body{margin-bottom:var(--spacing-md)}.card-footer{margin-top:var(--spacing-md);text-align:center}.btn{-webkit-appearance:none;background:none;border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-block;font-size:var(--font-size-body);font-weight:600;min-height:var(--touch-target-min);padding:var(--spacing-sm) var(--spacing-lg);text-align:center;text-decoration:none;-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast);width:100%}.btn:focus{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:#1e7e34;border-color:#1e7e34;color:#fff;text-decoration:none}.btn-secondary{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary);color:#fff;text-decoration:none}.btn-large{font-size:var(--font-size-header);padding:var(--spacing-md) var(--spacing-lg)}.btn-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:var(--spacing-sm)}.btn-group.horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.btn-group.horizontal .btn{-webkit-box-flex:1;-ms-flex:1;flex:1}.form-group{margin-bottom:var(--spacing-md)}.form-label{color:var(--color-text-dark);display:block;font-weight:600;margin-bottom:var(--spacing-xs)}.form-input{background-color:var(--color-background-white);border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-body);min-height:var(--touch-target-min);padding:var(--spacing-sm);-webkit-transition:border-color var(--transition-fast);transition:border-color var(--transition-fast);width:100%}.form-input:focus{border-color:var(--color-primary);-webkit-box-shadow:0 0 0 3px rgba(40,167,69,.1);box-shadow:0 0 0 3px rgba(40,167,69,.1);outline:none}.form-input:invalid{border-color:var(--color-error)}.form-error{color:var(--color-error)}.form-error,.form-help{display:block;font-size:var(--font-size-small);margin-top:var(--spacing-xs)}.form-help{color:var(--color-text-medium)}.otp-group{display:-webkit-box;display:-ms-flexbox;display:flex;gap:var(--spacing-xs);-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:var(--spacing-md) 0}.otp-input{background-color:var(--color-background-white);border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-header);font-weight:600;height:3rem;text-align:center;-webkit-transition:border-color var(--transition-fast);transition:border-color var(--transition-fast);width:3rem}.otp-input:focus{border-color:var(--color-primary);-webkit-box-shadow:0 0 0 3px rgba(40,167,69,.1);box-shadow:0 0 0 3px rgba(40,167,69,.1);outline:none}.balance-hero{margin:var(--spacing-lg) 0;text-align:center}.balance-amount{color:var(--color-primary);font-size:var(--font-size-hero);font-weight:700;line-height:1.1}.balance-label{color:var(--color-text-medium);font-size:var(--font-size-secondary);margin-top:var(--spacing-xs)}.action-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:var(--spacing-lg) 0}.action-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--color-background-white);border:2px solid var(--color-border-light);border-radius:var(--radius-lg);color:var(--color-text-dark);min-height:var(--touch-target-min);padding:var(--spacing-md);text-decoration:none;-webkit-transition:all var(--transition-fast);transition:all var(--transition-fast)}.action-item:focus,.action-item:hover{border-color:var(--color-primary);-webkit-box-shadow:var(--shadow-md);box-shadow:var(--shadow-md);color:var(--color-text-dark);text-decoration:none}.action-icon{background-color:var(--color-primary);border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;height:2rem;margin-bottom:var(--spacing-xs);width:2rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;color:#fff;font-size:1rem;justify-content:center}.action-label{font-size:var(--font-size-small);font-weight:600;text-align:center}.transaction-list{list-style:none}.transaction-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid var(--color-border-light);padding:var(--spacing-sm) 0}.transaction-item:last-child{border-bottom:none}.transaction-icon{background-color:var(--color-background-light);border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;height:2rem;width:2rem;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-right:var(--spacing-sm);-ms-flex-negative:0;flex-shrink:0}.transaction-details{-webkit-box-flex:1;-ms-flex:1;flex:1}.transaction-title{font-weight:600;margin-bottom:.25rem}.transaction-subtitle{color:var(--color-text-medium);font-size:var(--font-size-small)}.transaction-amount{font-size:var(--font-size-body);font-weight:600}.transaction-amount.positive{color:var(--color-primary)}.transaction-amount.negative{color:var(--color-error)}.loading{opacity:.6;pointer-events:none}.spinner{-webkit-animation:spin 1s ease-in-out infinite;animation:spin 1s ease-in-out infinite;border:2px solid var(--color-border-light);border-radius:50%;border-top-color:var(--color-primary);display:inline-block;height:1rem;width:1rem}@-webkit-keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.alert{border:1px solid transparent;border-radius:var(--radius-md);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md)}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.alert-error{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-warning{background-color:#fff3cd;border-color:#ffeaa7;color:#856404}.alert-info{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-medium)}.text-success{color:var(--color-primary)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.hidden{display:none}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-0{margin-top:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}@media (min-width:768px){.container{max-width:500px}.btn-group.horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:var(--spacing-md)}.action-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.container{max-width:600px}}@media (prefers-contrast:high){:root{--color-border-light:#000;--shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 6px rgba(0,0,0,.3)}}@media (prefers-reduced-motion:reduce){*{-webkit-animation-duration:.01ms!important;animation-duration:.01ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important;-webkit-transition-duration:.01ms!important;transition-duration:.01ms!important}}@media print{.action-grid,.btn,.page-footer{display:none}.page{min-height:auto}.card{border:1px solid #000;-webkit-box-shadow:none;box-shadow:none}}