.alert{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);box-shadow:var(--box-shadow-sm);animation:slideIn .3s ease-out;position:relative;border-left:4px solid;font-size:.95rem;line-height:1.5}.alert-content{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.alert-icon{font-size:1.2rem;font-weight:700;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%}.alert-message{flex:1;word-wrap:break-word}.alert-close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0;margin-left:var(--spacing-sm);width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:inherit;opacity:.7;transition:opacity .2s;flex-shrink:0;line-height:1}.alert-close:hover{opacity:1}.alert-close:focus{outline:2px solid currentColor;outline-offset:2px;border-radius:2px}.alert-success{background-color:#d4edda;border-color:#28a745;color:#155724}.alert-success .alert-icon{background-color:#28a745;color:#fff}.alert-warning{background-color:#fff3cd;border-color:#ffc107;color:#856404}.alert-warning .alert-icon{background-color:#ffc107;color:#856404}.alert-error{background-color:#f8d7da;border-color:#dc3545;color:#721c24}.alert-error .alert-icon{background-color:#dc3545;color:#fff}.alert-info{background-color:#d1ecf1;border-color:#17a2b8;color:#0c5460}.alert-info .alert-icon{background-color:#17a2b8;color:#fff}.alert-success{background-color:var(--alert-success-bg, #d4edda);border-color:var(--alert-success-border, #28a745);color:var(--alert-success-text, #155724)}.alert-warning{background-color:var(--alert-warning-bg, #fff3cd);border-color:var(--alert-warning-border, #ffc107);color:var(--alert-warning-text, #856404)}.alert-error{background-color:var(--alert-error-bg, #f8d7da);border-color:var(--alert-error-border, #dc3545);color:var(--alert-error-text, #721c24)}.alert-info{background-color:var(--alert-info-bg, #d1ecf1);border-color:var(--alert-info-border, #17a2b8);color:var(--alert-info-text, #0c5460)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.alert.alert-closing{animation:slideOut .3s ease-out forwards}.toast-container{position:fixed;top:var(--spacing-lg, 20px);right:var(--spacing-lg, 20px);z-index:2147483647;display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:400px;width:100%;pointer-events:none}.toast-container .alert{pointer-events:auto;margin-bottom:0;box-shadow:var(--box-shadow-md)}@media (max-width: 768px){.toast-container{top:var(--spacing-md, 10px);right:var(--spacing-md, 10px);left:var(--spacing-md, 10px);max-width:none}.alert{font-size:.9rem;padding:var(--spacing-sm)}.alert-icon{width:20px;height:20px;font-size:1rem}}.autovip-login-container{display:flex;justify-content:center;align-items:center;min-height:80vh;background-color:#fff;position:relative;overflow:hidden}.autovip-login-form{background-color:#fff;box-shadow:5px 8px 10px #00000040;padding:var(--spacing-xl);width:100%;max-width:400px;border-radius:10px;border:1px solid #00000055;border-top:8px solid #cf0000;position:relative;z-index:1;--primary-color: #cf0000;--primary-hover: #a50000;--primary-dark: #a50000;--text-on-primary: #ffffff;--border-color: #cf0000}.autovip-logo-container{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.autovip-login-logo{max-width:200px;height:auto}.autovip-login-logo-positioned{max-width:70px;height:70px;position:absolute;z-index:1;margin-right:335px;margin-top:-32px}.autovip-welcome-title{margin:0;margin-bottom:var(--spacing-md);text-align:center;color:#cf0000;font-weight:700;font-size:24px;text-shadow:0 1px 2px rgba(207,0,0,.2)}.autovip-login-form h2{margin-top:0;margin-bottom:var(--spacing-lg);text-align:center;color:var(--text-color);font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.05)}.autovip-error-message{background-color:#cf000026;color:#cf0000;border:1px solid #cf0000;padding:var(--spacing-sm);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-md)}.autovip-form-group{margin-bottom:var(--spacing-md);text-align:left}.autovip-form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:700;color:var(--text-light);text-align:left}.autovip-form-group input{width:100%;padding:12px;border:1px solid #00000058;border-radius:var(--border-radius-sm);font-size:16px;transition:border-color .3s;box-sizing:border-box;background-color:var(--bg-light);color:var(--text-color)}.autovip-form-group input:focus{border-color:#cf0000;outline:none;box-shadow:0 0 0 2px #cf00001a}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#cf0000;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .3s}.password-toggle-btn:hover{color:#a50000}.autovip-login-button{background-color:#cf0000;color:#fff;border:none;border-radius:var(--border-radius-sm);padding:12px 20px;font-size:18px;cursor:pointer;width:100%;transition:background-color .3s;font-weight:700}.autovip-login-button:hover{background-color:#a50000}.autovip-login-button:disabled{background-color:var(--disabled-color);cursor:not-allowed}@media (max-width: 768px){.autovip-login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;box-sizing:border-box}.autovip-login-form{width:100%;max-width:100%;margin:0 auto;padding:24px 20px;box-sizing:border-box}.autovip-welcome-title{font-size:20px}.autovip-login-form h2{font-size:18px}.autovip-login-logo-positioned{margin-right:80%}.password-input-wrapper input{padding-right:10px!important}.password-toggle-btn{right:0%!important}}.manager-login-container{display:flex;justify-content:center;align-items:center;min-height:80vh;background-color:#fff;position:relative;overflow:hidden}.manager-login-form{background-color:#fff;box-shadow:5px 8px 10px #00000040;padding:var(--spacing-xl);width:100%;max-width:400px;border-radius:10px;border:1px solid #00000055;border-top:8px solid #616161;position:relative;z-index:1;--primary-color: #616161;--primary-hover: #424242;--primary-dark: #424242;--text-on-primary: #ffffff;--border-color: #616161}.manager-logo-container{display:flex;justify-content:center;margin-bottom:var(--spacing-lg)}.manager-login-logo{max-width:200px;height:auto}.manager-welcome-title{margin:0;margin-bottom:var(--spacing-md);text-align:center;color:#616161;font-weight:700;font-size:24px;text-shadow:0 1px 2px rgba(97,97,97,.2)}.manager-login-form h2{margin-top:0;margin-bottom:var(--spacing-lg);text-align:center;color:var(--text-color);font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.05)}.manager-error-message{background-color:#cf000026;color:#cf0000;border:1px solid #cf0000;padding:var(--spacing-sm);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-md)}.manager-form-group{margin-bottom:var(--spacing-md);text-align:left}.manager-form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:700;color:#000;text-align:left}.manager-form-group input{width:100%;padding:12px;border:1px solid #00000058;border-radius:var(--border-radius-sm);font-size:16px;transition:border-color .3s;box-sizing:border-box;background-color:var(--bg-light);color:var(--text-color)}.manager-form-group input:focus{border-color:#616161;outline:none;box-shadow:0 0 0 2px #6161611a}.password-input-wrapper{position:relative;width:100%}.password-input-wrapper input{padding-right:45px}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#616161;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .3s}.password-toggle-btn:hover{color:#424242}.password-toggle-btn:focus{outline:none}.manager-login-button{background-color:#616161;color:#fff;border:none;border-radius:var(--border-radius-sm);padding:12px 20px;font-size:18px;cursor:pointer;width:100%;transition:background-color .3s;font-weight:700}.manager-login-button:hover{background-color:#424242}.manager-login-button:disabled{background-color:var(--disabled-color);cursor:not-allowed}.main-container{max-width:1200px;margin:0 auto;padding:25px;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--bg-light);position:relative;overflow:hidden;border-radius:8px;box-shadow:0 4px 20px #00000014;box-sizing:border-box}.main-container:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 20%,rgba(255,255,255,.4) 50%,transparent 80%);pointer-events:none;animation:liquidShimmer 6s cubic-bezier(.4,0,.2,1) infinite;box-shadow:inset 0 0 60px #fff3}.dashboard-container{max-width:1000px;margin:0 auto;padding:25px;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--bg-light);color:var(--text-color);border-radius:var(--border-radius-md);box-shadow:0 8px 32px #0000001f,0 4px 16px #00000014;position:relative;overflow:hidden;box-sizing:border-box}.dashboard-container:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 20%,rgba(255,255,255,.4) 50%,transparent 80%);pointer-events:none;animation:liquidShimmer 6s cubic-bezier(.4,0,.2,1) infinite;box-shadow:inset 0 0 60px #fff3}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid var(--primary-color)}.dashboard-header h2{color:var(--text-color);margin:0;font-size:1.8rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.05)}.rewards-btn{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);color:var(--text-on-primary);border:none;padding:8px 16px;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:700;transition:all .3s;display:flex;align-items:center;gap:8px;font-size:.95rem;box-shadow:0 2px 8px #00000026;position:relative;overflow:hidden}.rewards-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.rewards-btn:hover:before{left:100%}.rewards-btn:hover{background:linear-gradient(135deg,var(--gradient-end),var(--gradient-mid),var(--gradient-start));box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.rewards-btn svg{font-size:.9rem}.logout-btn{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);color:var(--bg-light);border:none;padding:8px 16px;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:700;transition:all .3s;box-shadow:0 2px 8px #00000026;position:relative;overflow:hidden}.welcome-section{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);border-radius:var(--border-radius-md);padding:25px;margin-bottom:25px;box-shadow:var(--box-shadow-md);position:relative;overflow:hidden}.welcome-section:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(255,255,255,.05) 100%);pointer-events:none}.welcome-content{position:relative;z-index:1;text-align:center;color:var(--text-on-primary)}.welcome-title{font-size:2.2rem;font-weight:700;margin:0 0 15px;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:.5px;color:var(--text-on-primary)}.welcome-message{font-size:1.1rem;line-height:1.6;opacity:.95;max-width:600px;margin:0 auto;text-shadow:0 1px 2px rgba(0,0,0,.2)}.filter-container{background-color:var(--bg-light);padding:25px;border-radius:var(--border-radius-md);margin-bottom:25px;box-shadow:0 4px 16px #00000014,0 2px 8px #0000000a}.filter-row{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.form-group{flex:1;min-width:200px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-light)}.form-select,.form-input{width:100%;padding:10px 12px;border:1px solid var(--border-color);background-color:var(--bg-light);color:var(--text-color);border-radius:var(--border-radius-sm);font-size:1rem;box-shadow:inset 0 1px 3px #0000000d}.form-select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238b0000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:30px}.form-select option{background-color:var(--bg-light);color:var(--text-color)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #8b00001a}.submit-btn{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);color:var(--text-on-primary);border:none;padding:12px 20px;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:700;width:100%;max-width:200px;margin:0 auto;display:block;transition:all .3s;box-shadow:0 2px 8px #00000026;position:relative;overflow:hidden}.submit-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.submit-btn:hover:before{left:100%}.submit-btn:hover{background:linear-gradient(135deg,var(--gradient-end),var(--gradient-mid),var(--gradient-start));box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.submit-btn:disabled{background-color:var(--disabled-color);cursor:not-allowed}.pdf-container{background-color:var(--bg-light);border-radius:var(--border-radius-md);padding:25px;margin-top:20px;border:1px solid var(--border-color);box-shadow:0 4px 16px #00000014,0 2px 8px #0000000a}.pdf-title{color:var(--text-color);margin-top:0;margin-bottom:15px;font-size:1.3rem;font-weight:600;border-bottom:1px solid var(--border-color);padding-bottom:10px}.pdf-frame{width:100%;height:600px;border:none;background-color:var(--bg-light);border-radius:var(--border-radius-sm);box-shadow:0 1px 3px #0000001a}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;color:var(--primary-color)}.custom-select-container{position:relative;width:100%}.custom-select-header{display:flex;justify-content:center;align-items:center;width:100%;padding:0;border:1px solid var(--border-color);background-color:var(--bg-light);color:var(--text-color);border-radius:var(--border-radius-sm);font-size:1rem;cursor:pointer;transition:all .2s ease;box-shadow:inset 0 1px 3px #0000000d}.custom-select-header:hover{border-color:var(--primary-color)}.custom-select-input{flex:1;border:none;outline:none;background-color:transparent;padding:10px 12px;font-size:1rem;color:var(--text-color);width:120px}.custom-select-input::placeholder{color:#777}.dropdown-icon{color:var(--primary-color);font-size:14px;transition:transform .2s ease;margin-right:10px;position:absolute;right:2px}.rewards-btn svg,.logout-btn svg{color:var(--text-on-primary)}.custom-select-container.open .dropdown-icon{transform:rotate(180deg)}.custom-select-dropdown,.custom-select-search{display:none}.custom-select-options{position:absolute;top:100%;left:0;width:100%;max-height:200px;overflow-y:auto;background-color:var(--bg-light);border:1px solid var(--border-color);border-top:none;border-radius:0 0 var(--border-radius-sm) var(--border-radius-sm);box-shadow:0 4px 8px #0000001a;z-index:10}.custom-select-option{padding:10px 12px;cursor:pointer;transition:background-color .2s}.custom-select-option:hover{background-color:#8b00001a}.custom-select-option.selected{background-color:#8b000033;font-weight:700}.custom-select-no-results{padding:12px;color:#777;text-align:center;font-style:italic}.no-data-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;background-color:#f8f9fa;border-radius:8px;margin:1rem 0}.no-data-icon{font-size:3rem;margin-bottom:1rem}.no-data-container h3{color:#495057;margin-bottom:.5rem}.no-data-container p{color:#6c757d;margin:0}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-container p{color:#6c757d;margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-wrapper{display:flex;justify-content:center;align-items:center;width:100%;min-height:200px;padding:2rem;position:relative}.loading-overlay{position:fixed;inset:0;width:100vw;height:100vh;min-height:100vh;background-color:#000000bf;backdrop-filter:blur(4px);z-index:9999;padding:0}.loading-fullscreen{position:fixed;inset:0;width:100vw;height:100vh;min-height:100vh;background-color:#000000bf;backdrop-filter:blur(4px);z-index:9999}.loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.loading-animation{display:flex;align-items:center;justify-content:center}.loading-message{font-size:1.125rem;font-weight:500;color:#fff;margin:0;text-align:center;animation:pulse 2s ease-in-out infinite;text-shadow:0 2px 4px rgba(0,0,0,.5)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width: 768px){.loading-wrapper{min-height:150px;padding:1.5rem}.loading-content{transform:scale(.8);transform-origin:center center;gap:1.5rem}.loading-message{font-size:1rem}}@media (max-width: 480px){.loading-wrapper{min-height:100px;padding:.75rem}.loading-content{transform:scale(.6);transform-origin:center center;gap:1rem}.loading-message{font-size:1.5rem}}.logo img{display:block;margin:0 auto;z-index:1000;max-width:100%;height:auto}h2{margin:var(--space-sm) 0;font-size:18px;text-align:center}.tablavacia{width:100%;margin:0 0 var(--space-sm);border-collapse:collapse}.tablavacia td{padding:var(--space-xs);text-align:center;vertical-align:middle;font-size:7px}.tablavacia td.bold{font-weight:700}.info-left td{text-align:left;padding:1px var(--space-xs)}.info-left td.bold{width:50px;font-weight:700}.info-left tr{line-height:1}.tablalineas{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:250px}.tablalineas th,.tablalineas td{border:1px solid var(--color-mediumGrey);padding:var(--space-xs);font-size:6px;text-align:center;vertical-align:middle;word-wrap:break-word}.tablalineas th{background-color:var(--color-primary);color:var(--color-bgLight);font-weight:700}.tablalineas th:first-child,.tablalineas td:first-child,.tablalineas th:nth-child(2),.tablalineas td:nth-child(2),.tablalineas th:nth-child(3),.tablalineas td:nth-child(3),.tablalineas th:nth-child(4),.tablalineas td:nth-child(4),.tablalineas th:nth-child(5),.tablalineas td:nth-child(5),.tablalineas th:nth-child(6),.tablalineas td:nth-child(6){width:50px}.tablalineas th:nth-child(7),.tablalineas td:nth-child(7){width:70px}.tablalineas tbody tr:nth-child(2n){background-color:var(--color-bgMedium)}.tablalineas thead{display:table-header-group}.piepagina{position:fixed;bottom:0;left:0;width:100%;border-top:1px solid var(--color-border);background-color:var(--color-bgLight);padding:var(--space-xs) var(--space-sm);font-size:6px;display:flex;justify-content:space-between;align-items:center;height:20px;box-sizing:border-box}.piepagina span{display:inline-block;text-align:center}.text-center{text-align:center}.bold{font-weight:700}.reporte-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:var(--space-lg);padding-bottom:250px;width:100%;background-color:var(--color-bgColor)}.reporte-title{text-align:center;font-size:1.5rem;margin:var(--space-lg) 0;color:var(--color-primary)}.table-container{width:100%;overflow-x:auto;margin:var(--space-lg) 0;box-shadow:var(--shadow-hard);border-radius:var(--radius-medium);background-color:var(--color-bgLight)}.historial-table{width:100%;min-width:800px;border-collapse:collapse;font-size:.9rem;white-space:nowrap}.historial-table th,.historial-table td{padding:var(--space-md) var(--space-lg);text-align:left;border:1px solid var(--color-border)}.historial-table th{background-color:var(--color-primary);color:var(--color-bgLight);font-weight:700;position:sticky;top:0;text-align:center}.historial-table tbody tr:nth-child(2n){background-color:var(--color-bgMedium)}.historial-table tbody tr:hover{background-color:var(--color-lightGrey)}.footer{position:fixed;bottom:0;left:0;width:100%;border-top:1px solid var(--color-border);background-color:var(--color-bgLight);padding:var(--space-sm) var(--space-lg);font-size:.9rem;display:flex;justify-content:space-between;height:40px;box-shadow:var(--shadow-small)}.reporte-container-mobile{display:none}@media screen and (max-width: 768px){.reporte-container-mobile{display:block;padding:15px 15px 100px;background-color:var(--color-bg);min-height:100vh}.reporte-title-mobile{text-align:center;font-size:1.4rem;margin:20px 0;color:var(--color-primary);font-weight:700;padding:0 10px}.mobile-cards-container{margin:20px 0}.cards-wrapper{display:flex;flex-direction:column;gap:20px}.maintenance-card{background:var(--color-bg-light);border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;border:1px solid var(--color-border);transition:transform .2s ease,box-shadow .2s ease}.maintenance-card:active{transform:scale(.98);box-shadow:0 2px 8px #00000026}.maintenance-card:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}.card-header{background:var(--color-primary);color:#fff;padding:15px}.header-row{display:flex;justify-content:space-between;margin-bottom:10px}.header-row:last-child{margin-bottom:0}.header-item{display:flex;flex-direction:column;align-items:flex-start;flex:1}.header-item .label{font-size:12px;font-weight:600;opacity:.9;margin-bottom:2px}.header-item .value{font-size:14px;font-weight:700}.card-content{padding:15px}.maintenance-type{margin-bottom:20px;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.maintenance-type:last-child{margin-bottom:0}.type-header{background:var(--color-bg-medium);padding:12px 15px;border-bottom:1px solid var(--color-border)}.type-name{font-size:16px;font-weight:700;color:var(--color-primary);text-transform:uppercase}.maintenance-items{padding:0}.maintenance-item{padding:15px;border-bottom:1px solid var(--color-border);background:#fff}.maintenance-item:last-child{border-bottom:none}.maintenance-item:nth-child(2n){background:var(--color-bg-medium)}.item-row{display:flex;margin-bottom:8px;align-items:flex-start}.item-row:last-child{margin-bottom:0}.item-row.description{flex-direction:column;align-items:flex-start}.item-label{font-size:13px;font-weight:600;color:var(--color-text-light);min-width:80px;margin-right:10px;flex-shrink:0}.item-value{font-size:14px;color:var(--color-text);flex:1;word-wrap:break-word;line-height:1.4}.item-value.code{font-family:Courier New,monospace;font-weight:700;color:var(--color-primary);background:#8b00001a;padding:2px 6px;border-radius:4px;display:inline-block}.item-row.description .item-label{margin-bottom:5px;margin-right:0}.item-row.description .item-value{width:100%}.footer-mobile{position:fixed;bottom:0;left:0;width:100%;background:var(--color-bg-light);border-top:1px solid var(--color-border);padding:12px 15px;text-align:center;font-size:14px;color:var(--color-text);box-shadow:0 -2px 8px #0000001a;z-index:100}.mobile-cards-container .loading-container,.mobile-cards-container .no-data-container{display:flex;justify-content:center;align-items:center;min-height:200px;background:var(--color-bg-light);border-radius:12px;margin:20px 0}@media screen and (orientation: landscape){.reporte-container-mobile{padding:10px}.cards-wrapper{gap:15px}.maintenance-card{border-radius:8px}.card-header,.card-content{padding:12px}}@media screen and (max-width: 480px){.reporte-container-mobile{padding:10px}.reporte-title-mobile{font-size:1.2rem;margin:15px 0}.card-header{padding:12px}.header-item .label{font-size:11px}.header-item .value{font-size:13px}.card-content{padding:12px}.type-header{padding:10px 12px}.type-name{font-size:14px}.maintenance-item{padding:12px}.item-label{font-size:12px;min-width:70px}.item-value{font-size:13px}.footer-mobile{padding:10px 12px;font-size:13px}}@media screen and (max-width: 320px){.reporte-container-mobile{padding:8px}.reporte-title-mobile{font-size:1.1rem;margin:12px 0}.card-header{padding:10px}.header-item .label{font-size:10px}.header-item .value{font-size:12px}.card-content{padding:10px}.type-header{padding:8px 10px}.type-name{font-size:13px}.maintenance-item{padding:10px}.item-label{font-size:11px;min-width:65px}.item-value{font-size:12px}.footer-mobile{padding:8px 10px;font-size:12px}}}@media print{.reporte-container-mobile{display:block!important;padding:0;background:#fff}.maintenance-card{box-shadow:none;border:1px solid #ccc;break-inside:avoid}.footer-mobile{position:static;border-top:1px solid #ccc;margin-top:20px}}.confirm-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:100000;animation:fadeIn .2s ease-out;padding:var(--spacing-md, 16px)}.confirm-modal{position:relative;z-index:100000;background:#fff;border-radius:var(--border-radius-md, 8px);box-shadow:var(--box-shadow-hard, 0 10px 40px rgba(0, 0, 0, .2));max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;border-top:4px solid}.confirm-header{display:flex;align-items:center;gap:var(--spacing-md, 16px);padding:var(--spacing-lg, 24px);padding-bottom:var(--spacing-md, 16px);border-bottom:1px solid var(--border-color, #e0e0e0)}.confirm-icon{font-size:1.5rem;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;flex-shrink:0}.confirm-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-color, #333)}.confirm-body{padding:var(--spacing-lg, 24px)}.confirm-message{margin:0;font-size:1rem;line-height:1.6;color:var(--text-color, #333)}.confirm-footer{display:flex;gap:var(--spacing-sm, 12px);justify-content:flex-end;padding:var(--spacing-md, 16px) var(--spacing-lg, 24px);border-top:1px solid var(--border-color, #e0e0e0)}.confirm-button{padding:var(--spacing-sm, 12px) var(--spacing-lg, 24px);border:none;border-radius:var(--border-radius-md, 8px);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;min-width:100px}.confirm-button:focus{outline:2px solid var(--primary-color, #007bff);outline-offset:2px}.confirm-button-cancel{background-color:var(--bg-medium, #f5f5f5);color:var(--text-color, #333)}.confirm-button-cancel:hover{background-color:var(--bg-hard, #e0e0e0)}.confirm-danger{border-top-color:#dc3545}.confirm-danger .confirm-icon{background-color:#fee;color:#dc3545}.confirm-button-danger{background-color:#dc3545;color:#fff}.confirm-button-danger:hover{background-color:#c82333}.confirm-button-danger:active{background-color:#bd2130}.confirm-warning{border-top-color:#ffc107}.confirm-warning .confirm-icon{background-color:#fff3cd;color:#856404}.confirm-button-warning{background-color:#ffc107;color:#856404}.confirm-button-warning:hover{background-color:#e0a800}.confirm-button-warning:active{background-color:#d39e00}.confirm-info{border-top-color:#17a2b8}.confirm-info .confirm-icon{background-color:#d1ecf1;color:#0c5460}.confirm-button-info{background-color:#17a2b8;color:#fff}.confirm-button-info:hover{background-color:#138496}.confirm-button-info:active{background-color:#117a8b}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.confirm-modal{max-width:100%;margin:var(--spacing-md, 16px)}.confirm-header{padding:var(--spacing-md, 16px);padding-bottom:var(--spacing-sm, 12px)}.confirm-body{padding:var(--spacing-md, 16px)}.confirm-footer{flex-direction:column-reverse;padding:var(--spacing-md, 16px)}.confirm-button{width:100%}.confirm-title{font-size:1.1rem}.confirm-message{font-size:.95rem}}.manager-dashboard{min-height:100vh;background-color:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:absolute;inset:0;margin:-2rem -2rem -8rem;width:calc(100% + 4rem);height:calc(100% + 8rem);overflow-y:auto}.manager-header{background:linear-gradient(135deg,#a00000,#7a0000);color:#fff;padding:20px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a}.manager-header .header-left{display:flex;align-items:center;gap:10px}.manager-header h1{font-size:1.5rem;font-weight:600;color:#fff;margin:0 0 0 70px}.manager-header .header-logo{height:80px;width:auto;object-fit:contain;position:absolute}.manager-header .logout-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.9rem;transition:all .2s}.manager-header .logout-btn svg{color:#fff;fill:#fff}.manager-header .logout-btn:hover{background:#ffffff40}.manager-nav{background:#fff;padding:0 20px;display:flex;gap:5px;border-bottom:1px solid #e0e0e0;box-shadow:0 1px 3px #0000000d}.manager-nav button{background:none;border:none;padding:15px 25px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.95rem;color:#666;border-bottom:3px solid transparent;transition:all .2s}.manager-nav button:hover{color:#cf0000;background:#fff5f5}.manager-nav button.active{color:#cf0000;border-bottom-color:#cf0000;font-weight:600}.manager-content{padding:25px;max-width:1400px;margin:0 auto}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px;flex-wrap:wrap}.content-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-birthday-messages{position:relative;background:#25d366;color:#fff;border:1px solid #20bd5a;padding:12px 24px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500;transition:all .2s}.btn-birthday-messages:hover{background:#20bd5a;border-color:#1da851;transform:translateY(-1px)}.btn-birthday-bubble{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 6px;background:#cf0000;color:#fff;font-size:.75rem;font-weight:600;border-radius:10px;display:flex;align-items:center;justify-content:center}.search-box{display:flex;align-items:center;background:#fff;border:1px solid #ddd;border-radius:8px;padding:10px 15px;flex:1;max-width:400px}.search-box svg{color:#999;margin-right:10px}.search-box input{border:none;outline:none;flex:1;font-size:.95rem}.btn-add{background:#cf0000;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500;transition:all .2s}.btn-add:hover{background:#a50000;transform:translateY(-1px)}.birthday-modal-loading{display:flex;justify-content:center;padding:24px}.birthday-messages-list{display:flex;flex-direction:column;gap:12px;max-height:60vh;overflow-y:auto;margin-bottom:16px}.birthday-message-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background:#f9f9f9;border-radius:8px;border:1px solid #eee;flex-wrap:wrap}.birthday-message-info{display:flex;flex-direction:column;gap:4px}.birthday-message-name{font-weight:600;color:#333}.birthday-message-date{font-size:.9rem;color:#666}.btn-whatsapp-felicitaciones{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:#25d366;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-whatsapp-felicitaciones:hover{background:#20bd5a;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #25d36666}.btn-whatsapp-felicitaciones:active{transform:translateY(0)}.filters-bar{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.filters-bar select{padding:10px 15px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:.9rem;color:#333;cursor:pointer;min-width:160px;transition:border-color .2s}.filters-bar select:hover{border-color:#cf0000}.filters-bar select:focus{outline:none;border-color:#cf0000;box-shadow:0 0 0 3px #cf00001a}.filters-bar .filter-input{padding:10px 15px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:.9rem;color:#333;min-width:160px;transition:border-color .2s}.filters-bar .filter-input:hover{border-color:#cf0000}.filters-bar .filter-input:focus{outline:none;border-color:#cf0000;box-shadow:0 0 0 3px #cf00001a}.btn-clear-filters{padding:10px 15px;border:none;border-radius:8px;background:#ff6b6b;font-size:.9rem;color:#fff;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.btn-clear-filters:hover{background:#ee5a5a}.data-table{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #0000000d}.data-table table{width:100%;border-collapse:collapse}.data-table th{background:#fafafa;padding:15px 20px;text-align:left;font-weight:600;color:#333;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #eee}.data-table td{padding:15px 20px;border-bottom:1px solid #f0f0f0;color:#444}.data-table tbody tr:hover{background:#fafafa}.data-table tbody tr:last-child td{border-bottom:none}.rewards-table th.rewards-visible-col,.rewards-table td.rewards-visible-cell{min-width:70px;text-align:center}.rewards-visible-cell .switch{position:relative;display:inline-block;width:44px;height:24px}.rewards-visible-cell .switch input{opacity:0;width:0;height:0}.rewards-visible-cell .slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;border-radius:24px;transition:.3s}.rewards-visible-cell .slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.3s;box-shadow:0 1px 3px #0003}.rewards-visible-cell input:checked+.slider{background-color:#1976d2}.rewards-visible-cell input:checked+.slider:before{transform:translate(20px)}.rewards-table th.rewards-estado-col,.rewards-table td:nth-child(8){min-width:155px}.rewards-table tbody td{vertical-align:middle}.data-table th.actions-header,.data-table td.actions{min-width:140px}.data-table th.actions-header{white-space:nowrap}.actions-inner{display:flex;gap:8px}.actions button{width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:14px}.actions button svg{width:16px!important;height:16px!important;min-width:16px;min-height:16px;display:block}.btn-edit{background:#e3f2fd;color:#1976d2}.btn-edit:hover{background:#bbdefb}.btn-delete{background:#ffebee;color:#cf0000}.btn-delete:hover{background:#ffcdd2}.btn-points{background:#fff3e0;color:#e65100}.btn-points:hover{background:#ffe0b2}.membership-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:capitalize}.membership-badge.gold{background:linear-gradient(135deg,gold,orange);color:#4a3000}.membership-badge.platinum{background:linear-gradient(135deg,#e5e4e2,#a9a9a9);color:#333}.membership-badge.black{background:linear-gradient(135deg,#333,#000);color:#fff}.status-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.status-badge.available{background:#e8f5e9;color:#2e7d32}.status-badge.unavailable{background:#ffebee;color:#c62828}.promo-badge{background:#cf0000;color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500}.car-count{color:#888;font-size:.85rem;font-weight:400}.actions button:disabled{opacity:.4;cursor:not-allowed}.btn-cars,.btn-points-display{background:#f5f5f5;border:1px solid #ddd;padding:6px 12px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:.85rem;transition:all .2s}.btn-cars{color:#1976d2}.btn-cars:hover{background:#e3f2fd;border-color:#1976d2}.btn-points-display{color:#e65100}.btn-points-display:hover{background:#fff3e0;border-color:#e65100}.modal-subtitle{color:#666;margin:-15px 0 20px;font-size:.9rem}.cars-list{background:#f9f9f9;border-radius:8px;padding:10px;margin-bottom:20px;min-height:100px;max-height:350px;overflow-y:auto}.car-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#fff;border-radius:6px;margin-bottom:8px;border:1px solid #eee}.car-item:last-child{margin-bottom:0}.car-info{display:flex;flex-direction:column;gap:2px}.car-info strong{color:#333}.car-info span{font-size:.85rem;color:#666}.btn-delete-small{background:#ffebee;color:#cf0000;border:none;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-delete-small svg{width:14px!important;height:14px!important;min-width:14px;min-height:14px;display:block}.btn-delete-small:hover:not(:disabled){background:#ffcdd2}.btn-delete-small:disabled{opacity:.4;cursor:not-allowed}.no-cars{color:#cf0000;text-align:center;padding:15px;font-style:italic}.max-cars-warning{background:#fff3e0;border:1px solid #ffb74d;color:#e65100;padding:12px 15px;border-radius:8px;margin-bottom:15px;font-size:.9rem;text-align:center}.add-car-title{display:flex;align-items:center;gap:8px;color:#333;font-size:1rem;margin:20px 0 15px;padding-top:15px;border-top:1px solid #eee}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1}.form-divider{margin:25px 0 20px;padding-top:20px;border-top:2px solid #e0e0e0}.section-title{display:flex;align-items:center;gap:8px;color:#333;font-size:1.1rem;font-weight:600;margin:0 0 8px}.section-title svg{color:#cf0000}.section-subtitle{color:#666;font-size:.85rem;margin:0 0 15px;font-style:italic}.btn-full{width:100%;justify-content:center}.points-user-info{background:linear-gradient(135deg,#fff3e0,#ffe0b2);padding:15px;border-radius:8px;margin-bottom:20px}.points-user-info p{margin:5px 0;color:#333}.points-balance{color:#e65100;font-weight:600;font-size:1.1rem}.transaction-type-selector{display:flex;gap:10px}.type-btn{flex:1;padding:12px;border:2px solid #ddd;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.9rem;transition:all .2s}.type-btn.add{color:#2e7d32}.type-btn.add:hover,.type-btn.add.active{background:#e8f5e9;border-color:#2e7d32}.type-btn.remove{color:#c62828}.type-btn.remove:hover,.type-btn.remove.active{background:#ffebee;border-color:#c62828}.btn-submit.btn-remove{background:#c62828}.btn-submit.btn-remove:hover{background:#b71c1c}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:99999;padding:20px}.modal-content{position:relative;z-index:100000;background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.modal-content-inner{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:30px;box-sizing:border-box}.modal-close{position:absolute;top:15px;right:15px;background:none;border:none;font-size:1.2rem;color:#999;cursor:pointer;padding:5px;transition:color .2s}.modal-close:hover{color:#cf0000}.modal-content h3{margin:0 0 25px;color:#333;font-size:1.3rem}.modal-content .form-group{margin-bottom:20px}.modal-content .form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500;font-size:.9rem}.modal-content .form-group input,.modal-content .form-group select,.modal-content .form-group textarea{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.modal-content .form-group input:focus,.modal-content .form-group select:focus,.modal-content .form-group textarea:focus{border-color:#cf0000;box-shadow:0 0 0 3px #cf00001a;outline:none}.modal-content .form-group textarea{min-height:100px;resize:vertical}.phone-input-wrapper{display:flex;align-items:stretch;gap:0;width:100%}.phone-extension-dropdown{position:relative;flex-shrink:0}.phone-extension-trigger{display:flex;align-items:center;justify-content:center;width:52px;padding:12px 0!important;border:1px solid #ddd;border-right:none;border-radius:8px 0 0 8px;background:#fff;cursor:pointer;font-size:1.5rem;line-height:1;transition:border-color .2s,background .2s}.phone-extension-trigger:hover{background:#f9f9f9;border-color:#ccc}.phone-extension-trigger:focus{outline:none;border-color:#cf0000;box-shadow:0 0 0 2px #cf000026}.phone-extension-flag{position:relative;bottom:3px!important;font-size:1.5rem;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",Twemoji Mozilla,system-ui,sans-serif!important}.phone-extension-list{position:absolute;top:100%;left:0;margin:4px 0 0;padding:6px 0;list-style:none;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 6px 20px #0000001f;z-index:100;max-height:280px;overflow-y:auto;min-width:120px}.phone-extension-option{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;font-size:.95rem;transition:background .15s}.phone-extension-option:hover,.phone-extension-option.selected{background:#f5f5f5}.phone-extension-option .phone-option-flag{font-size:1.25rem;flex-shrink:0}.phone-extension-option .phone-option-extension{color:#333;font-variant-numeric:tabular-nums}.phone-number-field{display:flex;align-items:center;flex:1;min-width:0;border:1px solid #ddd;border-radius:0 8px 8px 0;background:#fff;padding:0 15px;transition:border-color .2s,box-shadow .2s;font-size:.95rem;line-height:1.5;color:#333;box-sizing:border-box}.phone-number-field:focus-within{border-color:#cf0000;box-shadow:0 0 0 3px #cf00001a}.phone-extension-prefix{padding:12px 6px 12px 0;font-size:.95rem;line-height:1.5;color:var(--color-disabled);flex-shrink:0;font-family:inherit}.phone-digits-input{flex:1;min-width:0;border:none!important;padding:12px 0!important;font-size:.95rem;line-height:1.5;color:#333;background:transparent!important;font-family:inherit}.phone-digits-input::placeholder{color:#999}.phone-digits-input:focus{outline:none;box-shadow:none!important}.phone-digits-input:disabled{cursor:not-allowed;opacity:.7}.checkbox-group label{display:flex!important;align-items:center;gap:10px;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto!important;cursor:pointer}.points-info{margin:0 0 15px;color:#555}.modal-actions{display:flex;gap:12px;margin-top:25px;justify-content:flex-end}.btn-cancel{background:#f5f5f5;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:.95rem;color:#666;transition:background .2s}.btn-cancel:hover{background:#e0e0e0}.btn-submit{background:#cf0000;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500;transition:background .2s}.btn-submit:hover:not(:disabled){background:#a50000}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.memberships-tags{display:flex;flex-wrap:wrap;gap:4px}.memberships-tags .membership-badge{font-size:.7rem;padding:2px 8px}.memberships-checkboxes{display:flex;gap:12px;flex-wrap:wrap}.membership-checkbox{display:flex!important;align-items:center;gap:6px;padding:8px 14px;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .2s;font-weight:500}.membership-checkbox input{width:auto!important;cursor:pointer}.membership-checkbox.gold{color:#4a3000}.membership-checkbox.gold:has(input:checked){background:linear-gradient(135deg,gold,orange);border-color:orange}.membership-checkbox.platinum{color:#333}.membership-checkbox.platinum:has(input:checked){background:linear-gradient(135deg,#e5e4e2,#a9a9a9);border-color:#a9a9a9}.membership-checkbox.black{color:#333}.membership-checkbox.black:has(input:checked){background:linear-gradient(135deg,#333,#000);border-color:#000;color:#fff}@media (max-width: 768px){.manager-header{flex-direction:column;gap:15px;text-align:center}.manager-nav{overflow-x:auto;padding:0 10px}.manager-nav button{padding:12px 15px;font-size:.85rem;white-space:nowrap}.content-header{flex-direction:column;align-items:stretch}.search-box{max-width:none}.btn-add{justify-content:center}.data-table{overflow-x:auto}.data-table table{min-width:600px}.modal-content-inner{padding:20px}}.btn-image{background:#e8f5e9;color:#2e7d32}.btn-image:hover{background:#c8e6c9}.reward-image-cell{width:60px;height:45px;cursor:default;border-radius:6px;overflow:hidden;border:1px solid #eee}.reward-thumbnail{width:100%;height:100%;object-fit:cover}.no-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f5f5f5;color:#bbb;font-size:1.2rem}.image-modal{max-width:450px}.image-preview-container{width:100%;height:200px;border-radius:8px;overflow:hidden;border:2px dashed #ddd;margin-bottom:20px;display:flex;align-items:center;justify-content:center;background:#fafafa}.image-preview{width:100%;height:100%;object-fit:contain}.no-image-large{display:flex;flex-direction:column;align-items:center;gap:10px;color:#bbb;font-size:3rem}.no-image-large span{font-size:1rem}.image-upload-section{display:flex;justify-content:center}.btn-upload{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#cf0000;color:#fff;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.btn-upload:hover:not(.uploading){background:#a50000}.btn-upload.uploading{opacity:.7;cursor:not-allowed}.image-upload-inline{display:flex;align-items:center;gap:15px}.image-preview-small{width:80px;height:60px;object-fit:cover;border-radius:6px;border:1px solid #ddd}.no-image-small{width:80px;height:60px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border:1px dashed #ddd;border-radius:6px;color:#bbb;font-size:1.5rem}.btn-upload-inline{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#f5f5f5;color:#333;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.btn-upload-inline:hover:not(.uploading){background:#e0e0e0;border-color:#ccc}.btn-upload-inline.uploading{opacity:.7;cursor:not-allowed}.char-counter{text-align:right;margin-top:4px;font-size:.8rem;color:#666}.char-counter-warning{color:#cf0000;font-weight:600}.qr-bridge-container{display:flex;justify-content:center;align-items:center;min-height:80vh;background-color:var(--bg-color)}.qr-bridge-form{background-color:var(--bg-light);border-radius:var(--border-radius-md);box-shadow:var(--box-shadow-md);padding:var(--spacing-xl);width:100%;max-width:500px;border-top:5px solid var(--primary-color);text-align:center}.qr-bridge-form h2{margin-top:0;margin-bottom:var(--spacing-lg);color:var(--primary-color);font-weight:700;font-size:1.5em}.error-message{background-color:var(--error-bg);color:var(--error-text);padding:var(--spacing-sm);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-md);text-align:center;font-weight:500}.status-message{background-color:var(--bg-medium);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin-top:var(--spacing-md)}.status-message p{margin:0;color:var(--text-color);font-size:1.1em;font-weight:500}.status-message.processing{position:relative}.status-message.processing:after{content:""}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.status-message.error{background-color:var(--error-bg);border-color:var(--error-text);color:var(--error-text)}.status-message.success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.rewards-wrapper{padding-bottom:50px}.rewards-container{max-width:1200px;margin:0 auto 40px;padding:25px;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--bg-light);color:var(--text-color);border-radius:8px;box-shadow:4px 8px 12px #0006;position:relative;overflow:hidden;box-sizing:border-box}.rewards-container:last-of-type{margin-bottom:30px!important}.rewards-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 5%,rgba(255,255,255,.2) 30%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.2) 70%,transparent 95%);pointer-events:none;animation:liquidShimmer 6s cubic-bezier(.4,0,.2,1) infinite;box-shadow:inset 0 0 60px #fff3;overflow:hidden;z-index:0;box-sizing:border-box;box-shadow:0 0 80px 30px #ffffff1f;filter:blur(2px)}.rewards-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid var(--primary-color)}.rewards-header h2{color:var(--text-color);margin:0;font-size:1.8rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.05)}.dashboard-btn{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);color:var(--text-on-primary);border:none;padding:8px 16px;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:700;transition:all .3s;display:flex;align-items:center;gap:8px;font-size:.95rem;box-shadow:0 2px 8px #00000026;position:relative;overflow:hidden}.dashboard-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.dashboard-btn:hover:before{left:100%}.dashboard-btn:hover{background:linear-gradient(135deg,var(--gradient-end),var(--gradient-mid),var(--gradient-start));box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.dashboard-btn svg{font-size:.9rem;color:var(--text-on-primary)}.points-display-section{margin-bottom:30px}.points-card{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);border-radius:var(--border-radius-md);padding:30px;display:flex;align-items:center;gap:25px;box-shadow:var(--box-shadow-md);position:relative;overflow:hidden;justify-content:space-between;box-sizing:border-box}.points-card:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(255,255,255,.05) 100%);pointer-events:none}.points-icon{font-size:4rem;color:var(--text-on-primary);opacity:.9;position:relative;z-index:1}.points-content{flex:1;position:relative;z-index:1;color:var(--text-on-primary)}.points-label{font-size:1.2rem;margin:0 0 10px;font-weight:500;opacity:.95;text-shadow:0 1px 2px rgba(0,0,0,.2)}.points-value{font-size:3.5rem;font-weight:700;margin:0 0 10px;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:1px}.points-subtitle{font-size:1.2rem;margin:0;color:var(--color-progress-label-color, white);opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.2)}.points-units-mobile{display:none}.next-reward-counter{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px}.circular-progress{position:relative;width:120px;height:120px}.progress-ring{display:block}.progress-ring-circle-bg{opacity:.4;stroke:var(--color-progress-ring-bg, var(--text-color))}.progress-ring-circle{transition:stroke-dashoffset .5s ease;opacity:1;stroke:var(--color-progress-ring-fill, var(--primary-color));stroke-width:8;filter:drop-shadow(0 0 2px currentColor)}.progress-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--text-on-primary)}.progress-label{display:block;font-size:.75rem;opacity:.9;margin-bottom:4px;color:var(--color-progress-label-color, white)}.progress-points{display:block;font-size:1.5rem;font-weight:700;line-height:1.2;color:var(--color-progress-label-color, white);text-shadow:0 2px 4px rgba(0,0,0,.3)}.progress-text{display:block;font-size:.7rem;opacity:.85;margin-top:2px;color:var(--color-progress-label-color, white)}.next-reward-info{font-size:1rem;text-align:center;color:var(--text-on-primary);opacity:.95;text-shadow:0 1px 2px rgba(0,0,0,.2);margin:0;max-width:200px;font-weight:700}.next-reward-info strong{font-weight:600}.section-container{margin-bottom:30px}.section-header{display:flex;align-items:center;gap:6px;margin-bottom:6px;padding-bottom:6px;padding-left:10px;padding-right:10px;border-bottom:2px solid var(--primary-color)}.section-icon{font-size:1.5rem!important;color:var(--primary-color)}.section-header h3{color:var(--text-color);margin:0;font-size:1.5rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.05)}.promotions-section .section-header{border-bottom-color:var(--primary-color)}.section-header.rewards-header{border-bottom-color:var(--primary-color)!important}.promotion-icon{font-size:1.5rem!important;color:var(--primary-color)!important}.promotions-section .section-header h3{color:var(--text-color);font-weight:600}[data-membership=black] .section-icon,[data-membership=black] .promotion-icon,[data-membership=black] .section-header h3,[data-membership=black] .section-header.rewards-header h3,[data-membership=black] .section-header.rewards-header,[data-membership=black] .promotions-section .section-header h3,[data-membership=black] .points-label,[data-membership=platinum] .section-icon,[data-membership=platinum] .promotion-icon,[data-membership=platinum] .section-header h3,[data-membership=platinum] .section-header.rewards-header h3,[data-membership=platinum] .section-header.rewards-header,[data-membership=platinum] .promotions-section .section-header h3,[data-membership=platinum] .points-label{color:#fff!important}.promotions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.promotion-card{background-color:var(--bg-light);border-radius:var(--border-radius-md);padding:20px;box-shadow:0 4px 16px #00000014,0 2px 8px #0000000a;border:1px solid var(--border-color);border-top:4px solid var(--primary-color);position:relative;transition:transform .2s,box-shadow .2s,border-color .2s}.promotion-card:hover{transform:translateY(-2px);box-shadow:var(--box-shadow-md);border-color:var(--primary-color)}.promotion-card-header-bar{display:none}.promotion-card-header-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.promotion-title{color:var(--text-color);margin:0 0 12px;font-size:1.2rem;font-weight:600}.promotion-description{color:var(--text-light);margin:0 0 15px;line-height:1.6;font-size:.95rem}.promotion-footer{padding-top:15px;border-top:1px solid var(--border-color)}.promotion-date{color:var(--text-muted);font-size:.85rem;font-style:italic}.promotion-image-container{text-align:center;margin:0 0 15px;min-height:150px;display:flex;align-items:center;justify-content:center;position:relative;border-radius:var(--border-radius-sm);overflow:hidden;background-color:var(--bg-light)}.promotion-image-container:empty{min-height:0;margin:0}.promotion-image{max-width:100%;max-height:200px;width:auto;height:auto;object-fit:contain;border-radius:var(--border-radius-sm);box-shadow:0 2px 8px #0000001a}.rewards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.rewards-empty,.promotions-empty{margin:0;padding:12px;color:var(--text-muted, rgba(0, 0, 0, .6));font-size:1.05rem;font-weight:600}.reward-card{background-color:var(--bg-light);border-radius:var(--border-radius-md);padding:20px;box-shadow:0 4px 16px #00000014,0 2px 8px #0000000a;border:2px solid var(--border-color);transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column}.reward-card:hover{transform:translateY(-2px);box-shadow:var(--box-shadow-md)}.reward-card.affordable{border-color:var(--primary-color);background-color:var(--bg-light)}.reward-card.unavailable{opacity:.6;cursor:not-allowed}.reward-card-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.reward-card-header-bar .reward-category{background-color:var(--light-grey);color:var(--text-light)}.reward-card-header-bar .reward-unavailable-badge{background-color:var(--disabled-color);color:#fff}.reward-category{padding:4px 10px;border-radius:var(--border-radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.reward-unavailable-badge{background-color:var(--disabled-color);color:#fff;padding:4px 10px;border-radius:var(--border-radius-sm);font-size:.75rem;font-weight:700}.reward-icon{text-align:center;margin:10px 0;font-size:2.5rem;color:var(--primary-color);opacity:.8}.reward-image-container{text-align:center;margin:10px 0;min-height:150px;display:flex;align-items:center;justify-content:center;position:relative}.reward-image{max-width:100%;max-height:200px;width:auto;height:auto;object-fit:contain;border-radius:var(--border-radius-sm);box-shadow:0 2px 8px #0000001a}.reward-image-container .reward-icon-fallback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.reward-title{color:var(--text-color);margin:0 0 10px;font-size:1.2rem;font-weight:600;text-align:center}.reward-description{color:var(--text-light);margin:0 0 20px;line-height:1.6;font-size:.95rem;text-align:center;flex:1}.reward-footer{display:flex;flex-direction:column;gap:12px;margin-top:auto}.reward-points{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--primary-color);font-weight:700;font-size:1.1rem}.points-icon-small{font-size:1.2rem}.redeem-btn{width:100%;padding:12px;border:none;border-radius:var(--border-radius-sm);font-weight:700;cursor:pointer;transition:background-color .3s,transform .2s;font-size:1rem}.redeem-btn.can-redeem{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);color:var(--text-on-primary);position:relative;overflow:hidden}.redeem-btn.can-redeem:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.redeem-btn.can-redeem:hover:before{left:100%}.redeem-btn.can-redeem:hover{background:linear-gradient(135deg,var(--gradient-end),var(--gradient-mid),var(--gradient-start));transform:scale(1.02);box-shadow:0 4px 12px #0003}.redeem-btn.cannot-redeem{background-color:var(--disabled-color);color:#fff;cursor:not-allowed}.redeem-btn:disabled{opacity:.6;cursor:not-allowed}.category-pills{display:none}.category-pill{flex:0 0 auto;padding:8px 16px;border-radius:999px;border:none;font-weight:600;font-size:.9rem;cursor:pointer;background-color:var(--light-grey);color:var(--text-color);transition:background .2s,color .2s}.category-pill.active{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);color:var(--text-on-primary)}@media (max-width: 768px){.rewards-container{padding:10px 0;margin-bottom:10px;width:100%;max-width:100%;box-sizing:border-box}.rewards-container:last-of-type{margin-bottom:30px!important}.points-display-section{margin-bottom:16px}.rewards-header{flex-direction:column;gap:12px;align-items:flex-start;margin-bottom:8px;padding-bottom:6px}.header-actions{width:100%;flex-direction:column;gap:10px}.section-header h3{font-size:1.2rem!important}.dashboard-btn,.logout-btn{width:100%;justify-content:center}.points-card{flex-direction:column;text-align:center;padding:12px 14px 16px}.points-content{order:1}.points-icon,.points-label{display:none}.points-units-mobile{display:inline;font-size:.5em;font-weight:500;opacity:.95;margin-left:4px}.points-value{font-size:2.75rem;margin:0 0 10px;line-height:1.1}.points-subtitle{font-size:.95rem;margin:0;opacity:.9}.next-reward-counter{margin-top:12px}.circular-progress{width:140px;height:140px}.progress-ring{width:100%;height:100%;display:block}.progress-label{font-size:.8rem}.progress-points{font-size:1.4rem}.progress-text{font-size:.75rem}.category-pills{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:8px 0 10px;margin-bottom:2px}.category-pills::-webkit-scrollbar{display:none}.category-pill{scroll-snap-align:start}.rewards-section .slider-viewport,.promotions-section .slider-viewport{margin:0 -2px;overflow:hidden;border-radius:16px}.rewards-section .slider-viewport:has(.reward-card),.promotions-section .slider-viewport:has(.promotion-card){overflow:visible}.rewards-grid:has(.reward-card),.promotions-grid:has(.promotion-card){display:flex;flex-direction:row;flex-wrap:nowrap;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:8px 5px 12px;margin:0;min-height:0;scroll-padding-inline:12px}.rewards-grid::-webkit-scrollbar,.promotions-grid::-webkit-scrollbar{display:none}.rewards-grid .reward-card,.promotions-grid .promotion-card{flex:0 0 auto;width:min(100%,315px);min-width:min(95%,275px);scroll-snap-align:center;scroll-snap-stop:normal}.rewards-grid .reward-card{padding:0;overflow:hidden;background-color:var(--bg-light);border-radius:16px;border:1px solid var(--border-color)}.rewards-grid .reward-card .reward-card-header-bar{margin-left:-20px;margin-right:-20px;width:calc(100% + 40px);padding:8px 20px;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);color:var(--text-on-primary);border-radius:16px 16px 0 0;position:relative;min-height:36px;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}.rewards-grid .reward-card .reward-card-header-bar:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:var(--bg-light);-webkit-mask-image:repeating-radial-gradient(circle at 50% 100%,black 6px,transparent 6px);mask-image:repeating-radial-gradient(circle at 50% 100%,black 6px,transparent 6px);-webkit-mask-size:12px 8px;mask-size:12px 8px;-webkit-mask-position:0 0;mask-position:0 0}.rewards-grid .reward-card .reward-card-header-bar .reward-category{background:#ffffff40;color:var(--text-on-primary);font-size:.7rem}.rewards-grid .reward-card .reward-card-header-bar .reward-unavailable-badge{background:#0000004d;color:#fff;font-size:.65rem;padding:2px 6px}.rewards-grid .reward-card .reward-image-container,.rewards-grid .reward-card .reward-icon{min-height:90px;margin:4px 0;font-size:1.9rem;padding:0 10px}.rewards-grid .reward-card .reward-title{font-size:1.05rem;margin-bottom:4px;padding:0 10px}.rewards-grid .reward-card .reward-description{font-size:.85rem;margin-bottom:8px;line-height:1.4;padding:0 10px;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.rewards-grid .reward-card .reward-footer{gap:8px;margin-top:auto;padding:0 10px 10px}.rewards-grid .reward-card .redeem-btn{padding:8px 12px;font-size:.92rem}.promotions-grid .promotion-card{padding:0;overflow:visible;background-color:var(--bg-light);border-radius:16px;border:1px solid var(--border-color);border-top:none}.promotions-grid .promotion-card .promotion-card-header-bar{display:flex;align-items:center;margin:0;padding:8px 10px;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);color:var(--text-on-primary);border-radius:16px 16px 0 0;position:relative;min-height:32px}.promotions-grid .promotion-card .promotion-card-header-bar:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:var(--bg-light);-webkit-mask-image:repeating-radial-gradient(circle at 50% 100%,black 6px,transparent 6px);mask-image:repeating-radial-gradient(circle at 50% 100%,black 6px,transparent 6px);-webkit-mask-size:12px 8px;mask-size:12px 8px;-webkit-mask-position:0 0;mask-position:0 0}.promotions-grid .promotion-card .promotion-card-header-label{color:var(--text-on-primary);font-size:.75rem}.promotions-grid .promotion-card .promotion-image-container,.promotions-grid .promotion-card .promotion-title,.promotions-grid .promotion-card .promotion-description,.promotions-grid .promotion-card .promotion-footer{padding-left:10px;padding-right:10px}.promotions-grid .promotion-card .promotion-footer{padding-bottom:10px}.promotions-grid .promotion-image-container{min-height:90px;margin-bottom:6px}.promotions-grid .promotion-title{font-size:1.05rem;margin-bottom:4px}.promotions-grid .promotion-description{font-size:.85rem;line-height:1.4;margin-bottom:8px;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.rewards-empty,.promotions-empty{margin:0;padding:12px;color:var(--text-muted);font-size:1.05rem;font-weight:600}.section-container{margin-bottom:18px}.section-header{margin-bottom:10px;padding-bottom:4px}.rewards-grid:not(:has(.reward-card)),.promotions-grid:not(:has(.promotion-card)){display:block;overflow-x:visible;scroll-snap-type:none;padding:6px 0 10px}.promotion-title{padding-right:0}}.section-header-with-hint{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;margin-bottom:6px}.section-title-wrap{display:flex;align-items:center;gap:6px}@media (min-width: 769px){.section-title-wrap{flex:1;width:100%}}.slider-hint{display:none;align-items:center;gap:6px;font-size:.8rem;color:#fff;font-weight:500;white-space:nowrap}.slider-hint svg{flex-shrink:0;opacity:.9}.slider-hint-arrow{width:16px;height:16px;color:#fff;animation:sliderHintBounce 1.5s ease-in-out infinite}@keyframes sliderHintBounce{0%,to{transform:translate(0);opacity:.9}50%{transform:translate(4px);opacity:1}}@media (max-width: 768px){.section-header-with-hint .slider-hint{display:inline-flex}.slider-hint{font-size:.85rem;gap:8px}.slider-hint-arrow{width:18px;height:18px}}.slider-viewport{position:relative}.slider-dots{display:none;align-items:center;justify-content:center;gap:4px;padding:8px 0 2px;flex-wrap:wrap}.slider-dot{width:20px;height:20px;min-width:20px;min-height:20px;border-radius:50%;border:none;padding:0;background-color:var(--light-grey);color:transparent;cursor:pointer;transition:background-color .2s,transform .2s}.slider-dot:hover{background-color:var(--border-color)}.slider-dot.active{background-color:var(--slider-dot-active);transform:scale(1);width:2px;height:2px}@media (max-width: 768px){.slider-dots{display:flex;padding:6px 0 0;gap:4px}.slider-dot{width:2px;height:2px}.slider-dot.active{transform:scale(1)}}@media (max-width: 768px){.rewards-wrapper{margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);width:100vw;padding-left:5vw;padding-right:5vw;padding-bottom:max(50px,env(safe-area-inset-bottom,20px));box-sizing:border-box}.rewards-container{border-radius:20px;padding:10px 0;width:100%;max-width:100%;box-sizing:border-box}.rewards-container:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 70%);top:-40px;right:-40px;pointer-events:none;z-index:0}.points-card{border-radius:22px;overflow:visible}.points-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);bottom:-20px;left:-20px;pointer-events:none;z-index:0}.dashboard-btn,.logout-btn{border-radius:999px;min-height:48px;padding:12px 20px}.promotion-card{border-radius:20px;border-top:4px solid var(--primary-color)}.promotion-card:before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background:transparent;border-bottom-left-radius:100%;pointer-events:none}.reward-card,.reward-card.affordable{border-radius:20px}.redeem-btn{border-radius:999px;min-height:48px;padding:14px 20px}.section-header{border-radius:14px 14px 0 0;padding-left:10px;padding-right:10px}.circular-progress{filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}}@media (max-width: 480px){.rewards-wrapper{padding-left:5vw;padding-right:5vw}.rewards-container{border-radius:18px;padding:10px 8px;margin-bottom:16px}.rewards-container:last-of-type{margin-bottom:50px!important}.rewards-container:after{width:100px;height:100px;top:-30px;right:-30px}.points-card{padding:10px 12px 14px;border-radius:26px}.points-card:after{width:70px;height:70px;bottom:-15px;left:-15px}.promotion-card,.reward-card{border-radius:22px}}.redeem-modal-overlay{position:fixed;inset:0;background:#000000bf;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.redeem-modal-content{background:linear-gradient(135deg,#6a6a6a,#5a5a5a,#4a4a4a,#5a5a5a,#6a6a6a)!important;background-color:#5a5a5a!important;border:3px solid #d0d0d0!important;border-radius:24px!important;padding:12px 0;width:100%;max-width:500px;max-height:90vh;overflow:hidden;position:relative;box-shadow:0 25px 80px #0006;animation:slideUp .4s cubic-bezier(.16,1,.3,1);color:#fff;box-sizing:border-box;display:flex;flex-direction:column}.redeem-modal-scroll-wrapper{padding:20px;overflow-y:auto;overflow-x:hidden;max-height:90vh;flex:1;box-sizing:border-box;border-radius:0 0 24px 24px;scrollbar-width:thin;scrollbar-color:#b0b0b0 transparent}.redeem-modal-scroll-wrapper::-webkit-scrollbar{width:8px;-webkit-appearance:none;appearance:none}.redeem-modal-scroll-wrapper::-webkit-scrollbar-track{background:transparent;margin:100px 5px 100px 0;border-radius:10px}.redeem-modal-scroll-wrapper::-webkit-scrollbar-thumb{background:#b0b0b0;border-radius:10px;border:none}.redeem-modal-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#909090}.redeem-modal-scroll-wrapper::-webkit-scrollbar-button{display:none;width:0;height:0}.redeem-modal-scroll-wrapper::-webkit-scrollbar-corner{display:none}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.redeem-modal-close-btn{position:absolute;top:15px;right:15px;background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:0;margin:0;display:flex;align-items:center;justify-content:center;z-index:10;transition:none;animation:none}.redeem-modal-close-btn:hover,.redeem-modal-close-btn:active,.redeem-modal-close-btn:focus,.redeem-modal-close-btn:focus-visible{background:transparent!important;border:none!important;color:#fff!important;outline:none!important;transform:none!important;opacity:1!important;box-shadow:none!important}.redeem-modal-close-btn *{margin:0;padding:0;line-height:1;transition:none!important;animation:none!important;transform:none!important}.redeem-modal-reward-image-container{text-align:center;margin:0 auto 30px;width:100%;max-width:300px;min-height:200px;display:flex;align-items:center;justify-content:center;position:relative;border-radius:16px;overflow:hidden;background:#ffffff1a;padding:20px;box-shadow:0 8px 24px #00000026}.redeem-modal-reward-image{max-width:100%;max-height:250px;width:auto;height:auto;object-fit:contain;border-radius:12px;box-shadow:0 4px 16px #0003}.redeem-modal-reward-icon{font-size:5rem;color:#fff;opacity:.9;text-shadow:0 2px 8px rgba(0,0,0,.3)}.redeem-modal-reward-icon-fallback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.redeem-modal-reward-title{color:#fff;margin:0 0 20px;font-size:1.8rem;font-weight:700;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.3);line-height:1.3}.redeem-modal-reward-points{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 30px;padding:16px 24px;background:#ffffff26;border-radius:12px;backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000001a}.redeem-modal-reward-points span{color:#fff;font-weight:700;font-size:1.3rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.redeem-modal-points-icon{font-size:1.8rem;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.redeem-modal-instructions{color:#fff;margin:0 0 30px;line-height:1.7;font-size:1.05rem;text-align:center;padding:20px;background:#ffffff1a;border-radius:12px;backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000001a;opacity:.95}.redeem-modal-whatsapp-btn{width:100%;padding:16px 24px;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 16px #25d3664d;position:relative;overflow:hidden}.redeem-modal-whatsapp-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.redeem-modal-whatsapp-btn:hover:before{left:100%}.redeem-modal-whatsapp-btn:hover{background:linear-gradient(135deg,#128c7e,#25d366);transform:translateY(-2px);box-shadow:0 6px 20px #25d36666}.redeem-modal-whatsapp-btn:active{transform:translateY(0);box-shadow:0 2px 8px #25d3664d}.redeem-modal-whatsapp-btn svg{width:24px;height:24px;flex-shrink:0}@media (max-width: 768px){.redeem-modal-content{max-width:95%;border-radius:20px}.redeem-modal-scroll-wrapper{padding:30px 25px 30px 20px}.redeem-modal-close-btn{top:15px;right:15px;font-size:1.8rem}.redeem-modal-reward-image-container{min-height:150px;padding:15px}.redeem-modal-reward-image{max-height:180px}.redeem-modal-reward-icon{font-size:4rem}.redeem-modal-reward-title{font-size:1.5rem;margin-bottom:15px}.redeem-modal-reward-points{padding:12px 20px;margin-bottom:20px}.redeem-modal-reward-points span{font-size:1.1rem}.redeem-modal-points-icon{font-size:1.5rem}.redeem-modal-instructions{font-size:.95rem;padding:15px;margin-bottom:20px}.redeem-modal-whatsapp-btn{padding:14px 20px;font-size:1rem}}.benefits-modal-overlay{position:fixed;inset:0;background:#0000008c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px;box-sizing:border-box;animation:benefits-overlay-in .25s ease-out}@keyframes benefits-overlay-in{0%{opacity:0}to{opacity:1}}.benefits-modal-content{max-width:560px;width:100%;min-height:320px;max-height:88vh;overflow:hidden;border-radius:16px;box-shadow:0 24px 48px #00000040,0 12px 24px #00000026;position:relative;display:flex;flex-direction:column;box-sizing:border-box;animation:benefits-content-in .3s ease-out}@keyframes benefits-content-in{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.benefits-modal-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 48px 32px 40px;border-radius:0 0 16px 16px}.benefits-modal-body::-webkit-scrollbar{width:8px}.benefits-modal-body::-webkit-scrollbar-track{background:#0000000f;border-radius:4px;margin:4px 0}.benefits-modal-body::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.benefits-modal-body::-webkit-scrollbar-thumb:hover{background:#0000004d}.benefits-modal-black .benefits-modal-body::-webkit-scrollbar-track{background:#ffffff14}.benefits-modal-black .benefits-modal-body::-webkit-scrollbar-thumb{background:#ffffff40}.benefits-modal-black .benefits-modal-body::-webkit-scrollbar-thumb:hover{background:#ffffff59}.benefits-modal-content.benefits-modal-black{background:linear-gradient(165deg,#2d2d30,#232326 40%,#1a1a1c);color:#fff;border:1px solid rgba(255,255,255,.08)}.benefits-modal-black .benefits-modal-title,.benefits-modal-black .benefits-modal-subtitle,.benefits-modal-black .benefits-modal-item{color:#fff}.benefits-modal-black .benefits-modal-title{text-shadow:0 1px 2px rgba(0,0,0,.3)}.benefits-modal-black .benefits-modal-close,.benefits-modal-black .benefits-modal-close:hover{color:#fff}.benefits-modal-black .benefits-modal-close svg{fill:currentColor}.benefits-modal-black .benefits-modal-item::marker{color:#ffffff8c}.benefits-modal-black .benefits-modal-item{border-left:3px solid rgba(255,255,255,.2)}.benefits-modal-content.benefits-modal-gold{background:linear-gradient(165deg,#fffbf0,#ffecb8 35%,#ffdf80);color:#2c1810;border:2px solid rgba(212,148,0,.35);box-shadow:0 24px 48px #0003,0 0 0 1px #ffd7001a}.benefits-modal-gold .benefits-modal-title{color:#1f140c;text-shadow:0 1px 0 rgba(255,255,255,.5)}.benefits-modal-gold .benefits-modal-subtitle,.benefits-modal-gold .benefits-modal-item{color:#2c1810}.benefits-modal-gold .benefits-modal-close{color:#1a1209}.benefits-modal-gold .benefits-modal-close:hover{color:#0d0905}.benefits-modal-gold .benefits-modal-close svg{fill:currentColor}.benefits-modal-gold .benefits-modal-item::marker{color:#b8860b}.benefits-modal-gold .benefits-modal-item{border-left:3px solid rgba(184,134,11,.4)}.benefits-modal-content.benefits-modal-platinum{background:linear-gradient(165deg,#f0f0f0,#e0e0e0 40%,#c8c8c8);color:#2c2c2e;border:2px solid rgba(140,140,140,.45);box-shadow:0 24px 48px #0000002e,0 0 0 1px #ffffff80 inset}.benefits-modal-platinum .benefits-modal-title{color:#1c1c1e;text-shadow:0 1px 0 rgba(255,255,255,.8)}.benefits-modal-platinum .benefits-modal-subtitle,.benefits-modal-platinum .benefits-modal-item{color:#2c2c2e}.benefits-modal-platinum .benefits-modal-close{color:#1c1c1e}.benefits-modal-platinum .benefits-modal-close:hover{color:#0a0a0b}.benefits-modal-platinum .benefits-modal-close svg{fill:currentColor}.benefits-modal-platinum .benefits-modal-item::marker{color:#6c6c6e}.benefits-modal-platinum .benefits-modal-item{border-left:3px solid rgba(108,108,110,.4)}.benefits-modal-header{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:32px 40px 20px;border-bottom:2px solid currentColor}.benefits-modal-title{margin:0;font-size:1.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;flex:1 1 100%;line-height:1.2}.benefits-modal-subtitle{font-size:1.1rem;font-weight:700;letter-spacing:.03em;opacity:.95}.benefits-modal-close{position:absolute;top:20px;right:20px;width:44px;height:44px;border:none;border-radius:50%;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.35rem;transition:color .2s}.benefits-modal-close svg{width:1.4em;height:1.4em;min-width:22px;min-height:22px;fill:currentColor;flex-shrink:0}.benefits-modal-list{margin:0;padding-left:1.5rem;list-style:disc}.benefits-modal-item{margin-bottom:10px;margin-top:10px;line-height:1.55;font-size:1.05rem;padding-left:8px;font-weight:500}.benefits-modal-item:last-child{margin-bottom:0}@media (max-width: 600px){.benefits-modal-overlay{padding:16px}.benefits-modal-content{max-width:100%;border-radius:14px}.benefits-modal-header{padding:28px 44px 16px 24px}.benefits-modal-body{padding:0 40px 28px 24px;border-radius:0 0 14px 14px}.benefits-modal-title{font-size:1.5rem;letter-spacing:.06em}.benefits-modal-subtitle{font-size:1rem}.benefits-modal-close{top:16px;right:16px;width:40px;height:40px;font-size:1.2rem}.benefits-modal-item{font-size:.98rem;margin-bottom:12px}}.profile-wrapper{width:100%}.profile-container{max-width:1200px;margin:0 auto;padding:25px;border-radius:8px;background-color:#fff;position:relative;overflow:hidden;box-sizing:border-box}.profile-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 5%,rgba(255,255,255,.2) 30%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.2) 70%,transparent 95%);pointer-events:none;animation:liquidShimmer 6s cubic-bezier(.4,0,.2,1) infinite;box-shadow:inset 0 0 60px #fff3;box-sizing:border-box;box-shadow:0 0 80px 30px #ffffff1f;filter:blur(2px)}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--primary-color)}.profile-title-section{display:flex;align-items:center;gap:15px}.profile-icon{font-size:2rem;color:var(--primary-color)}.profile-header h2{color:var(--primary-color);margin:0;font-size:1.8rem}.header-actions{display:flex;gap:12px;align-items:center}.nav-btn{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);color:var(--text-on-primary);border:none;padding:8px 16px;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:700;transition:all .3s;display:flex;align-items:center;gap:8px;font-size:.95rem;box-shadow:0 2px 8px #00000026;position:relative;overflow:hidden}.nav-btn svg{color:var(--text-on-primary)}.nav-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.nav-btn:hover:before{left:100%}.nav-btn:hover{background:linear-gradient(135deg,var(--gradient-end),var(--gradient-mid),var(--gradient-start));box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.logout-btn{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);color:var(--text-on-primary);border:none;padding:8px 16px;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:700;transition:all .3s;box-shadow:0 2px 8px #00000026;position:relative;overflow:hidden}.logout-btn svg{color:var(--text-on-primary)}.logout-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.logout-btn:hover:before{left:100%}.logout-btn:hover{background:linear-gradient(135deg,var(--gradient-end),var(--gradient-mid),var(--gradient-start));box-shadow:0 4px 12px #0003;transform:translateY(-1px)}.profile-content{display:flex;flex-direction:column;gap:30px}.profile-section{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--bg-light);border-radius:8px;padding:25px;box-shadow:4px 8px 12px #0006;position:relative;overflow:hidden;box-sizing:border-box}.profile-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 5%,rgba(255,255,255,.2) 30%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.2) 70%,transparent 95%);pointer-events:none;animation:liquidShimmer 6s cubic-bezier(.4,0,.2,1) infinite;box-shadow:inset 0 0 60px #fff3;overflow:hidden;z-index:0;box-sizing:border-box;box-shadow:0 0 80px 30px #ffffff1f;filter:blur(2px)}@keyframes liquidShimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.section-header{display:flex;align-items:center;margin-bottom:10px;padding-bottom:15px;border-bottom:1px solid var(--border-color);position:relative;border-bottom-color:var(--primary-color)}.section-header h3{display:flex;align-items:center;gap:10px;color:var(--text-color);margin:0;font-size:1.4rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.05)}.section-header h3.centered-title{position:absolute;left:50%;transform:translate(-50%);justify-content:center}.section-icon{font-size:1.2rem;color:var(--primary-color)}[data-membership=black] .section-icon,[data-membership=black] .section-header h3,[data-membership=platinum] .section-icon,[data-membership=platinum] .section-header h3{color:#fff!important}.count-badge{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);color:var(--text-on-primary);padding:2px 8px;border-radius:12px;font-size:.85rem;font-weight:400;margin-left:8px}.user-info-card{display:flex;flex-direction:column;gap:15px}.user-info-item{display:flex;align-items:center;gap:15px;padding:12px;background-color:var(--bg-light);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000f}.info-label{font-weight:700;color:var(--text-light);min-width:80px}.info-value{color:var(--text-color)}.vehicles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.vehicle-card{background:#fff;background-color:#fff;border-radius:12px;padding:20px;position:relative;color:var(--text-color);box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a;transition:transform .3s,box-shadow .3s}.vehicle-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003,0 4px 8px #00000026}.vehicle-icon{font-size:2.5rem;margin-bottom:15px;opacity:.9;color:var(--text-color)}.vehicle-info{display:flex;flex-direction:column;gap:5px}.vehicle-placa{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-color)}.vehicle-details{margin:0;font-size:.95rem;opacity:.9;color:var(--text-color)}.empty-state{text-align:center;padding:40px 20px;color:var(--text-muted)}.empty-icon{font-size:3rem;color:var(--light-grey);margin-bottom:15px}.empty-state p{margin:10px 0;font-size:1rem}.empty-subtitle{font-size:.9rem;color:var(--text-muted)}.billing-table-container{overflow-x:auto;border-radius:12px;box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a}.billing-table{width:100%;border-collapse:collapse;box-shadow:0 4px 16px #00000014,0 2px 8px #0000000a;border-radius:var(--border-radius-md);overflow:hidden}.billing-table thead{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--primary-color);color:var(--text-on-primary)}.billing-table th{padding:12px;text-align:left;font-weight:700;font-size:.95rem}.billing-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s;background-color:#fff}.billing-table tbody tr:hover{background-color:var(--light-grey)}.billing-table td{padding:12px;color:var(--text-color);font-size:.95rem}.amount-cell{font-weight:700;color:var(--text-color)}@media (max-width: 768px){.profile-wrapper{margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);width:100vw;padding:16px 5vw max(50px,env(safe-area-inset-bottom,20px));box-sizing:border-box}.profile-container{width:100%;max-width:100%;padding:0;box-sizing:border-box;background:transparent;box-shadow:none;border:none;border-radius:0;overflow:visible}.profile-container:before{display:none}.profile-content{gap:16px}.section-header h3{font-size:1.2rem!important}.profile-header{flex-direction:column;align-items:center;gap:6px;margin-bottom:8px;padding-bottom:6px}.profile-title-section{justify-content:center;width:100%;margin-bottom:10px}.header-actions{width:100%;flex-direction:column;gap:10px}.nav-btn,.logout-btn{width:100%;justify-content:center;border-radius:999px;min-height:48px;padding:12px 20px}.section-header{flex-direction:row;align-items:center;justify-content:center;gap:8px;border-radius:14px 14px 0 0;padding-left:10px;padding-right:10px}.section-header h3.centered-title{position:static;transform:none;left:auto}.vehicles-section .slider-viewport{position:relative;margin:0 -2px;overflow:hidden;border-radius:16px}.vehicles-section .slider-viewport:has(.vehicle-card){overflow:visible}.vehicles-section .vehicles-grid{background:transparent;background-color:transparent}.vehicles-section .vehicles-grid:has(.vehicle-card){display:flex;flex-direction:row;flex-wrap:nowrap;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:8px 5px 12px;margin:0;min-height:0;scroll-padding-inline:12px}.vehicles-section .vehicles-grid::-webkit-scrollbar{display:none}.vehicles-section .vehicles-grid .vehicle-card{flex:0 0 auto;width:min(100%,315px);min-width:min(95%,275px);scroll-snap-align:center;scroll-snap-stop:normal}.vehicles-section .slider-dots{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 0 0;flex-wrap:wrap}.vehicles-section .slider-dot{width:20px;height:20px;min-width:20px;min-height:20px;border-radius:50%;border:none;padding:0;background-color:var(--light-grey);color:transparent;cursor:pointer;transition:background-color .2s}.vehicles-section .slider-dot:hover{background-color:var(--border-color)}.vehicles-section .slider-dot.active{background-color:var(--slider-dot-active, var(--primary-color))}.vehicles-grid:not(:has(.vehicle-card)){grid-template-columns:1fr}.billing-table{font-size:.85rem}.billing-table th,.billing-table td{padding:8px}.profile-section{border-radius:20px;padding:10px 14px;width:100%;max-width:100%;position:relative;overflow:hidden;margin-bottom:16px;box-sizing:border-box}.profile-section:last-of-type{margin-bottom:30px!important}.profile-section:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 70%);top:-40px;right:-40px;pointer-events:none;z-index:0}.user-info-item{position:relative;border-radius:18px;padding:12px 14px 12px 16px}.vehicle-card{border-radius:20px;padding:22px 18px;overflow:visible}.vehicle-card:before{content:"";position:absolute;top:0;right:0;width:70px;height:70px;border-bottom-left-radius:100%;background:transparent;pointer-events:none}.billing-table-container{border-radius:20px;overflow:hidden}.premios-section:has(.premios-cards-list){display:flex;flex-direction:column;height:540px;min-height:540px}.premios-section .premios-cards-list{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:2px;scrollbar-width:thin;scrollbar-color:var(--border-color, rgba(0,0,0,.2)) transparent}.premios-section .premios-cards-list::-webkit-scrollbar{width:8px}.premios-section .premios-cards-list::-webkit-scrollbar-button{display:none}.premios-section .premios-cards-list::-webkit-scrollbar-track{background:transparent}.premios-section .premios-cards-list::-webkit-scrollbar-thumb{background:var(--border-color, rgba(0,0,0,.2));border-radius:4px}.premios-section .premios-cards-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted, rgba(0,0,0,.35))}.premios-section .premios-cards-list .premio-card{width:100%;background:var(--bg-light);border:1px solid var(--border-color);border-radius:16px;padding:14px 16px;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;display:flex;flex-direction:column;gap:10px}.premios-section .premio-card-header{padding-bottom:10px;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:4px}.premios-section .premio-card-header .premio-card-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.premios-section .premio-card-title{font-weight:700;font-size:1.05rem;color:var(--text-color)}.premios-section .premio-card-row{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.9rem}.premios-section .premio-card-row .premio-card-label{color:var(--text-muted);font-size:.85rem}.premios-section .premio-card-row .premio-card-value{font-weight:600;color:var(--text-color)}.premios-section .premio-card-date .premio-card-value{font-size:.85rem;font-weight:500}}@media (max-width: 480px){.profile-wrapper{padding-left:5vw;padding-right:5vw}.profile-section{border-radius:18px;padding:12px 10px;margin-bottom:16px}.profile-section:last-of-type{margin-bottom:50px!important}.profile-section:after{width:100px;height:100px;top:-30px;right:-30px}.vehicle-card{border-radius:22px}.user-info-item{border-radius:20px}}.membership-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--border-radius-sm);font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:1px;position:relative;overflow:hidden}.membership-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.membership-badge:hover:before{left:100%}.membership-badge.membership-gold{background:linear-gradient(135deg,#ffb800,gold,orange);color:#2c1810;box-shadow:0 4px 12px #ffb80066,inset 0 1px #ffffff4d;border:1px solid rgba(255,215,0,.5)}.membership-badge.membership-gold .membership-icon{color:#d49400;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.membership-badge.membership-platinum{background:linear-gradient(135deg,#e5e4e2,silver,#a8a8a8);color:#2c2c2e;box-shadow:0 4px 12px #c0c0c066,inset 0 1px #ffffff80;border:1px solid rgba(192,192,192,.6)}.membership-badge.membership-platinum .membership-icon{color:#8e8e93;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.membership-badge.membership-black{background:linear-gradient(135deg,#1d1d1f,#3a3a3c,#1d1d1f);color:#fff;box-shadow:0 4px 12px #00000080,inset 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.1)}.membership-badge.membership-black .membership-icon{color:silver;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.membership-icon{font-size:1rem}.info-icon{margin-right:5px;font-size:.9rem;color:var(--primary-color)}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,#667eea,#764ba2)}.error-boundary-content{max-width:600px;width:100%;background:#fff;border-radius:12px;padding:3rem;box-shadow:0 20px 60px #0000004d;text-align:center}.error-boundary-icon{font-size:4rem;margin-bottom:1.5rem}.error-boundary-title{font-size:2rem;font-weight:700;color:#1a202c;margin-bottom:1rem}.error-boundary-message{font-size:1.1rem;color:#4a5568;margin-bottom:2rem;line-height:1.6}.error-boundary-details{text-align:left;margin:2rem 0;padding:1rem;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0}.error-boundary-details summary{cursor:pointer;font-weight:600;color:#2d3748;margin-bottom:.5rem}.error-boundary-details summary:hover{color:#1a202c}.error-boundary-stack{font-family:Courier New,monospace;font-size:.875rem;color:#e53e3e;white-space:pre-wrap;word-break:break-all;max-height:300px;overflow-y:auto;padding:1rem;background:#fff;border-radius:4px;border:1px solid #fed7d7}.error-boundary-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-boundary-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.error-boundary-button-primary{background:#667eea;color:#fff}.error-boundary-button-primary:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.error-boundary-button-secondary{background:#e2e8f0;color:#2d3748}.error-boundary-button-secondary:hover{background:#cbd5e0;transform:translateY(-2px)}.error-boundary-button:active{transform:translateY(0)}@media (max-width: 640px){.error-boundary-content{padding:2rem 1.5rem}.error-boundary-title{font-size:1.5rem}.error-boundary-message{font-size:1rem}.error-boundary-actions{flex-direction:column}.error-boundary-button{width:100%}}:root{--primary-color: var(--color-primary);--primary-hover: var(--color-primary-hover);--primary-dark: var(--color-primary-dark);--accent-color: var(--color-accent);--text-color: var(--color-text);--text-light: var(--color-text-light);--text-muted: var(--color-text-muted);--bg-color: var(--color-bg);--bg-light: var(--color-bg-light);--bg-medium: var(--color-bg-medium);--bg-hard: var(--color-bg-hard);--border-color: var(--color-border);--disabled-color: var(--color-disabled);--dark-grey: var(--color-dark-grey);--medium-grey: var(--color-medium-grey);--light-grey: var(--color-light-grey);--error-bg: var(--color-error-bg);--error-text: var(--color-error-text);--text-on-primary: var(--color-text-on-primary);--gradient-start: var(--color-gradient-start, var(--primary-color));--gradient-mid: var(--color-gradient-mid, var(--primary-color));--gradient-end: var(--color-gradient-end, var(--primary-hover));--slider-dot-active: var(--color-slider-dot-active, var(--primary-color));--spacing-xs: var(--space-xs);--spacing-sm: var(--space-sm);--spacing-md: var(--space-md);--spacing-lg: var(--space-lg);--spacing-xl: var(--space-xl);--border-radius-sm: var(--radius-small);--border-radius-md: var(--radius-medium);--box-shadow-sm: var(--shadow-sm);--box-shadow-md: var(--shadow-md);--box-shadow-hard: var(--shadow-hard);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--text-color);background-color:var(--bg-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow:hidden;overscroll-behavior:none}body{margin:0;display:flex;min-width:320px;height:100vh;max-height:100vh;overflow:hidden;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-mid),var(--gradient-end));background-color:var(--bg-color)}#root{width:100%;height:100%;max-height:100%;padding:2rem;margin-bottom:15rem;background-color:#fff;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;overscroll-behavior:contain;scroll-behavior:smooth}a{font-weight:500;color:var(--primary-color);text-decoration:inherit;transition:color .3s}a:hover{color:var(--primary-hover)}h1{font-size:3.2em;line-height:1.1;color:var(--text-color);font-weight:700}h2,h3{color:var(--text-color);font-weight:600}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer;transition:background-color .3s;border-radius:var(--border-radius-md);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f3f3f3}button:hover{border-color:var(--primary-color)}button:focus,button:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed}input:focus,select:focus{outline:2px solid var(--primary-color);outline-offset:2px}.app-container{width:100%;height:100%;max-height:100%;padding:2rem 2rem 6rem;margin-bottom:2rem;background-color:#fff;box-sizing:border-box;min-height:0;position:relative}@media (max-width: 768px){.app-container{padding-top:0}}@media screen and (max-width: 768px){body{font-size:14px;line-height:1.4}*{box-sizing:border-box}.login-container{min-height:100vh;padding:20px}.login-form{padding:30px 20px;max-width:100%;margin:0 10px;position:relative}.logo-container{display:flex;flex-direction:column;align-items:center;gap:15px;margin-bottom:25px;position:relative}.login-logo{max-width:150px;height:auto}.login-logo[src*=FJ-LOGOTIPO]{display:none!important}.login-logo[src*=CIM_LOGOTIPO]{max-width:180px!important;height:auto!important}.login-form h2{font-size:1.5rem;margin-bottom:25px}.form-group input{font-size:16px;padding:15px 12px}.login-button{padding:15px 20px;font-size:16px}.dashboard-container{max-width:100%;margin:0;padding:15px;border-radius:0}.dashboard-header{flex-direction:column;gap:15px;text-align:center}.dashboard-header h2{font-size:1.5rem}.logout-btn{padding:10px 20px;font-size:14px}.welcome-section{padding:20px 15px;margin-bottom:20px}.welcome-title{font-size:1.8rem!important;margin-bottom:12px!important;line-height:1.3}.welcome-message{font-size:1rem!important;line-height:1.5;padding:0 10px}.filter-container{padding:20px 15px;margin-bottom:20px}.filter-row{flex-direction:column;gap:15px}.form-group{min-width:100%}.form-group label{font-size:14px;margin-bottom:5px}.form-select,.form-input{padding:12px 10px;font-size:16px}.submit-btn{padding:15px 20px;font-size:16px;max-width:100%}.custom-select-header{padding:12px 10px}.custom-select-input{padding:12px 10px;font-size:16px;width:100%}.custom-select-options{max-height:150px}.pdf-container{padding:15px;margin-top:15px}.pdf-title{font-size:1.2rem;margin-bottom:10px}.pdf-frame{height:400px}.reporte-container{display:none!important}.historial-table{min-width:800px;font-size:14px;border-collapse:collapse;width:100%}.historial-table th,.historial-table td{padding:12px 8px;font-size:13px;text-align:left;border:1px solid var(--color-border);vertical-align:top;word-wrap:break-word;white-space:normal}.historial-table th{background-color:var(--color-primary);color:#fff;font-weight:700;font-size:14px;position:sticky;top:0;z-index:10;text-align:center}.historial-table tbody tr:nth-child(2n){background-color:var(--color-bg-medium)}.historial-table tbody tr:hover{background-color:var(--color-light-grey)}.footer{padding:10px 15px;font-size:12px;height:35px}.tablavacia{font-size:10px;width:100%;border-collapse:collapse}.tablavacia td{padding:6px 4px;font-size:10px;border:1px solid var(--color-border);text-align:center;vertical-align:middle}.tablalineas{margin-bottom:200px;font-size:9px;width:100%;border-collapse:collapse}.tablalineas th,.tablalineas td{padding:6px 4px;font-size:9px;border:1px solid var(--color-medium-grey);text-align:center;vertical-align:middle;word-wrap:break-word}.tablalineas th{background-color:var(--color-primary);color:#fff;font-weight:700;font-size:10px}.piepagina{padding:8px 12px;font-size:8px;height:20px}.table-states-container{padding:15px}.table-states-table{font-size:12px}.table-states-table th,.table-states-table td{padding:8px 6px;font-size:11px}.report-form-container{padding:15px}.report-form{padding:20px 15px}.report-form h2{font-size:1.3rem;margin-bottom:20px}.report-form .form-group{margin-bottom:15px}.report-form input,.report-form select,.report-form textarea{font-size:16px;padding:12px 10px}.report-form button{padding:15px 20px;font-size:16px;width:100%}.pdf-viewer-container{padding:15px}.pdf-viewer-frame{height:400px;width:100%}.mobile-hide{display:none!important}.mobile-only{display:block!important}.desktop-only{display:none!important}.reporte-container-mobile{display:block!important}button,input[type=submit],input[type=button],.btn{min-height:44px;min-width:44px}.table-container,.custom-select-options{-webkit-overflow-scrolling:touch}.table-container:after{content:"";position:absolute;top:0;right:0;bottom:0;width:20px;background:linear-gradient(to right,transparent,rgba(0,0,0,.1));pointer-events:none;z-index:5}.historial-table td{line-height:1.4;max-width:200px}.historial-table th{box-shadow:0 2px 4px #0000001a}.historial-table td:not(:last-child){border-right:1px solid var(--color-border)}.historial-table tbody tr:hover{background-color:#8b00000d!important;transition:background-color .2s ease}.nav-item{padding:12px 15px}img{max-width:100%;height:auto}.logo img{max-width:80%}form{margin:0}input:focus,select:focus,textarea:focus{font-size:16px}*{transition-duration:.2s}@media screen and (max-width: 768px) and (orientation: landscape){.login-container{min-height:100vh;padding:10px}.login-form{padding:20px 15px}.pdf-frame{height:300px}.dashboard-container{padding:10px}}@media screen and (max-width: 480px){.dashboard-container{padding:10px}.filter-container{padding:15px 10px}.reporte-container{padding:10px}.historial-table{min-width:600px;font-size:12px}.historial-table th,.historial-table td{padding:8px 6px;font-size:11px}.tablavacia{font-size:9px}.tablavacia td{padding:5px 3px;font-size:9px}.tablalineas{font-size:8px}.tablalineas th,.tablalineas td{padding:5px 3px;font-size:8px}.piepagina{padding:6px 10px;font-size:7px;height:18px}.login-form{padding:25px 15px}.logo-container{gap:12px;margin-bottom:20px}.login-logo[src*=CIM_LOGOTIPO]{max-width:150px!important}.welcome-section{padding:15px 10px;margin-bottom:15px}.welcome-title{font-size:1.5rem!important;margin-bottom:10px!important}.welcome-message{font-size:.9rem!important;padding:0 5px}}@media screen and (max-width: 320px){.dashboard-container{padding:5px}.filter-container{padding:10px 5px}.reporte-container{padding:5px}.historial-table{min-width:500px;font-size:11px}.historial-table th,.historial-table td{padding:6px 4px;font-size:10px}.tablavacia{font-size:8px}.tablavacia td{padding:4px 2px;font-size:8px}.tablalineas{font-size:7px}.tablalineas th,.tablalineas td{padding:4px 2px;font-size:7px}.piepagina{padding:5px 8px;font-size:6px;height:16px}.login-form{padding:20px 10px}.logo-container{gap:10px;margin-bottom:18px}.login-logo[src*=CIM_LOGOTIPO]{max-width:130px!important}.welcome-section{padding:12px 8px;margin-bottom:12px}.welcome-title{font-size:1.3rem!important;margin-bottom:8px!important}.welcome-message{font-size:.85rem!important;padding:0 3px}}}@media screen and (min-width: 769px) and (max-width: 1024px){.dashboard-container{max-width:90%;padding:20px}.filter-row{gap:15px}.form-group{min-width:180px}.historial-table{min-width:700px}.pdf-frame{height:500px}}
