*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--secondary: #dbeafe;--secondary-hover: #bfdbfe;--text: #0f172a;--text-secondary: #64748b;--border: #e2e8f0;--bg-gray: #f8fafc;--card-bg: #ffffff;--success: #10b981;--danger: #ef4444;--warning: #f59e0b;--border-radius: 6px;--border-radius-lg: 8px;--widget-bg: #fff}body{font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;color:var(--text);background:#fff;line-height:1.5;font-size:14px}body:not(.settings-loaded) #app>*:not(.loading){opacity:0}body.settings-loaded #app>*:not(.loading){opacity:1;transition:opacity .2s ease-in}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:.75rem}.spinner{width:32px;height:32px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.loading-small{display:flex;justify-content:center;padding:1.5rem}.spinner-small{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-state{text-align:center;padding:3rem 1.5rem;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.error-icon{width:80px;height:80px;border-radius:50%;background:#fef2f2;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.error-icon svg{color:var(--danger)}.error-state h2{font-size:1.5rem;font-weight:700;color:var(--text);margin:0}.error-state p{font-size:1rem;color:var(--text-secondary);margin:0 0 1.5rem;max-width:400px}.error-state .btn{margin-top:.5rem}.container{max-width:1200px;margin:0 auto;padding:1rem}body.in-iframe .container{padding:0}.container.container-narrow{max-width:640px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.header h1{font-size:1.125rem;font-weight:600;color:var(--text)}.dashboard-layout{display:grid;grid-template-columns:1fr 280px;gap:1.5rem;align-items:start}.dashboard-main{min-width:0}.dashboard-welcome{margin-bottom:1.5rem}.dashboard-welcome-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.dashboard-welcome h1{font-size:1.5rem;font-weight:700;color:var(--text);margin:0}.link-nfc-btn{color:var(--primary);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s}.link-nfc-btn:hover{color:var(--primary-hover)}.balance-card-compact{background:var(--primary);color:#fff;padding:1.25rem;border-radius:var(--border-radius-lg);display:flex;align-items:center;justify-content:space-between;gap:1rem}.balance-card-compact .balance-info{display:flex;flex-direction:column;flex:1}.balance-card-compact .balance-label{font-size:.875rem;opacity:.9}.balance-card-compact .balance-amount{font-size:2rem;font-weight:700;letter-spacing:-.02em}.balance-card-compact .nfc-chip-info{font-size:.75rem;opacity:.8;margin-top:.25rem}.balance-card-compact .btn-sm{padding:1rem 1.5rem;font-size:1rem;white-space:nowrap;background:#fff;color:var(--primary);border:none;font-weight:600;align-self:center;flex-shrink:0;width:auto}.balance-card-compact .btn-sm:hover{background:#ffffffe6}.refund-status-card{background:var(--primary);border:none;border-radius:var(--border-radius-lg);padding:1.5rem;box-shadow:0 1px 3px #0000000d;color:#fff}.refund-status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.refund-status-title{display:flex;align-items:center;gap:.625rem}.refund-status-title svg{color:#fff;flex-shrink:0}.refund-status-title h3{font-size:1rem;font-weight:600;margin:0;color:#fff}.refund-status-subtitle{font-size:.8125rem;font-weight:400;color:#ffffffd9;margin:.25rem 0 0;line-height:1.4}.refund-status-badge{padding:.375rem .875rem;border-radius:9999px;font-size:.8125rem;font-weight:500}.refund-status-badge.status-pending{background:#fef3c7;color:#92400e}.refund-status-badge.status-approved{background:#d1fae5;color:#065f46}.refund-status-badge.status-rejected{background:#fee2e2;color:#991b1b}.refund-status-badge.status-processed{background:#dbeafe;color:#1e40af}.refund-status-amounts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1.25rem}.refund-status-amount-card{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--border-radius);transition:all .2s}.refund-status-amount-card.donation,.refund-status-amount-card.refund{background:#fff}.amount-card-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--primary);border-radius:50%;flex-shrink:0;color:#fff}.amount-card-content{display:flex;flex-direction:column;gap:.125rem}.amount-card-label{font-size:.75rem;font-weight:500;opacity:.7;text-transform:uppercase;letter-spacing:.025em;color:var(--primary)}.amount-card-value{font-size:1.25rem;font-weight:700;color:var(--primary)}.refund-status-footer{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.refund-status-detail{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem}.detail-label{color:#ffffffbf;font-weight:400}.detail-value{color:#fff;font-weight:500}.dashboard-sidebar{position:sticky;top:1rem}.sidebar-actions{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1.5rem}.sidebar-action{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--bg-gray);border:none;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s;text-align:left}.sidebar-action:hover{background:var(--secondary);color:var(--primary)}.sidebar-action-primary{background:var(--primary);border-color:var(--primary);color:#fff}.sidebar-action-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.sidebar-action-icon{width:36px;height:36px;border-radius:50%;background:#0000000d;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-action-primary .sidebar-action-icon{background:#fff3}.sidebar-menu{display:flex;flex-direction:column;gap:.5rem}.menu-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem 1rem;background:var(--bg-gray);border:none;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s;text-align:left}.menu-item:hover{background:var(--secondary);color:var(--primary)}.menu-item svg{flex-shrink:0;color:var(--text-secondary);transition:color .2s}.menu-item:hover svg{color:var(--primary)}.menu-item-logout{color:var(--text)}.menu-item-logout:hover{background:#fef2f2;color:var(--danger)}.menu-item-logout svg{color:var(--text-secondary)}.menu-item-logout:hover svg{color:var(--danger)}.card{background:var(--bg-gray);border:none;border-radius:var(--border-radius-lg);padding:1.25rem;margin-bottom:.75rem}.card.error{background:#fef2f2;border:none}.card h1{text-align:center;font-size:1.25rem;font-weight:600;margin-bottom:1.25rem}.card h3{font-size:.9375rem;font-weight:600;margin-bottom:.75rem}.tabs{display:flex;gap:0;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}.tab{flex:1;padding:.625rem 1rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:all .2s}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.auth-form{display:none}.auth-form.active{display:block}.form-group{margin-bottom:.75rem}.form-group label{display:block;margin-bottom:.25rem;font-weight:500;font-size:.8125rem;color:var(--text)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.875rem 1rem;border:2px solid var(--border);border-radius:var(--border-radius);font-size:1rem;transition:all .2s}.form-group input[type=number]#topup-amount{padding:1rem 1.25rem;font-size:1.5rem;font-weight:600;text-align:center;border:2px solid var(--border)}.form-group input:focus{outline:none;border-color:var(--primary)}.form-group input:disabled{background:var(--bg-gray);color:var(--text-secondary)}.form-group small{display:block;margin-top:.25rem;color:var(--text-secondary);font-size:.75rem}.checkbox-group{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}.checkbox-group input[type=checkbox]{width:1.25rem;height:1.25rem;margin-top:.125rem;cursor:pointer;accent-color:var(--primary);flex-shrink:0}.checkbox-group label{font-size:.875rem;line-height:1.5;cursor:pointer;user-select:none}.checkbox-group label a{color:var(--primary);text-decoration:none;font-weight:500}.checkbox-group label a:hover{text-decoration:underline}.btn{padding:.875rem 1.5rem;border:none;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.btn-primary{background:var(--primary);color:#fff;width:100%}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--secondary);color:var(--primary);border:1px solid var(--primary)}.btn-secondary:hover{background:var(--secondary-hover)}.btn-outline{background:#fff;color:var(--text);border:1px solid var(--border)}.btn-outline:hover{background:var(--bg-gray)}.auth-form .btn-primary,#profile-form .btn-primary,#password-form .btn-primary,#manual-link-form .btn-primary{padding:.875rem 1.5rem;font-size:1rem;font-weight:600}.btn-loading{opacity:.6;cursor:not-allowed;position:relative}.btn-loading:hover{opacity:.6;transform:none}.btn:disabled{cursor:not-allowed;opacity:.6}.error-message{color:var(--danger);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--border-radius);padding:.625rem .75rem;margin-top:1rem;font-size:.875rem;display:none}.error-message:not(:empty){display:block}.success-message{color:var(--success);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--border-radius);padding:.625rem .75rem;margin-top:1rem;font-size:.875rem;display:none}.success-message:not(:empty){display:block}.section{margin-bottom:1rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.section-header h3{margin:0}.section h2{font-size:1.25rem;font-weight:700;margin-bottom:1rem;color:var(--text)}.section h3{font-size:.875rem;font-weight:600;margin-bottom:.75rem;color:var(--text)}.link{font-size:.8125rem;color:var(--primary);text-decoration:none;font-weight:500}.link:hover{text-decoration:underline}.transactions-list,.receipts-list,.receipt-items-list{display:flex;flex-direction:column;gap:.5rem}.transaction-item,.receipt-item,.receipt-item-detail{padding:1rem;background:var(--bg-gray);border:none;border-radius:var(--border-radius-lg)}.transaction-main,.receipt-item,.receipt-item-detail{display:flex;justify-content:space-between;align-items:center}.transaction-info,.receipt-info,.item-info{display:flex;flex-direction:column;gap:.125rem}.transaction-info strong,.receipt-info strong,.item-info strong{font-size:.875rem;font-weight:600;color:var(--text)}.transaction-info small,.receipt-info small,.item-info small{color:var(--text-secondary);font-size:.75rem}.transaction-amount,.receipt-amount,.item-amount{font-size:.875rem;font-weight:600}.transaction-amount.positive{color:var(--success)}.transaction-amount.negative{color:var(--danger)}.empty-state{text-align:center;color:var(--text-secondary);padding:2rem 1rem;font-size:.875rem}.divider-text{text-align:center;margin:2rem 0;position:relative;color:var(--text-secondary);font-size:.875rem}.divider-text:before,.divider-text:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:var(--border)}.divider-text:before{left:0}.divider-text:after{right:0}.form-links{margin:.75rem 0 0;text-align:right}.form-links a{color:var(--primary);text-decoration:none;font-size:.875rem}.form-links a:hover{text-decoration:underline}.info-text{background:var(--bg-gray);padding:.625rem .75rem;border-radius:var(--border-radius);margin-bottom:1rem;font-size:.875rem;color:var(--text-secondary)}.topup-success{text-align:center}.status-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 1.5rem}.status-icon svg{display:block}.status-icon.success{background:#f0fdf4;color:var(--success)}.status-icon.error{background:#fef2f2;color:var(--danger)}.status-icon.pending{background:#fefce8;color:var(--warning)}.topup-success .balance-info{margin-top:1rem;font-size:.9375rem;color:var(--text)}.topup-success .balance-info strong{color:var(--primary);font-weight:600}.status-text,.error-text{text-align:center;font-size:.9375rem;color:var(--text);margin-top:.75rem}.error-text{color:var(--danger);font-weight:500}.topup-details-success,.topup-details-pending,.topup-details-error{margin:1.5rem 0}.amount-display{background:var(--bg-gray);border:none;padding:1.25rem;border-radius:var(--border-radius-lg);margin-bottom:1rem}.amount-display .label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem}.amount-display .amount{display:block;font-size:1.75rem;font-weight:700;color:var(--text)}.preload-code{background:var(--primary);color:#fff;padding:1.25rem;border-radius:var(--border-radius-lg);margin-bottom:1rem}.preload-code .label{font-size:.75rem;opacity:.9;margin-bottom:.5rem}.preload-code .code{font-size:2rem;font-weight:700;letter-spacing:.2em;margin:.75rem 0}.preload-code small{display:block;margin-top:.75rem;font-size:.75rem;opacity:.9}.qr-code{margin-top:1rem}.qr-code img{max-width:200px;height:auto;border:none;border-radius:var(--border-radius-lg)}.receipt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.receipt-date{font-size:.875rem;color:var(--text-secondary)}.receipt-total-label{font-size:1rem;font-weight:600}.date-group-header{font-size:.875rem;font-weight:600;color:var(--text);padding:.75rem 0 .5rem;margin-top:.5rem;text-transform:capitalize}.date-group-header:first-child{margin-top:0}.transaction-details{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.transaction-stand{font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.purchase-items{display:flex;flex-direction:column;gap:.25rem}.purchase-item{display:flex;justify-content:space-between;align-items:center;font-size:.75rem}.purchase-item-info{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.purchase-item-name{color:var(--text-secondary)}.purchase-item-price{font-weight:500;color:var(--text)}.payment-badge{display:inline-block;padding:.125rem .375rem;border-radius:3px;font-size:.625rem;font-weight:500}.payment-badge.advantage{background:#dbeafe;color:#1e40af}.payment-badge.cash{background:#f0fdf4;color:#15803d}.advantages-summary{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.advantages-summary-label{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.advantages-list{display:flex;flex-wrap:wrap;gap:.375rem}.advantage-badge{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;background:var(--primary-light);color:var(--primary);border:1px solid var(--primary)}@media(max-width:640px){.container{padding:.75rem}.card{padding:1rem}.header{flex-direction:column;gap:.75rem;align-items:flex-start}.dashboard-layout{grid-template-columns:1fr;gap:1rem}.dashboard-sidebar{position:static;order:-1}.sidebar-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.5rem}.sidebar-menu{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;background:none;border:none;border-radius:0}.menu-item{border:none;border-radius:var(--border-radius);background:var(--bg-gray)}.dashboard-welcome h1{font-size:1.25rem}.balance-card-compact{flex-direction:column;align-items:stretch}.balance-card-compact .balance-amount{font-size:1.5rem}.balance-card-compact .btn-sm{width:100%}.transaction-item,.receipt-item,.receipt-item-detail,.receipt-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.cgv-screen{display:flex;flex-direction:column;padding:1.5rem 0;gap:.75rem}.cgv-screen h1{font-size:1.25rem;font-weight:700;color:var(--text);text-align:center;margin-bottom:.5rem}.cgv-intro{font-size:.9375rem;color:var(--text);line-height:1.6;text-align:center;margin-bottom:.5rem}.cgv-content{background:var(--bg-gray);border-left:3px solid var(--primary);border-radius:0;padding:1.5rem;max-height:500px;overflow-y:auto;font-size:.875rem;line-height:1.6;color:var(--text);margin-left:0}.cgv-content h1,.cgv-content h2,.cgv-content h3,.cgv-content h4{margin-top:1.5rem;margin-bottom:.75rem;font-weight:600;color:var(--text)}.cgv-content h1:first-child,.cgv-content h2:first-child,.cgv-content h3:first-child,.cgv-content h4:first-child{margin-top:0}.cgv-content h1{font-size:1.25rem}.cgv-content h2{font-size:1.125rem}.cgv-content h3{font-size:1rem}.cgv-content h4{font-size:.9375rem}.cgv-content p{margin-bottom:1rem}.cgv-content ul,.cgv-content ol{margin-bottom:1rem;padding-left:1.5rem}.cgv-content li{margin-bottom:.5rem}.cgv-actions{display:flex;justify-content:center}.cgv-actions .btn{min-width:280px}@media(max-width:640px){.cgv-screen{padding:1rem 0}.cgv-screen h1{font-size:1.25rem}.cgv-content{max-height:400px;padding:1rem}.cgv-actions .btn{width:100%;min-width:auto}}.cgu-link{color:var(--primary);text-decoration:underline;cursor:pointer;transition:color .2s}.cgu-link:hover{color:var(--primary-hover)}.cgu-modal{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.cgu-modal-content{background:#fff;border-radius:var(--border-radius-lg);max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column}.cgu-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.cgu-modal-header h2{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.cgu-modal-close{background:none;border:none;font-size:1.5rem;line-height:1;color:var(--text-secondary);cursor:pointer;padding:.25rem}.cgu-modal-close:hover{color:var(--text)}.cgu-modal-body{padding:1.25rem;overflow-y:auto;flex:1;font-size:.875rem;line-height:1.6;color:var(--text)}.cgu-modal-body h1,.cgu-modal-body h2,.cgu-modal-body h3,.cgu-modal-body h4{margin-top:1.5rem;margin-bottom:.75rem;font-weight:600;color:var(--text)}.cgu-modal-body h1:first-child,.cgu-modal-body h2:first-child,.cgu-modal-body h3:first-child,.cgu-modal-body h4:first-child{margin-top:0}.cgu-modal-body h1{font-size:1.25rem}.cgu-modal-body h2{font-size:1.125rem}.cgu-modal-body h3{font-size:1rem}.cgu-modal-body h4{font-size:.9375rem}.cgu-modal-body p{margin-bottom:1rem}.cgu-modal-body ul,.cgu-modal-body ol{margin-bottom:1rem;padding-left:1.5rem}.cgu-modal-body li{margin-bottom:.5rem}.cgu-modal-footer{padding:1rem 1.25rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end}.cgu-modal-footer .btn{width:auto}@media(max-width:640px){.cgu-modal{padding:0}.cgu-modal-content{max-height:100vh;border-radius:0}.cgu-modal-header,.cgu-modal-body,.cgu-modal-footer{padding:1rem}.cgu-modal-footer .btn{width:100%}}.nfc-indicator{position:fixed;top:1rem;right:1rem;background:var(--primary);color:#fff;padding:.625rem 1rem;border-radius:var(--border-radius);display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;box-shadow:0 4px 6px #0000001a;z-index:1000;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.nfc-indicator svg{flex-shrink:0}.nfc-timer{margin-left:.5rem;opacity:.9;font-family:monospace}.nfc-email-display{background:var(--bg-gray);padding:.75rem 1rem;border-radius:var(--border-radius);margin-bottom:1rem;text-align:center}.nfc-email-display strong{color:var(--primary);font-size:.9375rem}.auth-intro{text-align:center;color:var(--text-secondary);font-size:.875rem;line-height:1.5;margin-bottom:1.5rem;margin-top:0}.auth-back{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.btn-back{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;transition:color .2s;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius)}.btn-back:hover{color:var(--primary);background:var(--bg-gray)}.email-display{color:var(--text);font-weight:500;font-size:.9375rem}@media(max-width:640px){.nfc-indicator{top:.5rem;right:.5rem;left:.5rem;font-size:.75rem;padding:.5rem .75rem}.nfc-indicator svg{width:16px;height:16px}}.toast-notification{position:fixed;top:1rem;left:50%;transform:translate(-50%) translateY(-100px);background:var(--text);color:#fff;padding:.875rem 1.25rem;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;box-shadow:0 10px 25px #0003;z-index:10000;opacity:0;transition:all .3s ease-out;max-width:90%;text-align:center}.toast-notification.show{opacity:1;transform:translate(-50%) translateY(0)}.toast-notification.toast-info{background:var(--primary)}.toast-notification.toast-success{background:var(--success)}.toast-notification.toast-warning{background:var(--warning)}.toast-notification.toast-error{background:var(--danger)}.refund-info-text{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 0;margin:1.5rem 0;border:none}.refund-info-icon{display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;font-size:.75rem;font-weight:600;margin-top:.25rem;color:var(--text-secondary)}.refund-info-message{flex:1;margin:0;font-size:.875rem;line-height:1.6;color:var(--text-secondary)}.refund-info-message strong{font-weight:600;color:var(--text)}.refund-info-message a{color:var(--primary);text-decoration:none;font-weight:600}.refund-info-message a:hover{text-decoration:underline}#topup-form{max-width:450px;margin-left:auto;margin-right:auto}.topup-intro{font-size:.9375rem;line-height:1.5;color:var(--text-secondary);text-align:center;margin-bottom:1.5rem}.preset-amounts{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;max-width:450px;margin-left:auto;margin-right:auto}.preset-amount-btn{padding:1.125rem 1.5rem;background:var(--bg-gray);border:2px solid var(--border);border-radius:var(--border-radius);color:var(--text);font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;width:100%}.preset-amount-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.HaPay{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:1.5rem 0}.HaPay *{font-family:Open Sans,Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,Arial,sans-serif;transition:all .3s ease-out}.HaPayButton{align-items:stretch;background:none;border:none;display:flex;padding:0;border-radius:8px;width:100%;max-width:320px}.HaPayButton:hover{cursor:pointer}.HaPayButton:not(:disabled):focus{box-shadow:0 0 0 .25rem #49d38a40}.HaPayButton:not(:disabled):hover .HaPayButtonLabel,.HaPayButton:not(:disabled):focus .HaPayButtonLabel{background-color:#483dbe}.HaPayButton:not(:disabled):hover .HaPayButtonLogo,.HaPayButton:not(:disabled):focus .HaPayButtonLogo,.HaPayButton:not(:disabled):hover .HaPayButtonLabel,.HaPayButton:not(:disabled):focus .HaPayButtonLabel{border:1px solid #483dbe}.HaPayButton:disabled{cursor:not-allowed}.HaPayButton:disabled .HaPayButtonLogo,.HaPayButton:disabled .HaPayButtonLabel{border:1px solid #d1d6de}.HaPayButtonLogo{background-color:#fff;border:1px solid #4c40cf;border-top-left-radius:8px;border-bottom-left-radius:8px;padding:10px 16px;height:auto;width:auto;max-width:60px;display:block}.HaPayButtonLabel{align-items:center;justify-content:center;column-gap:5px;background-color:#4c40cf;border:1px solid #4c40cf;border-top-right-radius:8px;border-bottom-right-radius:8px;color:#fff;font-size:16px;font-weight:800;display:flex;padding:0 16px;flex:1}.HaPayButton:disabled .HaPayButtonLabel{background-color:#d1d6de;color:#505870}.HaPaySecured{align-items:center;justify-content:center;display:flex;column-gap:5px;padding:8px 16px;font-size:12px;font-weight:600;color:#2e2f5e;flex-wrap:wrap}.HaPaySecured img{height:16px;width:auto}.HaPay svg{fill:currentColor}.helloasso-info{font-size:.875rem;line-height:1.5;color:var(--text-secondary);text-align:center;margin:1.25rem auto;padding:.75rem 1rem;background:var(--bg-gray);border-radius:var(--border-radius);max-width:450px}.helloasso-info strong{color:var(--text);font-weight:600}.global-header{background:var(--primary);color:#fff;padding:1rem 0;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:1000}.global-header-content{max-width:1200px;margin:0 auto;padding:0 1.5rem}.global-header h1{margin:0;font-size:1.5rem;font-weight:700;color:#fff}.in-iframe .global-header{display:none!important}@media(max-width:640px){.global-header h1{font-size:1.25rem}}.nfc-proposal-screen{display:flex;flex-direction:column;align-items:center;padding:2rem 0;gap:1.5rem;text-align:center}.nfc-proposal-icon{display:flex;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;background:var(--secondary);color:var(--primary);margin-bottom:1rem}.nfc-proposal-screen h1{font-size:1.5rem;font-weight:700;color:var(--text);margin-bottom:.5rem}.nfc-proposal-text{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0}.nfc-proposal-text strong{color:var(--primary);font-weight:600}.nfc-proposal-actions{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:320px;margin-top:1rem}.nfc-proposal-actions .btn{width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600}@media(max-width:640px){.nfc-proposal-screen{padding:1.5rem 0}.nfc-proposal-icon{width:100px;height:100px}.nfc-proposal-screen h1{font-size:1.25rem}}.refund-balance-display{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-hover) 100%);padding:1.5rem;border-radius:var(--border-radius-lg);text-align:center;margin-bottom:2rem}.refund-balance-label{color:#ffffffe6;font-size:.875rem;font-weight:500;margin:0 0 .5rem}.refund-balance-amount{color:#fff;font-size:2rem;font-weight:700;margin:0}.refund-balance-note{color:#fffc;font-size:.75rem;font-weight:400;margin:.5rem 0 0}.refund-question{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:1rem;display:block}.refund-radio-group{display:flex;flex-direction:column;gap:.75rem}.refund-radio{display:flex;align-items:center;padding:1rem;border:2px solid var(--border);border-radius:var(--border-radius);cursor:pointer;transition:all .2s;font-weight:400}.refund-radio:hover{border-color:var(--primary);background:var(--bg-gray)}.refund-radio input[type=radio]{margin-right:.75rem;width:20px;height:20px;cursor:pointer}.refund-radio input[type=radio]:checked+span{font-weight:600;color:var(--primary)}.refund-radio:has(input:checked){border-color:var(--primary);background:var(--bg-gray)}.donation-toggle-card{margin:1.5rem 0}.donation-toggle-btn{width:100%;display:flex;align-items:center;gap:1rem;padding:1.25rem;border:2px solid var(--border);border-radius:var(--border-radius);background:#fff;cursor:pointer;transition:all .2s;text-align:left}.donation-toggle-btn:hover:not(:disabled){border-color:var(--primary);background:rgba(var(--primary-rgb),.02)}.donation-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.donation-toggle-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(var(--primary-rgb),.1);color:var(--primary)}.donation-toggle-icon svg{width:24px;height:24px}.donation-toggle-content{flex:1}.donation-toggle-content h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:var(--text)}.donation-toggle-content p{margin:0;font-size:.875rem;color:var(--text-light)}.donation-toggle-switch{flex-shrink:0}.switch{position:relative;width:52px;height:28px;background:#e5e7eb;border-radius:14px;transition:all .3s}.switch.active{background:var(--primary)}.switch-thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;transition:all .3s;box-shadow:0 2px 4px #0003}.switch.active .switch-thumb{transform:translate(24px)}.donation-slider-card{background:linear-gradient(135deg,rgba(var(--primary-rgb),.05),rgba(var(--primary-rgb),.02));border:2px solid rgba(var(--primary-rgb),.2);border-radius:var(--border-radius);padding:1.5rem;margin:1rem 0}.donation-slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.donation-slider-title{font-size:.875rem;font-weight:500;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em}.donation-slider-amount{font-size:1.5rem;font-weight:700;color:var(--primary)}.donation-slider-wrapper{position:relative;margin:1rem 0}.donation-slider-track{position:absolute;top:50%;left:0;transform:translateY(-50%);width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,var(--primary) 0%,var(--primary) var(--progress),#e5e7eb var(--progress),#e5e7eb 100%);pointer-events:none;z-index:1}.donation-slider{position:relative;width:100%;height:6px;border-radius:3px;background:transparent;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;z-index:2}.donation-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--primary);cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all .2s}.donation-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 3px 12px #00000040}.donation-slider::-webkit-slider-thumb:active{transform:scale(1.05)}.donation-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--primary);cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all .2s}.donation-slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 3px 12px #00000040}.donation-slider::-moz-range-thumb:active{transform:scale(1.05)}.donation-slider::-moz-range-track{background:transparent}.donation-slider:disabled{opacity:.5;cursor:not-allowed}.donation-slider-labels{display:flex;justify-content:space-between;font-size:.875rem;color:var(--text-light);margin-top:.5rem;font-weight:500}.donation-note{margin:1rem 0 0;padding:.75rem;background:#3b82f61a;border-left:3px solid #3b82f6;border-radius:4px;font-size:.875rem;color:#1e40af}.input-error{border-color:#ef4444!important}.field-error{display:block;color:#ef4444;font-size:.875rem;margin-top:.375rem}.refund-amounts-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}.refund-amount-card{display:flex;align-items:center;gap:1rem;padding:1.25rem;border-radius:var(--border-radius);border:2px solid;transition:all .2s}.refund-amount-card.donation{background:linear-gradient(135deg,#10b9810d,#10b98105);border-color:#10b9814d}.refund-amount-card.refund{background:linear-gradient(135deg,rgba(var(--primary-rgb),.05),rgba(var(--primary-rgb),.02));border-color:rgba(var(--primary-rgb),.3)}.refund-amount-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%}.refund-amount-card.donation .refund-amount-icon{background:#10b98126;color:#10b981}.refund-amount-card.refund .refund-amount-icon{background:rgba(var(--primary-rgb),.15);color:var(--primary)}.refund-amount-icon svg{width:20px;height:20px}.refund-amount-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.refund-amount-label{font-size:.875rem;font-weight:500;color:var(--text-light);text-transform:uppercase;letter-spacing:.05em}.refund-amount-value{font-size:1.5rem;font-weight:700;color:var(--text)}.refund-amount-card.donation .refund-amount-value{color:#10b981}.refund-amount-card.refund .refund-amount-value{color:var(--primary)}.refund-full-donation-notice{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#10b9811a,#10b9810d);border:2px solid rgba(16,185,129,.3);border-radius:var(--border-radius);color:#059669;font-weight:500;margin:1rem 0}.refund-full-donation-notice svg{flex-shrink:0;width:20px;height:20px;color:#10b981}.info-notice{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--border-radius);color:#1d4ed8;font-size:.875rem;margin-bottom:1.5rem}.info-notice svg{flex-shrink:0;width:20px;height:20px;margin-top:.125rem}.info-notice p{margin:0;line-height:1.5}.refund-fee-notice{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--border-radius);color:#d97706;font-size:.875rem;font-weight:500;margin:.75rem 0 1rem}.refund-fee-notice svg{flex-shrink:0;width:16px;height:16px;color:#f59e0b}.refund-summary{background:var(--bg-gray);border-radius:var(--border-radius);padding:1.25rem;margin:1.5rem 0}.refund-summary-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0}.refund-summary-row+.refund-summary-row{border-top:1px solid var(--border)}.refund-summary-row.donation span{color:var(--success)}.refund-summary-row.donation strong{color:var(--success);font-size:1.125rem}.refund-summary-row.refund span{color:var(--text)}.refund-summary-row.refund strong{color:var(--primary);font-size:1.125rem}.refund-summary-note{margin-top:1rem;margin-bottom:0;padding:1rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--border-radius);color:var(--success);font-weight:500;text-align:center}.refund-bank-details{margin-top:2rem;padding-top:2rem;border-top:2px solid var(--border)}.refund-bank-details h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--text)}.toast-notification.svelte-1cpok13{opacity:0;transform:translateY(-20px);transition:opacity .3s,transform .3s}.toast-notification.show.svelte-1cpok13{opacity:1;transform:translateY(0)}.reset-password-title.svelte-dv0267{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;text-align:center}.reset-password-subtitle.svelte-dv0267{text-align:center;color:#ffffffb3;margin-bottom:2rem;font-size:.9rem}.form-links.svelte-dv0267{text-align:center;margin-top:1rem}.link-button.svelte-dv0267{background:none;border:none;color:var(--primary);text-decoration:none;font-size:.9rem;cursor:pointer;padding:0}.link-button.svelte-dv0267:hover{text-decoration:underline}.success-message.svelte-dv0267{margin-top:1rem;padding:.75rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:var(--border-radius);color:#22c55e;font-size:.875rem}.error-message.svelte-dv0267{margin-top:1rem;padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--border-radius);color:#ef4444;font-size:.875rem}
