.login-form-wrapper{background:linear-gradient(135deg,#1a1a1a 0%,#2a2a2a 100%);flex-direction:column;min-height:100vh;display:flex}.login-form-container{padding:var(--spacing-md);flex:1;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-form{width:100%;max-width:420px;padding:var(--spacing-2xl);background-color:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:0 10px 40px #00000080}.login-form h1{margin-bottom:var(--spacing-sm);font-size:var(--fs-3xl);color:var(--primary-color);text-align:center;font-weight:var(--fw-bold);letter-spacing:var(--ls-tight)}.login-subtitle{text-align:center;color:var(--text-light);margin-bottom:var(--spacing-xl);font-size:var(--fs-base);line-height:var(--lh-relaxed);letter-spacing:var(--ls-normal)}.login-form form{margin-bottom:var(--spacing-lg)}.login-form input,.login-form button{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-normal)}.login-form input{width:100%;min-height:var(--touch-target);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);transition:all var(--transition-base);background-color:#ffffff0d;font-size:16px}.login-form input:focus{border-color:var(--primary-color);background-color:#ffffff14;outline:none;box-shadow:0 0 0 3px #ffd7001a}.login-form input::placeholder{color:var(--text-light);opacity:.7}.login-form .btn-primary{width:100%;min-height:var(--touch-target);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--primary-color);color:#000;border-radius:var(--radius-lg);font-weight:var(--fw-semibold);cursor:pointer;transition:all var(--transition-base);margin-bottom:var(--spacing-md);border:none;font-size:16px}.login-form .btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #ffd7004d}.login-form .btn-primary:active{transform:translateY(0)}.login-form .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-help{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.login-help a{color:var(--primary-color);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:all var(--transition-base);padding:var(--spacing-sm) 0;text-decoration:none;display:inline-block}.login-help a:hover{color:var(--primary-dark);text-decoration:underline}.login-help a:not(:last-child):after{content:" | ";color:var(--border-color);margin:0 var(--spacing-sm)}@media (width<=768px){.login-form-container{padding:var(--spacing-md)}.login-form{padding:var(--spacing-xl);border-radius:var(--radius-lg)}.login-form h1{font-size:var(--fs-2xl)}}@media (width<=480px){.login-form-container{padding:var(--spacing-md)}.login-form{padding:var(--spacing-lg);border-radius:var(--radius-lg);margin:auto var(--spacing-md)}.login-form h1{font-size:var(--fs-2xl);margin-bottom:var(--spacing-sm)}.login-subtitle{margin-bottom:var(--spacing-lg);font-size:var(--fs-base)}.login-form input{min-height:44px;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.login-form .btn-primary{min-height:44px;padding:var(--spacing-md);margin-bottom:var(--spacing-md);font-size:16px}.login-help{padding-top:var(--spacing-md)}.login-help a{padding:var(--spacing-sm) 0;font-size:var(--fs-sm);display:block}.login-help a:not(:last-child):after{content:"";margin:0}.login-help a:not(:last-child){border-bottom:1px solid var(--border-color)}}.login-page{width:100%;min-height:100vh}.app-header{padding:var(--spacing-lg) var(--spacing-xl);background-color:var(--bg-card);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:var(--spacing-lg);display:flex;box-shadow:0 2px 8px #0003}.header-left{align-items:center;gap:var(--spacing-lg);flex:1;display:flex}.header-actions{align-items:center;gap:var(--spacing-md);flex-shrink:0;display:flex}.btn-edit-profile,.btn-logout{min-height:var(--touch-target);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--primary-color);color:#000;border-radius:var(--radius-lg);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none}.btn-edit-profile:hover,.btn-logout:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #ffd7004d}.btn-edit-profile:active,.btn-logout:active{transform:translateY(0)}.btn-edit-profile:disabled,.btn-logout:disabled{opacity:.6;cursor:not-allowed;transform:none}.logo{object-fit:contain;flex-shrink:0;width:50px;height:50px;animation:.6s ease-out fadeInScale}.header-title-group{flex-direction:column;gap:.25rem;min-width:0;display:flex}.header-title-group h1{font-size:var(--fs-2xl);color:var(--primary-color);font-weight:var(--fw-bold);letter-spacing:var(--ls-normal);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.logo-text{font-size:var(--fs-sm);color:var(--text-light);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (width<=768px){.app-header{padding:var(--spacing-md);gap:var(--spacing-md)}.header-left{gap:var(--spacing-md);flex:1}.header-actions{gap:var(--spacing-sm);flex-wrap:wrap;flex:1;justify-content:flex-end}.logo{width:40px;height:40px}.header-title-group h1{font-size:var(--fs-xl)}.logo-text{font-size:var(--fs-xs)}.btn-logout,.btn-edit-profile{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--fs-sm);min-height:40px}}@media (width<=480px){.app-header{padding:var(--spacing-md);gap:var(--spacing-sm);flex-wrap:wrap}.header-left{gap:var(--spacing-sm);text-align:center;justify-content:center;width:100%}.header-actions{justify-content:stretch;gap:var(--spacing-sm);flex-wrap:nowrap;width:100%}.logo{width:36px;height:36px}.header-title-group h1{font-size:var(--fs-lg);margin-bottom:0}.header-title-group{gap:.15rem}.logo-text{font-size:.65rem}.btn-logout,.btn-edit-profile{min-height:40px;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--fs-sm);flex:1;min-width:auto}}.otp-form-wrapper{background:linear-gradient(135deg,#1a1a1a 0%,#2a2a2a 100%);flex-direction:column;min-height:100vh;display:flex}.otp-form-container{padding:var(--spacing-md);flex:1;justify-content:center;align-items:center;min-height:100vh;display:flex}.otp-form{width:100%;max-width:420px;padding:var(--spacing-2xl);background-color:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);box-shadow:0 10px 40px #00000080}.otp-form h1{font-size:var(--fs-3xl);color:var(--primary-color);text-align:center;font-weight:var(--fw-bold);margin-bottom:var(--spacing-sm)}.otp-subtitle{text-align:center;color:var(--text-light);margin-bottom:var(--spacing-xl);font-size:var(--fs-base);line-height:var(--lh-relaxed);letter-spacing:var(--ls-normal)}.otp-form form{margin-bottom:var(--spacing-lg)}.otp-form input{text-align:center;font-size:var(--fs-2xl);letter-spacing:.5rem;font-weight:var(--fw-bold);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);transition:all var(--transition-base);width:100%;min-height:var(--touch-target);margin-bottom:var(--spacing-lg);background-color:#ffffff0d;font-size:16px}.otp-form input:focus{border-color:var(--primary-color);background-color:#ffffff14;outline:none;box-shadow:0 0 0 3px #ffd7001a}.otp-form input::placeholder{color:var(--text-light);opacity:.5}.otp-form button{width:100%;min-height:var(--touch-target);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--fs-base);font-weight:var(--fw-semibold);font-size:16px}.otp-form .btn-primary{margin-bottom:var(--spacing-md)}.otp-form .btn-secondary{width:100%;margin-bottom:var(--spacing-md)}@media (width<=768px){.otp-form-container{padding:var(--spacing-md)}.otp-form{padding:var(--spacing-xl);border-radius:var(--radius-lg)}.otp-form h1{font-size:var(--fs-2xl)}}@media (width<=480px){.otp-form-container{padding:var(--spacing-md)}.otp-form{padding:var(--spacing-lg);border-radius:var(--radius-lg);margin:auto var(--spacing-md)}.otp-form h1{font-size:var(--fs-2xl);margin-bottom:var(--spacing-sm)}.otp-form input{font-size:var(--fs-xl);letter-spacing:.3rem;min-height:44px;margin-bottom:var(--spacing-md)}.otp-subtitle{margin-bottom:var(--spacing-lg);font-size:var(--fs-base)}.otp-form button{min-height:44px;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}}.verify-wrapper{background:linear-gradient(135deg,#1a1a1a 0%,#2a2a2a 100%);flex-direction:column;min-height:100vh;display:flex}.verify-container{flex:1;justify-content:center;align-items:center;padding:1rem;display:flex}.error-message{background-color:var(--bg-card);border:1px solid var(--border-color);text-align:center;color:#ef5350;border-radius:8px;max-width:400px;margin-bottom:2rem;padding:2rem}.error-message+.btn-primary{display:inline-block}.recibos-list-wrapper{background-color:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border-color);overflow:hidden;box-shadow:0 2px 8px #0000004d}.recibos-table-container{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.recibos-table{border-collapse:collapse;width:100%;min-width:100%}.recibos-table thead{border-bottom:2px solid var(--border-color);z-index:10;background-color:#0003;position:sticky;top:0}.recibos-table th{padding:var(--spacing-lg);text-align:left;font-weight:var(--fw-semibold);color:var(--primary-color);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--ls-wide);white-space:nowrap}.recibos-table td{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);font-size:var(--fs-base);color:var(--text-color);font-weight:var(--fw-normal);white-space:nowrap}.recibos-table tbody tr:hover{background-color:#ffd7000d}.recibos-table tbody tr:last-child td{border-bottom:none}.recibo-row{transition:background-color var(--transition-base)}.btn-small{min-height:36px;padding:var(--spacing-sm) var(--spacing-lg);color:var(--primary-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;background-color:#0000;text-decoration:none;display:inline-block}.btn-small:hover{border-color:var(--primary-color);background-color:#ffd7001a;transform:translateY(-1px)}.btn-aceptar{background-color:var(--primary-color);color:#000;border-color:var(--primary-color)}.btn-aceptar:hover{background-color:var(--primary-dark);box-shadow:0 2px 8px #ffd7004d}.btn-ver{background-color:var(--primary-color);color:#000;border-color:var(--primary-color);font-weight:var(--fw-bold);padding:var(--spacing-sm) var(--spacing-lg);justify-content:center;align-items:center;gap:.375rem;min-height:40px;display:inline-flex}.btn-ver .btn-icon{font-size:1.1em;line-height:1;display:inline-block}.btn-ver:hover{background-color:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #ffd70066}.btn-ver:active{transform:translateY(0);box-shadow:0 2px 6px #ffd7004d}.btn-detalles{color:var(--primary-color);border-color:var(--border-color);background-color:#0000}.btn-detalles:hover{background-color:#ffd7001a}.actions-container{flex-wrap:nowrap;gap:.5rem;display:flex}.actions-container .btn-small{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--fs-xs);min-height:32px}.badge{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-wide);white-space:nowrap;display:inline-block}@media (width>=640px){.recibos-table th,.recibos-table td{padding:var(--spacing-md) var(--spacing-lg)}.recibos-table th{font-size:var(--fs-sm)}.recibos-table td{font-size:var(--fs-base)}.actions-container .btn-small{min-height:40px;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--fs-sm)}.actions-container .btn-ver{min-height:36px;padding:var(--spacing-md) var(--spacing-lg)}.col-tipo,.col-periodo,.col-empresa,.col-hoja,.col-aceptado,.col-estado,.col-acciones{display:table-cell}}@media (width<=768px){.recibos-table th,.recibos-table td{padding:var(--spacing-md) var(--spacing-md)}.recibos-table th{font-size:var(--fs-xs)}.recibos-table td{font-size:var(--fs-sm)}.actions-container .btn-small{min-height:40px;padding:var(--spacing-xs) var(--spacing-md);font-size:.75rem}.actions-container .btn-ver{min-height:36px;padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem}}@media (width<=640px){.recibos-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.recibos-table{min-width:500px}.recibos-table th,.recibos-table td{padding:var(--spacing-sm) var(--spacing-sm);font-size:12px}.recibos-table th{padding:var(--spacing-xs) var(--spacing-sm);font-size:11px;font-weight:var(--fw-semibold)}.col-empresa,.col-hoja,.col-aceptado{display:none}.col-tipo{min-width:80px}.col-periodo{min-width:120px}.col-estado{min-width:90px}.col-acciones{min-width:100px}.actions-container{flex-direction:row;gap:.375rem}.actions-container .btn-small{padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap;text-overflow:ellipsis;flex:1;min-height:40px;font-size:11px;overflow:hidden}.actions-container .btn-ver{min-height:36px;font-weight:var(--fw-bold);flex:1.2}.actions-container .btn-ver .btn-icon{font-size:1rem}.badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:10px;font-weight:var(--fw-semibold)}.badge-accepted{color:#81c784;background-color:#4caf5026}.badge-pending{color:#ffb74d;background-color:#ff980026}}@media (width<=480px){.recibos-table{min-width:420px}.recibos-table th,.recibos-table td{padding:var(--spacing-xs) .375rem;font-size:11px}.col-tipo{min-width:70px}.col-periodo{min-width:100px}.col-estado{min-width:80px}.col-acciones{min-width:90px}.actions-container .btn-small{min-height:40px;padding:.375rem;font-size:10px}.actions-container .btn-ver{flex:1.2;min-height:36px;padding:.5rem .375rem}}.loading{padding:var(--spacing-xl);text-align:center;color:var(--text-light);font-size:var(--fs-base)}.empty-state{padding:var(--spacing-xl);text-align:center;color:var(--text-light)}.empty-state p{margin-bottom:var(--spacing-lg);font-size:var(--fs-base)}.btn-secondary{padding:var(--spacing-md) var(--spacing-lg);color:var(--primary-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer;transition:all var(--transition-base);background-color:#0000}.btn-secondary:hover{border-color:var(--primary-color);background-color:#ffd7001a}.recibos-page{background-color:var(--bg-color);flex-direction:column;min-height:100vh;display:flex}.page-nav{padding:0 var(--spacing-xl);background-color:var(--bg-card);border-bottom:1px solid var(--border-color);-webkit-overflow-scrolling:touch;gap:0;display:flex;overflow-x:auto}.nav-btn{min-width:140px;min-height:var(--touch-target);padding:var(--spacing-lg) var(--spacing-lg);color:var(--text-light);font-size:var(--fs-base);font-weight:var(--fw-medium);cursor:pointer;transition:all var(--transition-base);letter-spacing:var(--ls-normal);white-space:nowrap;background-color:#0000;border:none;border-bottom:3px solid #0000;flex:1;justify-content:center;align-items:center;display:flex}.nav-btn:hover{color:var(--primary-color);background-color:#ffd7000d}.nav-btn:active{background-color:#ffd7001a}.nav-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:var(--fw-semibold)}.page-content{padding:var(--spacing-xl);flex:1}.empty-state p{font-size:var(--fs-lg);color:var(--text-light);max-width:400px;margin:0}.empty-state .btn-secondary{min-height:var(--touch-target);padding:var(--spacing-md) var(--spacing-lg);color:var(--primary-color);border:2px solid var(--primary-color);border-radius:var(--radius-lg);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer;transition:all var(--transition-base);background-color:#0000;display:inline-block}.empty-state .btn-secondary:hover{background-color:#ffd7001a;transform:translateY(-2px)}.empty-state .btn-secondary:active{transform:translateY(0)}.loading{min-height:400px;font-size:var(--fs-lg);color:var(--text-light);justify-content:center;align-items:center;gap:var(--spacing-lg);flex-direction:column;display:flex}.loading:after{content:"";border:4px solid #ffd70033;border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=768px){.page-nav{padding:0 var(--spacing-md)}.nav-btn{padding:var(--spacing-md) var(--spacing-lg);min-width:120px;font-size:var(--fs-sm)}.page-content{padding:var(--spacing-lg)}.empty-state{gap:var(--spacing-md);min-height:300px}.empty-state p{font-size:var(--fs-base)}}@media (width<=480px){.page-nav{padding:0 var(--spacing-sm)}.nav-btn{min-height:44px;padding:var(--spacing-md) var(--spacing-sm);min-width:100px;font-size:var(--fs-sm);border-bottom-width:2px}.page-content{padding:var(--spacing-md)}.empty-state{gap:var(--spacing-md);min-height:250px;padding:var(--spacing-md)}.empty-state p{font-size:var(--fs-base);line-height:var(--lh-relaxed)}.empty-state .btn-secondary{width:100%;max-width:280px;min-height:44px}.loading{min-height:300px}}.recibo-detail-container{min-height:100vh;padding:var(--spacing-xl) var(--spacing-md);background-color:var(--bg-color);flex-direction:column;display:flex}.btn-back{margin-bottom:var(--spacing-xl);min-height:var(--touch-target);padding:var(--spacing-md) var(--spacing-lg);color:var(--primary-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer;transition:all var(--transition-base);align-self:flex-start;align-items:center;gap:var(--spacing-sm);background-color:#0000;display:inline-flex}.btn-back:hover{border-color:var(--primary-color);background-color:#ffd7001a;transform:translate(-2px)}.btn-back:active{transform:translate(0)}.recibo-detail{background-color:var(--bg-card);border-radius:var(--radius-xl);width:100%;max-width:700px;padding:var(--spacing-2xl);border:1px solid var(--border-color);margin:0 auto;box-shadow:0 2px 8px #0000004d}.detail-header{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;display:flex}.detail-header h1{font-size:var(--fs-3xl);color:var(--primary-color);font-weight:var(--fw-bold);flex:1;margin:0}.detail-grid{gap:var(--spacing-xl);margin-bottom:var(--spacing-2xl);grid-template-columns:repeat(2,1fr);display:grid}.detail-item{flex-direction:column;display:flex}.detail-item label{font-weight:var(--fw-semibold);color:var(--primary-color);margin-bottom:var(--spacing-sm);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-wide)}.detail-item span{color:var(--text-color);font-size:var(--fs-lg);font-weight:var(--fw-medium);line-height:var(--lh-relaxed);word-break:break-word}.detail-actions{gap:var(--spacing-lg);margin:var(--spacing-2xl) 0;display:flex}.detail-actions button{min-height:var(--touch-target);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--fs-base);font-weight:var(--fw-semibold);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);border:none;flex:1}.detail-actions .btn-primary{background-color:var(--primary-color);color:#000}.detail-actions .btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #ffd7004d}.detail-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.detail-actions .btn-secondary{color:var(--primary-color);border:2px solid var(--primary-color);background-color:#0000}.detail-actions .btn-secondary:hover{background-color:#ffd7001a;transform:translateY(-2px)}.detail-actions .btn-secondary:active{transform:translateY(0)}.pdf-viewer{margin-top:var(--spacing-xl);border:1px solid var(--border-color);border-radius:var(--radius-lg);background-color:#0003;overflow:hidden}.pdf-iframe{border:none;width:100%;height:600px;display:block}@media (width<=768px){.recibo-detail-container{padding:var(--spacing-lg) var(--spacing-md)}.recibo-detail{padding:var(--spacing-xl);border-radius:var(--radius-lg)}.detail-header{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);flex-direction:column}.detail-header h1{font-size:var(--fs-2xl)}.detail-grid{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:1fr}.detail-actions{gap:var(--spacing-md);margin:var(--spacing-xl) 0;flex-direction:column}.detail-actions button{width:100%;padding:var(--spacing-md)}.pdf-iframe{height:400px}.btn-back{margin-bottom:var(--spacing-lg);min-height:44px}}@media (width<=480px){.recibo-detail-container{padding:var(--spacing-md)}.recibo-detail{padding:var(--spacing-lg);border-radius:var(--radius-lg)}.detail-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.detail-header h1{font-size:var(--fs-xl);margin-bottom:var(--spacing-sm)}.detail-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.detail-item{gap:var(--spacing-sm)}.detail-item label{font-size:var(--fs-xs)}.detail-item span{font-size:var(--fs-base)}.detail-actions{margin:var(--spacing-lg) 0;gap:var(--spacing-sm);flex-direction:column}.detail-actions button{min-height:44px;padding:var(--spacing-md);font-size:var(--fs-base);width:100%}.pdf-iframe{height:300px;min-height:250px}.btn-back{padding:var(--spacing-sm) var(--spacing-md);min-height:40px;font-size:var(--fs-sm);margin-bottom:var(--spacing-lg)}.alert{padding:var(--spacing-md);margin:var(--spacing-lg) 0}.alert p{font-size:var(--fs-sm)}}.recibo-pdf-page{background-color:var(--bg-color);flex-direction:column;min-height:100vh;display:flex}.recibo-pdf-page .btn-back{margin:var(--spacing-lg) var(--spacing-xl) 0 var(--spacing-xl);min-height:var(--touch-target);padding:var(--spacing-md) var(--spacing-lg);color:var(--primary-color);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer;transition:all var(--transition-base);align-self:flex-start;align-items:center;gap:var(--spacing-sm);background-color:#0000;display:inline-flex}.recibo-pdf-page .btn-back:hover{border-color:var(--primary-color);background-color:#ffd7001a;transform:translate(-2px)}.recibo-pdf-page .btn-back:active{transform:translate(0)}.page-content{padding:var(--spacing-xl);-webkit-overflow-scrolling:touch;flex:1;justify-content:center;align-items:flex-start;display:flex;overflow-x:auto}.pdf-container{width:100%;max-width:900px}.pdf-toolbar{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;justify-content:center;display:flex}.pdf-toolbar button{min-height:var(--touch-target);padding:var(--spacing-md) var(--spacing-lg)}@media (width<=768px){.page-header{padding:var(--spacing-md)}.page-content{padding:var(--spacing-lg);align-items:flex-start}.recibo-pdf-page .btn-back{margin:var(--spacing-md) var(--spacing-lg) 0 var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);font-size:var(--fs-sm);min-height:40px}.pdf-toolbar{gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.pdf-toolbar button{flex:1;min-width:120px}}@media (width<=480px){.page-content{padding:var(--spacing-md);align-items:flex-start}.recibo-pdf-page .btn-back{margin:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--fs-sm);min-height:40px;width:calc(100% - 2 * var(--spacing-md))}.pdf-toolbar{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);width:100%}.pdf-toolbar button{min-width:100px;min-height:40px;padding:var(--spacing-md);font-size:var(--fs-sm);flex:1}.pdf-container{width:100%;margin:0 auto}}:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono:"Courier New", "Monaco", monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:1.875rem;--fs-4xl:2rem;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.25;--lh-normal:1.5;--lh-relaxed:1.625;--ls-tight:-.01em;--ls-normal:0em;--ls-wide:.025em}body{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-normal);line-height:var(--lh-normal);letter-spacing:var(--ls-normal)}h1{font-size:var(--fs-4xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin-bottom:.5rem}h2{font-size:var(--fs-3xl);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin-bottom:.75rem}h3{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin-bottom:.75rem}h4{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:var(--lh-normal);letter-spacing:var(--ls-normal);margin-bottom:.5rem}h5{font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-normal);letter-spacing:var(--ls-normal);margin-bottom:.5rem}h6{font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:var(--lh-normal);letter-spacing:var(--ls-normal);margin-bottom:.5rem}p{font-size:var(--fs-base);line-height:var(--lh-relaxed);letter-spacing:var(--ls-normal);margin-bottom:1rem}label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--ls-wide);text-transform:uppercase;margin-bottom:.5rem;display:inline-block}button{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:var(--lh-normal);letter-spacing:var(--ls-normal)}small{font-size:var(--fs-xs);font-weight:var(--fw-normal);line-height:var(--lh-tight)}code{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-normal);line-height:var(--lh-tight)}a{font-weight:var(--fw-medium);text-decoration:none}@media (width<=768px){:root{--fs-4xl:1.75rem;--fs-3xl:1.5rem;--fs-2xl:1.3rem;--fs-xl:1.1rem}h1{font-size:var(--fs-4xl)}h2{font-size:var(--fs-3xl)}h3{font-size:var(--fs-2xl)}label{font-size:var(--fs-xs)}}@media (width<=480px){:root{--fs-4xl:1.5rem;--fs-3xl:1.3rem;--fs-2xl:1.1rem;--fs-xl:1rem;--fs-base:.95rem}h1{font-size:var(--fs-4xl);margin-bottom:.5rem}h2{font-size:var(--fs-3xl);margin-bottom:.5rem}h3{font-size:var(--fs-2xl);margin-bottom:.5rem}h4{font-size:var(--fs-lg)}h5{font-size:var(--fs-base)}p{font-size:var(--fs-base);margin-bottom:.75rem}button{font-size:var(--fs-base)}label{font-size:var(--fs-xs);margin-bottom:.25rem}}.btn-primary,.btn-secondary,.btn-danger{min-height:var(--touch-target);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-lg);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer;transition:all var(--transition-base);text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;border:none;display:inline-block}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #ffd7004d}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary:hover{background-color:#ffd7001a;transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{opacity:.9;transform:translateY(-2px)}.btn-danger:active{transform:translateY(0)}.form-group{margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.form-group label{margin-bottom:var(--spacing-sm);display:block}.form-group input,.form-group textarea,.form-group select{min-height:var(--touch-target);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-color);font-family:var(--font-sans);font-size:var(--fs-base);transition:all var(--transition-base);background-color:#ffffff0d}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--spacing-lg);transition:all var(--transition-base);box-shadow:0 2px 8px #0000004d}.card:hover{box-shadow:0 4px 16px #0006}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.card-header h3{margin:0}.card-body{flex:1}.card-footer{gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color);display:flex}.badge{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-wide);display:inline-block}.badge-accepted{color:#81c784;background-color:#4caf5033}.badge-pending{color:#ffb74d;background-color:#ff980033}.badge-rejected{color:#ef9a9a;background-color:#f4433633}.alert{padding:var(--spacing-lg);border-radius:var(--radius-lg);margin:var(--spacing-lg) 0;border-left:4px solid}.alert-success{color:#81c784;background-color:#4caf501a;border-left-color:#4caf50}.alert-error{color:#ef9a9a;background-color:#f443361a;border-left-color:#f44336}.alert p{font-size:var(--fs-sm);line-height:var(--lh-relaxed);margin:0}.loading:after{content:"";width:20px;height:20px;margin-left:var(--spacing-md);border:3px solid #ffd7004d;border-top-color:var(--primary-color);border-radius:50%;animation:.8s linear infinite spin;display:inline-block}.empty-state{justify-content:center;align-items:center;gap:var(--spacing-lg);text-align:center;min-height:300px;padding:var(--spacing-lg);flex-direction:column;display:flex}.empty-state p{color:var(--text-light);margin:0}@media (width<=768px){.btn-primary,.btn-secondary,.btn-danger{width:100%;padding:var(--spacing-md) var(--spacing-lg)}.card{padding:var(--spacing-lg);border-radius:var(--radius-lg)}.card-footer{gap:var(--spacing-sm);flex-direction:column}.card-footer .btn-primary,.card-footer .btn-secondary,.card-footer .btn-danger{width:100%}}@media (width<=480px){.btn-primary,.btn-secondary,.btn-danger{min-height:40px;padding:var(--spacing-md);font-size:var(--fs-base)}.card{padding:var(--spacing-md);border-radius:var(--radius-lg)}.form-group input,.form-group textarea,.form-group select{min-height:40px;padding:var(--spacing-sm) var(--spacing-md)}.badge{padding:var(--spacing-xs) var(--spacing-sm);font-size:.65rem}.alert{padding:var(--spacing-md)}.empty-state{gap:var(--spacing-md);min-height:250px;padding:var(--spacing-md)}}.app{background-color:var(--bg-color);min-height:100vh}.btn-primary,.btn-secondary,.btn-small,.btn-back,.btn-logout,.btn-edit-profile{font-family:var(--font-sans);cursor:pointer;font-size:var(--fs-base);font-weight:var(--fw-semibold);border:none;border-radius:8px;padding:.75rem 1.5rem;transition:all .3s}.btn-primary{background-color:var(--primary-color);color:#000}.btn-primary:hover:not(:disabled){background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #ffd7004d}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:var(--primary-color);border:2px solid var(--primary-color);background-color:#0000}.btn-secondary:hover:not(:disabled){background-color:#ffd7001a;transform:translateY(-2px)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-small{font-size:var(--fs-sm);padding:.5rem 1rem}.btn-back{color:var(--primary-color);border:1px solid var(--border-color);background-color:#0000;padding:.75rem 1.5rem}.btn-back:hover:not(:disabled){border-color:var(--primary-color);background-color:#ffd7001a;transform:translateY(-2px)}.btn-logout,.btn-edit-profile{background-color:var(--primary-color);color:#000}.btn-logout:hover,.btn-edit-profile:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #ffd7004d}.form-group{flex-direction:column;margin-bottom:1.5rem;display:flex}.form-group label{font-weight:var(--fw-semibold);color:var(--text-light);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--ls-wide);margin-bottom:.5rem}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border-color);font-size:var(--fs-base);font-family:var(--font-sans);color:var(--text-color);background-color:#ffffff0d;border-radius:6px;padding:.75rem 1rem;transition:all .3s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light);opacity:.7}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-color);background-color:#ffffff14;outline:none;box-shadow:0 0 0 3px #ffd7001a}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{color:#666;cursor:not-allowed;opacity:.6;background-color:#0003}.form-help{font-size:var(--fs-xs);color:var(--text-light);letter-spacing:var(--ls-normal);margin-top:.5rem}.badge{font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-wide);border-radius:6px;padding:.4rem .8rem;display:inline-block}.badge-accepted{color:#81c784;background-color:#4caf5033;border:1px solid #4caf504d}.badge-pending{color:#ffb74d;background-color:#ff980033;border:1px solid #ff98004d}.loading{min-height:300px;font-size:var(--fs-lg);color:var(--text-light);justify-content:center;align-items:center;display:flex}.error{color:#ef5350;font-size:var(--fs-sm);background-color:#f443361a;border-left:4px solid #f44336;border-radius:6px;margin:1rem 0;padding:1rem}.alert{font-size:var(--fs-sm);border-left:4px solid;border-radius:8px;margin:1rem 0;padding:1rem}.alert-info{color:#64b5f6;background-color:#2196f31a;border-left-color:#2196f3}.alert-warning{color:gold;background-color:#ffd7001a;border-left-color:#ff9800}.alert-danger{color:#ef5350;background-color:#f443361a;border-left-color:#f44336}@media (width<=768px){.btn-primary,.btn-secondary,.btn-small,.btn-back,.btn-logout,.btn-edit-profile{width:100%;margin-bottom:.5rem}.form-group input,.form-group textarea,.form-group select{font-size:16px}}.user-profile-page{background-color:var(--bg-color);flex-direction:column;min-height:100vh;display:flex}.user-profile-content{flex:1;justify-content:center;align-items:flex-start;padding:2rem;display:flex}.user-profile-container{width:100%;max-width:1200px}.user-profile-header{align-items:flex-start;gap:1.5rem;margin-bottom:2rem;display:flex}.btn-back-arrow{color:var(--primary-color,gold);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-top:.25rem;padding:0;font-size:1.8rem;transition:all .3s;display:flex}.btn-back-arrow:hover{background-color:#ffd7001a;transform:translate(-4px)}.user-profile-header h1{font-size:var(--fs-4xl);font-weight:var(--fw-bold);color:var(--text-color);letter-spacing:var(--ls-tight);margin:0 0 .5rem}.user-profile-header p{color:var(--text-light);font-size:var(--fs-base);line-height:var(--lh-normal);margin:0}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.profile-card{background:linear-gradient(135deg,#2a2a2a 0%,#1f1f1f 100%);border:1px solid #3a3a3a;border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 8px 24px #00000080}.profile-card:hover{border-color:#ffd7004d;transform:translateY(-2px);box-shadow:0 12px 32px #ffd7001a}.card-header{border-bottom:2px solid #3a3a3a;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.card-header h2{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--primary-color);letter-spacing:var(--ls-normal);margin:0}.card-icon{font-size:1.5rem;line-height:1}.card-body{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.info-field{flex-direction:column;gap:.5rem;display:flex}.info-field label{font-weight:var(--fw-semibold);color:#e0e0e0;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--ls-wide)}.field-value{font-size:var(--fs-lg);color:var(--text-color);font-weight:var(--fw-medium);line-height:var(--lh-normal);word-break:break-word;margin:0}.field-value-protected{background-color:#ffd7000d;border:1px solid #ffd70026;border-radius:8px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.protect-icon{flex-shrink:0;font-size:1rem}.field-value-protected .field-value{font-family:Courier New,monospace;font-size:1rem}.status-badge{text-align:center;border-radius:6px;padding:.5rem 1rem;font-size:.95rem;font-weight:600;display:inline-block}.status-active{color:#66bb6a;background-color:#4caf5026;border:1px solid #4caf504d}.status-inactive{color:#ef5350;background-color:#f4433626;border:1px solid #f443364d}.security-notice{background-color:#2196f314;border:1px solid #2196f333;border-radius:10px;gap:1rem;margin-bottom:2rem;padding:1.25rem;display:flex}.notice-icon{flex-shrink:0;font-size:1.25rem;line-height:1.4}.notice-title{color:#64b5f6;margin:0 0 .25rem;font-size:.95rem;font-weight:600}.notice-text{color:#90caf9;margin:0;font-size:.85rem;line-height:1.5}.profile-actions{border-top:1px solid #3a3a3a;justify-content:center;padding-top:1.5rem;display:flex}.btn-secondary{color:#e0e0e0;cursor:pointer;background-color:#3a3a3a;border:1px solid #4a4a4a;border-radius:8px;padding:.75rem 2rem;font-size:.95rem;font-weight:600;transition:all .3s}.btn-secondary:hover{background-color:#4a4a4a;border-color:#5a5a5a;transform:translateY(-2px)}.error-container{text-align:center;background:linear-gradient(135deg,#2a2a2a 0%,#1f1f1f 100%);border:1px solid #3a3a3a;border-radius:12px;padding:2rem;box-shadow:0 8px 24px #00000080}.error-container h2{color:#ef5350;margin-bottom:1rem}.error-container p{color:var(--text-light);margin-bottom:1.5rem}.loading{min-height:300px;color:var(--text-light);justify-content:center;align-items:center;font-size:1.1rem;display:flex}@media (width<=768px){.user-profile-content{padding:1.5rem}.user-profile-container{width:100%}.user-profile-header{gap:1rem;margin-bottom:1.5rem}.user-profile-header h1{font-size:1.6rem}.profile-grid{grid-template-columns:1fr;gap:1.25rem}.card-header{padding:1.25rem}.card-body{gap:1.25rem;padding:1.25rem}.security-notice{padding:1rem}.notice-icon{font-size:1.1rem}.btn-secondary{width:100%}}@media (width<=480px){.user-profile-content{padding:1rem}.user-profile-header{gap:.75rem}.user-profile-header h1{font-size:1.4rem}.user-profile-header p{font-size:.9rem}.btn-back-arrow{width:36px;height:36px;font-size:1.5rem}.card-header h2{font-size:1.1rem}.card-icon{font-size:1.3rem}.card-header{padding:1rem}.card-body{gap:1rem;padding:1rem}.info-field label{font-size:.8rem}.field-value{font-size:1rem}.notice-text{font-size:.8rem}.profile-actions{padding-top:1rem}}*{box-sizing:border-box;margin:0;padding:0}:root{--primary-color:gold;--primary-dark:#e6c200;--secondary-color:#2a2a2a;--success-color:#4caf50;--danger-color:#f44336;--warning-color:#ff9800;--info-color:#2196f3;--text-color:#fff;--text-light:#e0e0e0;--border-color:#3a3a3a;--bg-color:#1a1a1a;--bg-card:#2a2a2a;--accent-gold:#daa520;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:2.5rem;--spacing-3xl:3rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--touch-target:44px;--transition-fast:.15s ease;--transition-base:.3s ease;--transition-slow:.5s ease}html{scroll-behavior:smooth;font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-color);color:var(--text-color);text-rendering:optimizelegibility;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}code{background-color:#f4f4f4;border-radius:3px;padding:.2rem .4rem;font-family:Courier New,monospace}#root{flex-direction:column;min-height:100vh;display:flex}button,a,input[type=checkbox],input[type=radio]{-webkit-tap-highlight-color:transparent}input,textarea,select{min-height:var(--touch-target);font-size:16px}@media (width<=480px){input,textarea,select{font-size:16px}}@media (width<=768px){html{font-size:15px}}@media (width<=480px){html{font-size:14px}}
