:root{--color-primary: #007ACC;--color-primary-dark: #0061a3;--color-primary-darker: #00497A;--color-primary-light: #7fbce5;--color-secondary: #007bff;--color-secondary-dark: #0056b3;--color-secondary-light: #5bc0de;--color-success: #27ae60;--color-success-light: #c6f6d5;--color-success-dark: #22543d;--color-warning: #f39c12;--color-warning-light: #f0ad4e;--color-warning-dark: #e67e22;--color-danger: #e74c3c;--color-danger-light: #fed7d7;--color-danger-dark: #c0392b;--color-danger-alt: #d9534f;--color-info: #3498db;--color-info-light: #e3f2fd;--color-info-lighter: #bbdefb;--color-black: #000;--color-gray-darkest: #1a1a1a;--color-gray-darker: #213547;--color-gray-800: #2c3e50;--color-gray-500: #7f8c8d;--color-white: #ffffff;--color-text-primary: #333;--color-text-secondary: #444;--color-text-tertiary: #555;--color-text-quaternary: #666;--color-text-muted: #7f8c8d;--color-bg-primary: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-light: #fafafa;--color-bg-lighter: #f9f9f9;--color-bg-gray: #f5f5f5;--color-bg-gray-dark: #f0f0f0;--color-border-primary: #e0e0e0;--color-border-secondary: #ddd;--color-border-light: #eeeeee;--color-btn-gray: #6c757d;--color-btn-gray-hover: #545b62;--color-brand: var(--color-primary);--color-brand-dark: var(--color-primary-darker);--color-brand-light: var(--color-info-light);--color-brand-muted: var(--color-primary-light);--color-brand-bg: var(--color-info-light)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;background:#f0f2f5;color:var(--color-text-primary);font-size:16px;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:360px;overflow-x:hidden}.entry-page,.loading-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.entry-card{background:var(--color-bg-primary);border-radius:8px;box-shadow:0 2px 12px #0000001f;padding:36px 32px;width:100%;max-width:400px}.entry-header{text-align:center;margin-bottom:28px}.entry-logo{max-width:100px;max-height:60px;width:auto;height:auto;object-fit:contain;margin-bottom:12px}.entry-header h1{margin:0 0 6px;font-size:1.6rem;color:var(--color-brand)}.entry-header p{margin:0;color:var(--color-text-quaternary);font-size:.95rem}.entry-form{display:flex;flex-direction:column;gap:16px}.entry-error{background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:4px;color:var(--color-danger-dark);padding:10px 12px;font-size:.9rem}.entry-help{margin:20px 0 0;text-align:center;color:var(--color-text-muted);font-size:.85rem}.loading-page{flex-direction:column;gap:16px;color:var(--color-text-quaternary)}.app{min-height:100vh}.payment-page{min-height:100vh;padding:24px 16px;display:flex;justify-content:center;align-items:flex-start}.payment-card{background:var(--color-bg-primary);border-radius:8px;box-shadow:0 2px 12px #0000001f;width:100%;max-width:560px;overflow:hidden}.card-header{background:var(--color-brand);color:var(--color-white);padding:20px 28px;display:flex;align-items:center;justify-content:space-between}.header-text h1{margin:0 0 4px;font-size:1.4rem}.header-text p{margin:0;opacity:.85;font-size:.9rem}.card-header h1{margin:0;font-size:1.4rem}.header-logo{max-width:80px;max-height:50px;width:auto;height:auto;object-fit:contain;flex-shrink:0}.account-info{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:var(--color-bg-lighter);border-bottom:1px solid var(--color-border-primary)}.account-name{font-weight:600;font-size:.95rem}.account-balance{font-size:.9rem;color:var(--color-text-tertiary)}.form-section{padding:24px 28px;display:flex;flex-direction:column;gap:18px}.form-group{display:flex;flex-direction:column;gap:6px;position:relative}.form-group label{display:block;font-size:14px;font-weight:600;color:var(--color-text-secondary);margin-bottom:2px}.form-group input[type=text],.form-group input[type=number],.form-group textarea,.entry-form input{width:100%;padding:8px 12px;border:1px solid var(--color-border-secondary);border-radius:4px;font-size:14px;font-family:inherit;color:var(--color-text-primary);transition:border-color .2s;box-sizing:border-box}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group textarea:focus,.entry-form input:focus{outline:none;border-color:var(--color-brand)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.form-group textarea{resize:vertical;min-height:80px}.amount-input-wrap{display:flex;align-items:center;border:1px solid var(--color-border-secondary);border-radius:4px;overflow:hidden;transition:border-color .2s}.amount-input-wrap:focus-within{border-color:var(--color-brand)}.currency-prefix{padding:8px 10px 8px 12px;background:var(--color-bg-gray);border-right:1px solid var(--color-border-secondary);color:var(--color-text-tertiary);font-size:14px}.amount-input-wrap input{border:none;border-radius:0;flex:1}.amount-input-wrap input:focus{outline:none;border-color:transparent}.card-list{display:flex;flex-direction:column;gap:10px}.card-option{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--color-border-secondary);border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:400}.card-option:hover{background-color:var(--color-bg-gray)}.card-option.card-selected{border-color:var(--color-brand);background:var(--color-brand-light)}.card-option.card-expired{opacity:.5;cursor:not-allowed}.card-option input[type=radio]{margin-right:8px;margin-top:2px;flex-shrink:0;width:auto;cursor:pointer;accent-color:var(--color-brand)}.card-label{display:flex;flex-direction:column;gap:2px}.card-brand{font-weight:500;font-size:.95rem}.card-meta{font-size:.82rem;color:var(--color-text-muted);text-transform:capitalize}.card-default{font-size:.8rem;color:var(--color-brand);font-weight:500}.new-card-section{padding:16px;border:1px solid var(--color-border-secondary);border-radius:4px;background:var(--color-bg-lighter);display:flex;flex-direction:column;gap:12px}.stripe-card-form{display:flex;flex-direction:column;gap:12px}.stripe-card-element{border:1px solid var(--color-border-secondary);border-radius:4px;padding:10px 12px;background:var(--color-bg-primary);transition:border-color .2s}.stripe-error{color:var(--color-danger-alt);font-size:.875rem;padding:8px 10px;background:var(--color-danger-light);border-radius:4px;font-weight:600}.stripe-success{color:var(--color-brand);font-size:.875rem;padding:8px 10px;background:var(--color-brand-bg);border-radius:4px}.fee-summary{background:var(--color-bg-gray);border:1px solid var(--color-border-secondary);border-radius:4px;padding:10px 14px;font-size:14px;display:flex;flex-direction:column;gap:4px}.fee-summary.fee-summary-active{background:#fff8e1;border-color:var(--color-warning-light)}.fee-row{display:flex;justify-content:space-between}.fee-total{font-weight:600;padding-top:4px;border-top:1px solid var(--color-border-dark, #ccc);margin-top:4px}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:border-color .25s}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.btn-primary{background:var(--color-brand);color:var(--color-white);border:none;border-radius:4px;padding:8px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:var(--color-brand-dark)}.btn-primary:disabled{background:var(--color-brand-muted);cursor:not-allowed}.btn-secondary{background:var(--color-bg-primary);color:var(--color-brand);border:1px solid var(--color-brand);border-radius:4px;padding:7px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary:hover:not(:disabled){background:var(--color-brand-light)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-full{width:100%}.error-banner{background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:4px;color:var(--color-danger-dark);padding:12px 14px;font-size:14px;font-weight:600}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.confirm-dialog{background:#fff;border-radius:12px;padding:28px 24px;max-width:380px;width:100%;box-shadow:0 8px 40px #00000040}.confirm-dialog h3{margin:0 0 16px;font-size:1.2rem;color:var(--color-text-primary)}.confirm-dialog p{margin:0 0 10px;font-size:.95rem;color:var(--color-text-secondary)}.confirm-fee,.confirm-card{color:var(--color-text-muted);font-size:.85rem!important}.confirm-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}.hint{margin:0;text-align:center;color:var(--color-text-muted);font-size:.85rem;font-style:italic}.invoices-section{padding:0 28px 28px;border-top:1px solid var(--color-border-primary);margin-top:8px}.invoices-section h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);font-weight:600;margin:20px 0 12px}.invoices-table{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--color-bg-primary)}.invoices-table thead{background-color:var(--color-brand);color:var(--color-white)}.invoices-table th{text-align:left;padding:10px 12px 10px 0;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-white);white-space:nowrap}.invoices-table th:first-child{padding-left:12px}.invoices-table td{padding:10px 12px 10px 0;border-bottom:1px solid var(--color-border-light);color:var(--color-text-secondary)}.invoices-table td:first-child{padding-left:12px}.invoices-table tbody tr:nth-of-type(2n){background-color:var(--color-bg-secondary)}.invoices-table tbody tr:nth-of-type(odd){background-color:var(--color-bg-primary)}.invoices-table tr:last-child td{border-bottom:none}.col-right{text-align:right;padding-right:12px!important}.spinner{width:32px;height:32px;border:3px solid var(--color-border-primary);border-top-color:var(--color-brand);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state{padding:48px 28px;display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--color-text-quaternary)}.confirmed-state{padding:48px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.confirmed-icon{width:56px;height:56px;border-radius:50%;background:var(--color-brand-bg);color:var(--color-brand);font-size:28px;display:flex;align-items:center;justify-content:center}.confirmed-state h2{margin:0;color:var(--color-brand);font-size:1.4rem}.confirmed-amount{margin:0;font-size:1.05rem}.confirmed-email{margin:0;color:var(--color-text-quaternary);font-size:.9rem}@media screen and (max-width: 768px){.payment-card{border-radius:0}.payment-page{padding:0;align-items:stretch}}@media (max-width: 480px){.card-header,.form-section,.invoices-section,.account-info{padding-left:16px;padding-right:16px}.invoices-table th:nth-child(3),.invoices-table td:nth-child(3){display:none}}
