*{box-sizing:border-box}*,body{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f6fa;color:#2c3e50;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.notification{position:fixed;right:20px;top:20px;z-index:10000}@keyframes slideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.login-container{align-items:center;background:linear-gradient(135deg,#050756,#1e3c72);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10000}.login-box{animation:slideUp .5s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;max-width:400px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-header h1{color:#050756;font-size:28px;font-weight:700;margin-bottom:10px}.login-header p{color:#6c757d;font-size:14px;margin:0}.login-form{gap:20px}.login-form,.login-group{display:flex;flex-direction:column}.login-group label{color:#050756;font-size:14px;font-weight:600;margin-bottom:8px}.login-group input{background:#fff;border:2px solid #e9ecef;border-radius:8px;font-size:14px;padding:12px 15px;transition:all .3s ease}.login-group input:focus{border-color:#050756;box-shadow:0 0 0 3px #0507561a;outline:none}.login-group input:disabled{background:#f8f9fa;cursor:not-allowed}.login-btn{align-items:center;background:#050756;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;justify-content:center;letter-spacing:.5px;min-height:50px;padding:14px;text-transform:uppercase;transition:all .3s ease}.login-btn:hover:not(:disabled){background:#0a0c91;box-shadow:0 5px 15px #0507564d;transform:translateY(-2px)}.login-btn:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.login-error{animation:fadeIn .3s ease-out;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;font-size:14px;margin-top:10px;padding:12px 15px;text-align:center}.login-footer{border-top:1px solid #e9ecef;margin-top:25px;padding-top:25px;text-align:center}.login-footer p{color:#6c757d;font-size:12px;margin:0}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}@media (max-width:768px){.login-box{margin:20px;padding:30px}.login-header h1{font-size:24px}.login-btn{font-size:14px;padding:12px}}@media (max-width:480px){.login-box{margin:15px;padding:25px}.login-header h1{font-size:20px}.login-header p{font-size:12px}.login-group input{font-size:16px;padding:10px 12px}.login-btn{font-size:16px;padding:12px}}.user-menu-container{position:relative}.user-menu-trigger{align-items:center;background-color:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:8px 16px;transition:all .3s ease}.user-menu-trigger:hover{background-color:#fff3;border-color:#ffffff4d}.user-avatar{align-items:center;border-radius:50%;display:flex;font-size:20px;height:32px;justify-content:center;overflow:hidden;width:32px}.user-avatar-img{border-radius:50%;height:100%;object-fit:cover;width:100%}.user-display-name{font-weight:500}.dropdown-arrow{font-size:10px;transition:transform .3s ease}.user-menu-trigger:hover .dropdown-arrow{transform:translateY(1px)}.user-menu-dropdown{animation:slideDown .2s ease;background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;min-width:250px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{background-color:#f8f9fa;padding:20px;text-align:center}.user-menu-name{color:#333;font-size:16px;font-weight:600;margin-bottom:4px}.user-menu-username{color:#666;font-size:13px;margin-bottom:10px}.user-menu-role{border-radius:12px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.user-menu-divider{background-color:#e9ecef;height:1px}.user-menu-item{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:12px 20px;text-align:left;transition:background-color .2s ease;width:100%}.user-menu-item:hover{background-color:#f8f9fa}.user-menu-logout{color:#dc3545}.user-menu-logout:hover{background-color:#fef2f2}.notification-toggle{position:relative}.toggle-btn{align-items:center;background-color:#f1f3f4;border:none;border-radius:20px;color:#5f6368;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .3s ease}.toggle-btn:hover:not(:disabled){box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.toggle-btn:disabled{cursor:not-allowed;opacity:.7}.toggle-btn.enabled{background-color:#1a73e8;color:#fff}.toggle-btn.enabled:hover:not(:disabled){background-color:#1557b0}.toggle-btn.disabled{background-color:#f1f3f4;color:#5f6368}.toggle-btn.disabled:hover:not(:disabled){background-color:#e8eaed}.toggle-text{font-size:13px}.loading-icon{animation:spin 1s linear infinite}@media (max-width:768px){.toggle-text{display:none}.toggle-btn{padding:8px 12px}}.header{background:#050756;border-bottom:3px solid #ffc152;box-shadow:0 2px 10px #05075633;color:#fff;flex-shrink:0;padding:25px 30px}.header-content{align-items:center;display:flex;justify-content:space-between;max-width:100%}.header-info h1{font-size:1.8em;font-weight:600;margin:0 0 5px}.header-info p{font-size:.95em;margin:0;opacity:.8}.user-info{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:8px;display:flex;gap:15px;padding:8px 15px}.user-name{font-size:14px;font-weight:500;opacity:.9}.logout-btn{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.logout-btn:hover{background:#c82333;transform:scale(1.05)}@media (max-width:768px){.header{padding:20px 15px}.header-content{flex-direction:column;gap:15px;text-align:center}.header-info h1{font-size:1.5em}.header-info p{font-size:.85em}.user-info{align-self:stretch;justify-content:center}}@media (max-width:480px){.header{padding:15px 10px}.header-info h1{font-size:1.3em}.header-info p{font-size:.8em}.user-info{padding:6px 12px}.user-name{font-size:13px}.logout-btn{font-size:11px;padding:5px 10px}}.header-actions{align-items:center;display:flex;gap:16px}@media (max-width:768px){.header-actions{flex-direction:column;gap:10px;width:100%}}.stats-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:30px}.stat-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;overflow:hidden;padding:24px;position:relative;transition:all .3s ease}.stat-card:before{background:#050756;content:"";height:4px;left:0;position:absolute;right:0;top:0;transition:all .3s ease}.stat-card.pending:before{background:#ffc107}.stat-card.completed:before{background:#28a745}.stat-card:hover{border-color:#050756;box-shadow:0 5px 20px #0000001a;transform:translateY(-3px)}.stat-card.pending:hover{border-color:#ffc107}.stat-card.completed:hover{border-color:#28a745}.stat-number{color:#050756;font-size:2.5em;font-weight:700;line-height:1;margin-bottom:8px}.stat-card.pending .stat-number{color:#ffc107}.stat-card.completed .stat-number{color:#28a745}.stat-label{font-size:.9em;font-weight:500;margin-bottom:12px}.stat-icon{font-size:1.5em;opacity:.6;transition:all .3s ease}.stat-card:hover .stat-icon{opacity:1;transform:scale(1.1)}@media (max-width:768px){.stats-container{gap:15px;grid-template-columns:1fr;margin-bottom:20px}.stat-card{padding:20px}.stat-number{font-size:2em}.stat-label{font-size:.8em}.stat-icon{font-size:1.3em}}@media (max-width:480px){.stat-card{padding:16px}.stat-number{font-size:1.8em}.stat-label{font-size:.75em}}@keyframes countUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stat-number{animation:countUp .6s ease-out}.stat-card:first-child .stat-number{animation-delay:.1s}.stat-card:nth-child(2) .stat-number{animation-delay:.2s}.stat-card:nth-child(3) .stat-number{animation-delay:.3s}.photo-manager{margin-top:20px}.photo-upload-section{margin-bottom:20px}.upload-button{background:#050756;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:12px 24px;text-align:center;transition:all .3s ease}.upload-button:hover{background:#0a0c91;box-shadow:0 5px 15px #0507564d;transform:translateY(-2px)}.upload-hint{display:block;font-size:12px;font-weight:400;margin-top:5px;opacity:.8}.saved-photos-section,.temporary-photos-section{margin-bottom:30px}.saved-photos-section h4,.temporary-photos-section h4{color:#050756;font-size:18px;font-weight:600;margin-bottom:15px}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.photo-item{background:#fff;border:2px solid #e9ecef;transition:all .3s ease}.photo-item.temporary{border-color:#ffc107}.photo-item:hover{border-color:#050756;box-shadow:0 5px 15px #0000001a;transform:translateY(-3px)}.photo-item img{cursor:pointer;transition:transform .3s ease}.photo-item:hover img{transform:scale(1.05)}.photo-info{background:#f8f9fa;padding:10px}.photo-description{border:1px solid #e9ecef;font-family:inherit;min-height:50px;resize:vertical;width:100%}.photo-description,.photo-description-display{border-radius:4px;font-size:12px;margin-bottom:8px;padding:8px}.photo-description-display{background:#fff;color:#333;min-height:40px}.photo-actions{gap:5px;justify-content:space-between;margin-bottom:8px}.btn-delete,.btn-save{border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease}.btn-save{background:#28a745;color:#fff;flex:1 1}.btn-save:hover{background:#218838}.btn-delete:hover,.btn-save:hover{transform:translateY(-1px)}.photo-date{color:#6c757d;font-size:11px;text-align:center}.photo-modal{align-items:center;animation:fadeIn .3s ease;background-color:#000000f2;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.photo-modal-content{align-items:center;display:flex;flex-direction:column;max-height:90vh;max-width:90%;position:relative}.modal-close{font-size:36px;padding:10px;right:-40px;top:-40px;transition:transform .2s ease}.modal-close:hover{transform:scale(1.2)}.modal-nav{background:#ffffff1a;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:48px;padding:20px 15px;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease}.modal-nav:hover{background:#fff3}.modal-nav.prev{left:-60px}.modal-nav.next{right:-60px}.modal-photo{border-radius:8px;box-shadow:0 10px 30px #00000080;max-height:80vh;max-width:100%;object-fit:contain}.modal-info{background:#fff;border-radius:8px;margin-top:20px;max-width:600px;padding:15px 25px;text-align:center}.modal-description{color:#333;font-size:16px;font-weight:500;margin:0 0 10px}.modal-counter{color:#6c757d;font-size:14px;margin:0}@media (max-width:768px){.photos-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.photo-item img{height:120px}.modal-close{align-items:center;background:#00000080;border-radius:50%;display:flex;font-size:24px;height:40px;justify-content:center;right:10px;top:10px;width:40px}.error-modal{max-width:400px;overflow:hidden;text-align:center}.error-modal .modal-header{align-items:center;background-color:#050756;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px}.error-modal .modal-header h3{color:#fff;font-size:18px;margin:0}.error-modal .modal-body{padding:20px}.error-modal .modal-body p{color:#666;line-height:1.5;margin:0 0 20px}.modal-actions{display:flex;gap:10px;justify-content:center}.modal-actions button{border:none;border-radius:5px;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .3s ease}.btn-danger{background:#e74c3c;color:#fff}.btn-danger:hover{background:#c0392b}.btn-cancel{background:#95a5a6;color:#fff}.btn-cancel:hover{background:#7f8c8d}.modal-nav{font-size:36px;padding:15px 10px}.modal-nav.prev{left:10px}.modal-nav.next{right:10px}.modal-info{margin-top:10px;padding:10px 15px}.modal-description{font-size:14px}.modal-counter{font-size:12px}}.repair-form{max-width:100%;position:relative;width:100%;z-index:10003}.form-main-header{background:linear-gradient(135deg,#050756,#0a0c91);border-radius:15px;box-shadow:0 6px 20px #05075633;color:#fff;margin-bottom:30px;overflow:hidden;padding:30px;position:relative;text-align:center}.form-main-header:after{background:#ffffff1a;border-radius:50%;content:"";height:200px;position:absolute;right:-10%;top:-50%;width:200px}.form-main-header h2{font-size:2em;font-weight:700;margin:0 0 10px;position:relative;z-index:1}.form-main-header p{font-size:1.1em;margin:0;opacity:.9;position:relative;z-index:1}.repair-form form{display:flex;flex-direction:column;gap:20px}.form-section-header{background:#f8f9fa;border-left:4px solid #050756;border-radius:8px;margin-bottom:15px;padding:12px 16px}.form-section-header h3{color:#050756;font-size:1.1em;font-weight:600;margin:0}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.form-group{gap:8px}.form-group label{color:#050756;font-size:13px;letter-spacing:.5px;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid #e9ecef;border-radius:6px;padding:12px 15px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px #0507561a}.form-group textarea{min-height:100px}.readonly-field{background:#f8f9fa!important;color:#495057;font-weight:600}.piezas-container{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin-top:10px;padding:20px}.piezas-input{margin-bottom:15px}.pieza-input-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:2fr 1fr 80px 46px}.pieza-input-row input{border:2px solid #e9ecef;border-radius:6px;box-sizing:border-box;font-size:14px;height:46px;padding:12px}.pieza-input-row input:focus{border-color:#050756;box-shadow:0 0 0 3px #0507561a;outline:none}.btn-add-pieza{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:46px;justify-content:center;padding:0;transition:all .3s ease;width:100%}.btn-add-pieza:hover{background:#218838;box-shadow:0 2px 8px #28a7454d;transform:scale(1.05)}.piezas-list{margin:15px 0;max-height:200px;overflow-y:auto}.no-piezas{color:#6c757d;font-style:italic;padding:20px;text-align:center}.pieza-item{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px;transition:all .2s ease}.pieza-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.pieza-info{flex:1 1}.pieza-nombre{color:#050756;font-weight:600;margin-bottom:4px}.pieza-detalles{color:#6c757d;font-size:13px}.pieza-subtotal{color:#28a745;font-weight:600;margin:0 15px}.btn-remove-pieza{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.btn-remove-pieza:hover{background:#c82333;transform:scale(1.05)}.piezas-total{background:#050756;border-radius:6px;color:#fff;font-size:16px;margin-top:15px;padding:12px 15px;text-align:right}.checkbox-container{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;padding:20px;transition:all .3s ease}.checkbox-container:hover{border-color:#050756;box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.checkbox-container input[type=checkbox]{display:none}.checkbox-label{-webkit-user-select:none;user-select:none}.checkbox-label:before{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:4px;content:"";display:flex;height:20px;justify-content:center;margin-right:15px;transition:all .3s ease;width:20px}.checkbox-container input[type=checkbox]:checked+.checkbox-label:before{background:#28a745;border-color:#28a745;color:#fff;content:"✓";font-weight:700}.checkbox-content{display:flex;flex-direction:column;gap:4px}.checkbox-title{color:#050756;font-size:14px;font-weight:600}.checkbox-subtitle{color:#6c757d;font-size:12px}.form-buttons{border-top:1px solid #e9ecef;display:flex;gap:15px;margin-top:30px;padding-top:20px}.btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.5px;min-height:44px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease}.btn:hover{box-shadow:0 5px 15px #0003;transform:translateY(-2px)}@media (max-width:768px){.form-row{grid-template-columns:1fr}.pieza-input-row{gap:8px;grid-template-columns:1fr 80px 46px}.pieza-input-row input:first-child{grid-column:1/-1}.form-buttons{flex-direction:column}.btn{width:100%}}@media (max-width:480px){.repair-form{padding:0}.form-section-header{padding:10px 12px}.form-section-header h3{font-size:1em}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:10px 12px}.checkbox-container,.piezas-container{padding:15px}}.inventory-search-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:15px}.inventory-search-section label{color:#050756;display:block;font-size:14px;font-weight:600;margin-bottom:10px}.inventory-search{position:relative}.inventory-search input{border:2px solid #e0e0e0;border-radius:5px;font-size:14px;padding:10px 15px;transition:border-color .3s;width:100%}.inventory-search input:focus{border-color:#050756;box-shadow:0 0 0 3px #0507561a;outline:none}.piezas-sugerencias{background:#fff;border:1px solid #e0e0e0;border-radius:5px;box-shadow:0 4px 12px #00000026;left:0;max-height:250px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 2px);z-index:1000}.pieza-sugerida{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;padding:12px 15px;transition:background .2s}.pieza-sugerida:hover{background:#f8f9fa}.pieza-sugerida:last-child{border-bottom:none}.pieza-codigo{color:#050756;font-size:13px;font-weight:600;margin-right:15px;min-width:80px}.pieza-nombre{color:#333;flex:1 1;font-size:14px}.pieza-stock{background:#f8f9fa;border-radius:3px;color:#6c757d;font-size:12px;margin:0 15px;padding:2px 8px}.pieza-precio{color:#28a745;font-size:14px;font-weight:600}.pieza-input-row input.from-inventory{background:#e8f5e9;border-color:#4caf50}.pieza-input-row input.from-inventory:focus{box-shadow:0 0 0 3px #4caf5033}.pieza-item.from-inventory{background:linear-gradient(90deg,#e8f5e9,#fff);border-left:3px solid #4caf50}.pieza-item.from-inventory .pieza-nombre:after{content:" 📦";font-size:12px;opacity:.7}.inventory-search.loading input{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"><circle cx="10" cy="10" r="8" stroke="%23050756" stroke-width="2" fill="none" stroke-dasharray="15 5"><animateTransform attributeName="transform" type="rotate" from="0 10 10" to="360 10 10" dur="1s" repeatCount="indefinite"/></circle></svg>');background-position:calc(100% - 10px);background-repeat:no-repeat;padding-right:40px}.public-link-modal-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:99999}.public-link-modal{animation:slideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:650px;overflow:hidden;width:90%}.modal-header{align-items:flex-start;background:linear-gradient(135deg,#050756,#1e3c72);padding:25px 70px 25px 25px}.modal-header h3{font-size:22px;font-weight:600}.modal-header p{font-size:14px;margin:8px 0 0;opacity:.9}.modal-close{border-radius:50%;height:40px;right:20px;top:20px;transition:background .3s;width:40px}.modal-body{max-height:calc(90vh - 200px);overflow-y:auto;padding:30px}.repair-summary{background:#f8f9fa;border-left:4px solid #050756;border-radius:8px;margin-bottom:25px;padding:20px}.repair-summary h4{color:#050756;font-size:16px;margin:0 0 15px}.summary-grid{grid-gap:12px;display:grid;font-size:14px;gap:12px;grid-template-columns:1fr 1fr}.status-badge{border-radius:4px;font-weight:600;padding:4px 8px}.status-badge.diagnostico{background:#17a2b8;color:#fff}.status-badge.reparacion{background:#ffc107;color:#333}.status-badge.pruebas{background:#fd7e14}.status-badge.entregado{background:#20c997}.link-section{margin-bottom:25px}.link-section label{color:#050756;display:block;font-size:16px;font-weight:600;margin-bottom:12px}.link-input-container{display:flex;gap:8px}.link-input{background:#f8f9fa;border:2px solid #e0e6ed;border-radius:8px;color:#050756;flex:1 1;font-family:monospace;font-size:13px;padding:15px}.copy-button{background:#050756;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .3s;white-space:nowrap}.copy-button:hover{background:#1e3c72;transform:translateY(-1px)}.copy-button.copied{background:#28a745}.info-section{background:linear-gradient(135deg,#e8f4fd,#f0f8ff);border:1px solid #b8daff;border-radius:10px;margin-bottom:25px;padding:20px}.info-section h5{color:#06c;font-size:16px;gap:8px;margin:0 0 15px}.info-icon,.info-section h5{align-items:center;display:flex}.info-icon{background:#06c;border-radius:50%;color:#fff;font-size:12px;height:24px;justify-content:center;width:24px}.info-section ul{list-style:none;margin:0;padding:0}.info-section li{color:#333;font-size:14px;padding:8px 0}.security-note{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:15px}.security-note p{color:#856404;font-size:13px;line-height:1.5;margin:0}.modal-footer{text-align:center}.btn-close{background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s}.btn-close:hover{background:#5a6268;transform:translateY(-1px)}@media (max-width:600px){.public-link-modal{margin:10px;width:95%}.modal-body{padding:20px}.summary-grid{grid-template-columns:1fr}.link-input-container{flex-direction:column}.copy-button{width:100%}}.history-modal-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.history-modal{animation:slideIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0003;display:flex;flex-direction:column;height:90vh;max-height:600px;max-width:800px;overflow:hidden;width:90%}.history-header{align-items:center;background:linear-gradient(135deg,#050756,#0a0b8e);border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.history-header h2{font-size:1.5rem;font-weight:600;margin:0}.history-header-actions{align-items:center;display:flex;gap:10px}.export-menu{position:relative}.export-btn{background:#ffffff1a;border:1px solid #fff3;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s}.export-btn:hover{background:#fff3;border-color:#ffffff4d}.export-dropdown{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;margin-top:4px;min-width:120px;position:absolute;right:0;top:100%;z-index:1001}.export-option{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:.9rem;padding:10px 16px;text-align:left;transition:background-color .2s;width:100%}.export-option:hover{background-color:#f8f9fa}.export-option:first-child{border-radius:6px 6px 0 0}.export-option:last-child{border-radius:0 0 6px 6px}.history-stats{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:10px 14px}.stat-item{color:#666;font-size:.8rem;font-weight:500;white-space:nowrap}.close-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1.5rem;padding:4px 8px;transition:background-color .2s}.close-btn:hover{background-color:#ffffff1a}.history-content{flex:1 1;max-height:calc(100% - 80px);overflow-y:auto;padding:20px}.history-timeline{display:flex;flex-direction:column;gap:16px;padding-bottom:20px}.history-entry{margin-bottom:12px;padding-left:40px;position:relative}.history-entry-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;min-height:24px;position:relative}.history-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 2px 4px #0000001a;display:flex;flex-shrink:0;font-size:.9rem;height:24px;justify-content:center;left:-40px;position:absolute;top:0;width:24px;z-index:1}.history-date{color:#050756;font-size:.9rem;font-weight:600}.history-user{color:#666;font-size:.85rem}.history-entry-body{background:#f8f9fa;border-radius:8px;box-shadow:0 1px 3px #0000000d;margin-left:0;padding:14px 16px}.history-action{color:#333;font-weight:500;margin:0 0 8px}.history-change{background:#fff;border:1px solid #e0e0e0;border-radius:6px;padding:10px 12px}.change-field{color:#050756;display:block;font-size:.85rem;margin-bottom:6px}.change-values{align-items:center;display:flex;flex-wrap:wrap;font-size:.85rem;gap:10px;margin-left:8px}.change-old{background:#ffebee;border-radius:4px;max-width:200px;padding:4px 10px;text-decoration:line-through}.change-arrow{color:#666;flex-shrink:0}.change-new{background:#e8f5e9;border-radius:4px;max-width:200px;padding:4px 10px}.history-divider{margin:16px 0}.no-history{color:#666;padding:40px;text-align:center}.no-history p{font-size:1rem;margin:0}@media (max-width:600px){.history-modal{height:95vh;max-height:none;width:95%}.history-header{padding:16px 20px}.history-header h2{font-size:1.2rem}.history-content{padding:16px}.history-stats{gap:8px;padding:8px 10px}.stat-item{font-size:.75rem}.change-values{align-items:flex-start;flex-direction:column;gap:6px}.change-arrow{margin:0;transform:rotate(90deg)}.change-new,.change-old{max-width:100%}.export-btn{font-size:.85rem;padding:6px 12px}}.repair-table-container{display:flex;flex-direction:column;gap:20px;width:100%}.table-controls{gap:20px;justify-content:space-between}.search-filters,.table-controls{align-items:center;display:flex;flex-wrap:wrap}.search-filters{gap:10px}.search-input{border:2px solid #e9ecef;border-radius:6px;transition:all .3s ease;width:250px}.search-input:focus{border-color:#050756;box-shadow:0 0 0 3px #0507561a;outline:none}.filter-select{border:2px solid #e9ecef;border-radius:6px;transition:all .3s ease}.filter-select:focus{border-color:#050756;box-shadow:0 0 0 3px #0507561a;outline:none}.table-actions{display:flex;gap:10px}.btn-export,.btn-import{background:#050756;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn-export:hover,.btn-import:hover{background:#0a0c91;box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.btn-import{background:#28a745}.btn-import:hover{background:#218838}.table-wrapper{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000000d;overflow:hidden}.repairs-table{border-collapse:collapse;width:100%}.repairs-table thead{background:#050756;color:#fff}.repairs-table th{border-right:1px solid #ffffff1a;font-size:13px;font-weight:600;letter-spacing:.5px;padding:15px 12px;text-align:left;text-transform:uppercase}.repairs-table th:last-child{border-right:none}.repairs-table th.sortable{cursor:pointer;transition:background .3s ease;-webkit-user-select:none;user-select:none}.repairs-table th.sortable:hover{background:#ffffff1a}.repairs-table tbody tr{border-bottom:1px solid #e9ecef;transition:all .2s ease}.repairs-table tbody tr:hover{background:#f8f9fa;transform:scale(1.001)}.repairs-table tbody tr:nth-child(2n){background:#f8f9fa}.repairs-table tbody tr:nth-child(2n):hover{background:#e9ecef}.repairs-table td{border-right:1px solid #f0f0f0;font-size:13px;padding:12px;vertical-align:middle}.repairs-table td:last-child{border-right:none}.no-data{font-style:italic}.id-cell{color:#050756;font-weight:600;position:relative}.history-badge{background:#ffc107;border-radius:10px;color:#000;font-size:10px;font-weight:600;margin-left:5px;padding:2px 6px}.cliente-cell{color:#2c3e50;font-weight:500}.precio-cell{color:#050756;font-weight:600}.payment-badge,.priority-badge,.status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.3px;padding:4px 8px;text-transform:uppercase}.status-badge.recibido{background:#6c757d;color:#fff}.status-badge.diagnostico{background:#ffc107;color:#000}.status-badge.reparacion{background:#fd7e14;color:#fff}.status-badge.pruebas{background:#20c997;color:#fff}.status-badge.completado{background:#28a745;color:#fff}.status-badge.entregado{background:#198754;color:#fff}.payment-badge.pendiente{background:#6c757d;color:#fff}.payment-badge.transferencia{background:#0d6efd;color:#fff}.payment-badge.mano{background:#198754;color:#fff}.payment-badge.crypto{background:#6f42c1;color:#fff}.priority-badge.normal{background:#6c757d;color:#fff}.priority-badge.alta{background:#fd7e14;color:#fff}.priority-badge.urgente{animation:pulse 2s infinite;background:#dc3545;color:#fff}@keyframes pulse{0%{box-shadow:0 0 0 0 #dc3545b3}70%{box-shadow:0 0 0 10px #dc354500}to{box-shadow:0 0 0 0 #dc354500}}.actions-cell{min-width:60px;padding:8px}.btn-action{align-items:center;border-radius:50%;display:flex;font-size:18px;height:40px;justify-content:center;margin:0 auto;padding:8px;width:40px}.btn-action:hover{background-color:#f0f8ff;transform:scale(1.2) rotate(90deg)}.btn-settings{color:#6c757d}.btn-settings:hover{background-color:#e3f2fd;color:#050756}.btn-edit{background:#007bff;color:#fff}.btn-edit:hover{background:#0056b3}.btn-view{background:#28a745;color:#fff}.btn-view:hover{background:#1e7e34}.btn-history{background:#6f42c1;color:#fff}.btn-history:hover{background:#5a32a3}.btn-link{background:#17a2b8;color:#fff}.btn-link:hover{background:#138496}.btn-invoice{background:#ffc107;color:#212529}.btn-invoice:hover{background:#e0a800}.btn-print{background:#6c757d;color:#fff}.btn-print:hover{background:#5a6268}.btn-delete{background:#dc3545;color:#fff}.btn-delete:hover{background:#c82333}.modal-overlay{animation:fadeIn .3s ease-out}.modal-content{animation:slideUp .3s ease-out;border-radius:12px;max-height:80vh}.import-modal{max-width:800px}.details-modal{max-width:600px;width:90%}.modal-header{background:#050756;color:#fff}.modal-header h3{font-size:1.3em}.modal-close{background:#fff3;border:1px solid #ffffff4d;border-radius:4px;font-size:28px;line-height:1}.modal-close:hover{background:#ffffff4d;border-color:#ffffff80}.modal-body{padding:20px}.modal-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-bottom:20px}.modal-grid div{background:#f8f9fa;border-radius:4px;font-size:14px;padding:8px}.modal-section{margin-bottom:15px}.modal-section strong{color:#050756;display:block;font-size:14px;margin-bottom:8px}.modal-section p{background:#f8f9fa;border-radius:4px;font-size:14px;line-height:1.5;margin:0;padding:10px}.import-info{margin-bottom:25px}.import-info h4{color:#050756;font-size:16px;margin-bottom:10px}.import-info p{line-height:1.6;margin-bottom:15px}.csv-format{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin:15px 0;overflow-x:auto;padding:15px}.csv-format code{color:#e83e8c;font-family:Courier New,monospace;font-size:12px;white-space:nowrap}.import-info ul{line-height:1.8;margin-left:20px}.import-info ul li{margin-bottom:5px}.import-actions{border-top:1px solid #e9ecef;padding:20px;text-align:center}.btn-select-file{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:15px;padding:15px 30px;transition:all .3s ease}.btn-select-file:hover:not(:disabled){background:#218838;box-shadow:0 5px 15px #0003;transform:translateY(-2px)}.btn-select-file:disabled{background:#6c757d;box-shadow:none;cursor:not-allowed;transform:none}.import-note{color:#6c757d;font-size:14px;font-style:italic;margin:0}@media (max-width:768px){.table-controls{align-items:stretch;flex-direction:column}.search-filters,.search-input{width:100%}.table-wrapper{overflow-x:auto}.repairs-table{min-width:800px}.modal-grid{grid-template-columns:1fr}.modal-content{margin:10px;width:95%}.csv-format{font-size:10px}}@media (max-width:480px){.repairs-table td,.repairs-table th{font-size:12px;padding:8px 4px}.btn-action{font-size:12px;padding:3px 6px}.payment-badge,.priority-badge,.status-badge{font-size:10px;padding:2px 6px}.btn-select-file{font-size:14px;padding:12px 20px}}.modal-photos-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:10px}.modal-photo-item{background:#f8f9fa;border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transition:all .3s ease}.modal-photo-item:hover{box-shadow:0 5px 15px #0003;transform:scale(1.05)}.modal-photo-item img{height:100px;object-fit:cover;width:100%}.modal-photo-info{color:#6c757d;font-size:11px;padding:8px}.modal-photo-info p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-tabs{background:#f8f9fa;border-bottom:2px solid #e0e6ed;display:flex}.tab-button{background:none;border:none;border-bottom:3px solid #0000;flex:1 1;font-size:14px;font-weight:500}.tab-button.active{background:#fff;border-bottom-color:#050756;color:#050756}.tab-button:hover{background:#f0f0f0}.tab-content{animation:fadeIn .3s ease;display:none}.tab-content.active{display:block}.history-timeline{max-height:400px;overflow-y:auto;padding:10px}.history-entry{background:#fff;border-left:4px solid #050756;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-bottom:15px;padding:15px}.history-entry:last-child{margin-bottom:0}.history-date{color:#6c757d;font-size:12px;margin-bottom:5px}.history-user{color:#050756;font-size:14px;font-weight:600;margin-bottom:10px}.history-changes{display:flex;flex-direction:column;gap:8px}.history-change{align-items:center;background:#f8f9fa;border-radius:4px;display:flex;font-size:13px;gap:8px;padding:5px 10px}.change-field{color:#495057;font-weight:600;min-width:80px;text-transform:capitalize}.change-old{color:#dc3545;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.change-arrow{color:#6c757d;font-weight:700}.change-new{color:#28a745;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-empty{color:#6c757d;padding:60px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px}.empty-title{color:#495057;font-size:18px;font-weight:600;margin-bottom:8px}.empty-subtitle{color:#6c757d;font-size:14px}.photo-number{background:#050756cc;border-radius:3px;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;position:absolute;right:5px;top:5px}.actions-modal{animation:slideUp .3s ease;animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:80vh;max-width:500px;overflow-y:auto;position:relative;width:90%;z-index:10001}.actions-content{padding:20px}.repair-info{background-color:#f8f9fa;border-left:4px solid #ffc152;border-radius:6px;color:#495057;font-size:14px;margin-bottom:20px;padding:12px}.actions-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:16px 20px;text-align:left;transition:all .2s ease}.action-btn:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.action-icon{font-size:18px;min-width:20px}.action-text{flex:1 1}.edit-btn{background:#007bff;color:#fff}.edit-btn:hover{background:#0056b3}.view-btn{background:#28a745;color:#fff}.view-btn:hover{background:#1e7e34}.link-btn{background:#17a2b8;color:#fff}.link-btn:hover{background:#138496}.invoice-btn{background:#ffc107;color:#212529}.invoice-btn:hover{background:#e0a800}.print-btn{background:#6c757d;color:#fff}.print-btn:hover{background:#5a6268}.delete-btn{background:#dc3545;color:#fff}.delete-btn:hover{background:#c82333}@media (max-width:480px){.actions-buttons{grid-template-columns:1fr}.action-btn{padding:14px 16px}}.btn-action{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:5px;transition:all .3s ease}.btn-settings{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;display:inline-flex;font-size:20px;height:40px;justify-content:center;min-width:40px;padding:8px 12px;position:relative;transition:all .3s ease;z-index:1}.btn-settings:hover{background:#e9ecef;border-color:#adb5bd;transform:rotate(45deg)}.btn-settings:active{background:#dee2e6;transform:scale(.95)}.actions-cell{text-align:center;width:60px}.inventory-container{margin:0 auto;max-width:1400px;padding:20px}.inventory-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.inventory-header h2{color:#050756;font-size:28px;margin:0}.inventory-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:20px;text-align:center}.stat-card.warning{border-left:4px solid #ffc107}.stat-card.danger{border-left:4px solid #dc3545}.stat-value{color:#050756;font-size:32px;font-weight:700;margin-bottom:5px}.stat-label{color:#6c757d;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.inventory-filters{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:20px;padding:20px}.search-input{flex:1 1;min-width:250px}.filter-select,.search-input{border:1px solid #dee2e6;border-radius:5px;font-size:14px;padding:10px 15px}.filter-select{background:#fff;cursor:pointer}.checkbox-label{align-items:center;color:#495057;cursor:pointer;display:flex;font-size:14px;gap:8px}.checkbox-label input[type=checkbox]{cursor:pointer}.inventory-table-container{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.inventory-table{border-collapse:collapse;width:100%}.inventory-table thead{background:#050756;color:#fff}.inventory-table th{font-size:14px;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.inventory-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s}.inventory-table tbody tr:hover{background:#f8f9fa}.inventory-table tbody tr.low-stock{background:#fff3cd}.inventory-table tbody tr.low-stock:hover{background:#ffe9a0}.inventory-table td{color:#495057;font-size:14px;padding:12px 15px}.inventory-table td.no-stock{color:#dc3545;font-weight:600}.inventory-table td.actions{display:flex;gap:5px}.btn-primary{border:none;border-radius:5px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.btn-primary:hover{background:#1e3c72;box-shadow:0 4px 12px #0507564d}.btn-secondary{background:#6c757d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s}.btn-secondary:hover{background:#5a6268}.btn-icon{background:#0000;border:none;cursor:pointer;font-size:18px;padding:5px;transition:transform .2s}.btn-icon:hover{transform:scale(1.2)}.btn-icon.danger:hover{filter:saturate(2)}.modal-overlay{background:#00000080;z-index:1000}.modal-content{animation:slideIn .3s ease;background:#fff;border-radius:10px;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.modal-content.small{max-width:500px}.modal-content.large{max-width:1000px}.modal-header{padding:20px}.modal-header h3{color:#050756;margin:0}.modal-close{background:#0000;transition:color .2s}.modal-close:hover{color:#dc3545}.pieza-form{padding:20px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group label{color:#495057;font-weight:600;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{border:1px solid #dee2e6;border-radius:5px;font-size:14px;padding:10px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#050756;outline:none}.form-group textarea{font-family:inherit;resize:vertical}.form-actions{border-top:1px solid #e9ecef;display:flex;gap:10px;justify-content:flex-end;padding:20px}.stock-form{padding:20px}.stock-info{background:#f8f9fa;border-radius:5px;margin-bottom:20px;padding:15px;text-align:center}.stock-info p{color:#495057;margin:0}.stock-info strong{color:#050756;font-size:24px}.movimientos-list{max-height:500px;overflow-y:auto;padding:20px}.movimientos-table{border-collapse:collapse;width:100%}.movimientos-table thead{background:#f8f9fa;position:sticky;top:0}.movimientos-table th{color:#495057;font-size:13px;font-weight:600;letter-spacing:.5px;padding:10px;text-align:left;text-transform:uppercase}.movimientos-table tbody tr{border-bottom:1px solid #e9ecef}.movimientos-table td{color:#495057;font-size:14px;padding:10px}.tipo-badge{border-radius:4px;display:inline-block;font-size:12px;font-weight:600;padding:4px 8px;text-transform:uppercase}.tipo-badge.entrada{background:#d1f2eb;color:#00695c}.tipo-badge.salida{background:#fce4ec;color:#c2185b}.tipo-badge.ajuste{background:#e3f2fd;color:#1565c0}.tipo-badge.devolucion{background:#f3e5f5;color:#6a1b9a}.no-data{color:#6c757d;font-size:16px;padding:40px;text-align:center}.loading{color:#050756;font-size:18px}.error{background:#f8d7da;border-radius:5px;color:#721c24;margin:20px;padding:15px}@media (max-width:768px){.inventory-header{align-items:stretch;flex-direction:column;gap:15px}.inventory-stats{grid-template-columns:1fr 1fr}.inventory-filters{flex-direction:column}.search-input{width:100%}.inventory-table-container{overflow-x:auto}.inventory-table{min-width:800px}.form-grid{grid-template-columns:1fr}.modal-content{border-radius:0;max-height:100vh}}.dashboard,.dashboard-loading{background:#f5f7fa;display:flex;flex-direction:column;min-height:100vh}.dashboard-loading{align-items:center;justify-content:center}.dashboard-loading .spinner{animation:spin 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#050756;height:40px;margin-bottom:20px;width:40px}.dashboard-loading p{color:#6c757d;font-size:16px}.dashboard-content{flex:1 1;padding:20px}.dashboard-tabs{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;display:flex;gap:10px;margin-bottom:20px;padding:10px}.tab-button{background:#0000;border:2px solid #0000;border-radius:8px;color:#6c757d;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease}.tab-button:hover{background:#f8f9fa;color:#050756}.tab-button.active{background:#050756;border-color:#050756;color:#fff}.tab-button.active:hover{background:#1e3c72;border-color:#1e3c72}.dashboard-grid{grid-gap:0;background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;display:grid;gap:0;grid-template-columns:700px 1fr;min-height:800px;overflow:hidden}.dashboard-grid.form-collapsed{grid-template-columns:60px 1fr}.form-section{background:#f8f9fa;border-right:2px solid #e9ecef;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .3s ease;z-index:10001}.form-content{position:relative;z-index:10002}.form-section.collapsed{overflow:hidden}.form-header{align-items:center;background:#f8f9fa;border-bottom:2px solid #ffc152;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 25px}.form-header h2{color:#050756;font-size:1.4em;margin:0}.form-section.collapsed .form-header h2{display:none}.btn-collapse{align-items:center;background:#050756;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;min-width:36px;padding:8px 12px;transition:all .3s ease}.btn-collapse:hover{background:#0a0c91;transform:scale(1.05)}.form-content{flex:1 1;max-height:calc(100vh - 200px);overflow-y:auto;padding:25px}.table-section{background:#fff;display:flex;flex-direction:column;gap:20px;overflow-x:auto;padding:30px;position:relative;z-index:1}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr;grid-template-rows:auto 1fr}.dashboard-grid.form-collapsed{grid-template-rows:60px 1fr}.form-section{border-bottom:2px solid #e9ecef;border-right:none}.form-section.collapsed{height:60px}}@media (max-width:768px){.dashboard-content{padding:10px}.form-content,.form-header,.table-section{padding:15px}}.form-section{transition:width .3s ease}.dashboard-grid{transition:grid-template-columns .3s ease}.confirm-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:500px;padding:30px;text-align:center;width:90%}.confirm-modal h3{color:#050756;font-size:1.5em;margin-bottom:20px}.confirm-modal p{word-wrap:break-word;color:#6c757d;font-size:16px;line-height:1.6;margin-bottom:25px;overflow-wrap:break-word}.modal-actions{gap:15px;justify-content:center;margin-top:20px}.modal-actions button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;min-width:100px;padding:12px 24px;transition:all .3s ease}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268;transform:translateY(-2px)}.btn-primary{background:#050756}.btn-primary:hover{background:#0a0c91;transform:translateY(-2px)}.public-container{background:#f8f9fa;margin:0 auto;max-width:1000px;min-height:100vh;padding:20px}.loading-spinner{color:#6c757d;font-size:18px;padding:50px;text-align:center}.error-message{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:40px;text-align:center}.error-message h2{color:#dc3545;margin-bottom:15px}.error-message p{color:#6c757d;font-size:16px}.public-header{background:linear-gradient(135deg,#050756,#1e3c72);border-radius:12px;box-shadow:0 4px 20px #00000026;color:#fff;margin-bottom:30px;padding:30px;text-align:center}.public-header h1{font-size:28px;font-weight:600;margin:0 0 10px}.public-header p{font-size:16px;margin:0;opacity:.9}.repair-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin-bottom:30px;overflow:hidden}.card-header{background:#050756;color:#fff;font-size:18px;font-weight:600;padding:20px}.card-content{padding:25px}.info-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:25px}.info-item{display:flex;flex-direction:column}.info-label{color:#050756;font-size:14px;font-weight:600;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.info-value{color:#333;font-size:16px}.payment-status{border-radius:20px;display:inline-block;font-size:14px;font-weight:600;padding:6px 12px}.payment-status.pendiente{background:#ffc107;color:#333}.payment-status.crypto,.payment-status.mano,.payment-status.transferencia{background:#28a745;color:#fff}.diagnostic-section,.problem-section{background:#f8f9fa;border-left:4px solid #050756;border-radius:8px;margin-top:25px;padding:20px}.diagnostic-section h3,.problem-section h3{color:#050756;font-size:16px;margin:0 0 10px}.diagnostic-section p,.problem-section p{color:#333;line-height:1.6;margin:0}.status-timeline{margin:25px 0}.timeline-item{align-items:center;background:#f8f9fa;border-left:4px solid #e0e6ed;border-radius:8px;display:flex;margin-bottom:15px;padding:15px;transition:all .3s ease}.timeline-item.completed{background:#f0f9f4;border-left-color:#28a745}.timeline-item.current{background:#e7f3ff;border-left-color:#007bff;box-shadow:0 2px 10px #007bff33}.timeline-icon{font-size:24px;margin-right:15px}.timeline-content{flex:1 1}.timeline-title{color:#333;font-size:16px;font-weight:600}.timeline-subtitle{color:#6c757d;font-size:13px;margin-top:3px}.timeline-date{color:#666;font-size:12px;font-style:italic;margin-top:5px}.photos-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:20px}.photo-item{background:#f8f9fa;border-radius:8px;cursor:pointer;overflow:hidden;position:relative;transition:transform .3s ease}.photo-item:hover{transform:scale(1.05)}.photo-item img{height:150px;object-fit:cover;width:100%}.photo-description{background:#fff;color:#666;font-size:13px;padding:10px}.cost-breakdown{background:#f8f9fa;border-radius:8px;padding:20px}.cost-detail-section h4{border-bottom:2px solid #e0e0e0;color:#050756;font-size:18px;margin-bottom:20px;padding-bottom:10px}.cost-detail{margin-bottom:20px}.cost-detail-header{color:#333;font-size:16px;font-weight:600;margin-bottom:10px}.parts-list{background:#fff;border-radius:6px;margin-bottom:10px;padding:10px}.part-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:8px 0}.part-item:last-child{border-bottom:none}.part-name{flex:1 1;font-weight:500}.part-quantity{color:#6c757d;font-size:14px;margin:0 15px}.part-price{color:#050756;font-weight:600}.cost-subtotal{border-top:2px solid #e0e0e0;font-weight:600;margin-top:10px}.cost-line,.cost-subtotal{display:flex;justify-content:space-between;padding:10px 0}.cost-line{font-size:16px}.cost-line-sub{color:#6c757d;font-size:14px;font-style:italic;padding-left:20px}.cost-total-section{border-top:2px solid #e0e0e0;margin-top:20px;padding-top:20px}.cost-line.total{color:#333;font-weight:600}.cost-line.margin{color:#6c757d;font-size:14px}.cost-line.final-total{border-top:2px solid #050756;color:#050756;font-size:20px;font-weight:700;margin-top:10px;padding-top:15px}.confirmation-badge{background:#28a745;border-radius:20px;color:#fff;display:inline-block;font-weight:600;margin:20px auto 0;padding:10px 20px;text-align:center}.footer-info{color:#6c757d;margin-top:40px;padding:20px;text-align:center}.footer-info p{margin:5px 0}.timestamp{font-size:13px;opacity:.8}.loading-placeholder{padding:20px}.skeleton-line{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:4px;height:16px;margin-bottom:12px}.skeleton-line.short{width:60%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.image-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}.image-modal-content{animation:slideIn .3s ease;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;position:relative}.image-modal-close{align-items:center;background:#fff;border:none;border-radius:50%;color:#333;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;position:absolute;right:0;top:-40px;transition:all .3s ease;width:40px;z-index:10001}.image-modal-close:hover{background:#f8f9fa;transform:scale(1.1)}.image-modal-img{border-radius:8px;box-shadow:0 10px 40px #00000080;max-height:calc(90vh - 60px);max-width:100%;object-fit:contain}.image-modal-description{align-self:center;background:#fff;border-radius:8px;color:#333;font-size:14px;margin-top:15px;max-width:600px;padding:15px;text-align:center}@media (max-width:768px){.public-container{padding:10px}.public-header{padding:20px}.public-header h1{font-size:22px}.card-content{padding:15px}.info-grid{gap:15px;grid-template-columns:1fr}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.cost-value{font-size:24px}.image-modal-overlay{padding:10px}.image-modal-close{font-size:20px;height:35px;right:10px;top:10px;width:35px}.image-modal-img{max-height:calc(100vh - 100px)}.image-modal-description{font-size:13px;margin-top:10px;padding:10px}}.notification-container{pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.notification{animation:slideIn .3s ease-out;background:#fff;border-left:4px solid #17a2b8;border-radius:8px;box-shadow:0 4px 20px #00000026;margin-bottom:10px;pointer-events:all}.notification-content{align-items:center;display:flex;gap:10px;padding:15px 20px}.notification-emoji{flex-shrink:0;font-size:18px}.notification-message{color:#2c3e50;font-size:14px;font-weight:500;line-height:1.4}.notification.success{border-left-color:#28a745}.notification.error{border-left-color:#dc3545}.notification.warning{border-left-color:#ffc107}.notification.info{border-left-color:#17a2b8}@keyframes slideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.notification-container{left:10px;right:10px;top:10px}.notification{margin-bottom:8px}.notification-content{padding:12px 15px}.notification-emoji{font-size:16px}.notification-message{font-size:13px}}.modal-overlay{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.change-password-modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:450px;width:90%}.modal-header{padding:20px 24px}.modal-header h2{color:#333}.modal-close{background:none;border:none;color:#6c757d;height:32px;transition:all .2s ease;width:32px}.modal-close:hover{background-color:#f8f9fa;color:#333}.change-password-form{padding:24px}.form-group input.error{border-color:#dc3545}.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}.error-message{font-size:13px}.error-message,.form-help{display:block;margin-top:6px}.form-help{color:#6c757d;font-size:12px}.modal-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:12px}.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background-color:#0056b3}.btn-primary:disabled{background-color:#6c757d;cursor:not-allowed}.btn-secondary{background-color:#f8f9fa;border:1px solid #ced4da;color:#333}.btn-secondary:hover:not(:disabled){background-color:#e9ecef}.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:99999}.user-management-modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;height:85vh;max-height:85vh;max-width:1200px;overflow:hidden;width:100%}.modal-header{align-items:center;background-color:#050756;border-bottom:1px solid #e9ecef;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px 60px 20px 20px;position:relative}.modal-header h2{color:#fff;font-size:20px;margin:0}.modal-close{align-items:center;background:#ffffff4d;border:2px solid #ffffff80;border-radius:6px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;font-size:24px;font-weight:700;height:36px;justify-content:center;padding:0;position:absolute;right:15px;top:15px;transition:all .3s ease;width:36px;z-index:10}.modal-close:hover{background:#ffffff80;border-color:#fffc;box-shadow:0 4px 8px #0000004d;transform:scale(1.1)}.modal-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:0}.users-table-container{background-color:#f8f9fa;flex:1 1;min-height:0;overflow:auto;padding:20px}.users-table{background:#fff;border-collapse:collapse;table-layout:auto;width:100%}.users-table th{background-color:#f8f9fa;border-bottom:2px solid #dee2e6;color:#495057;font-weight:600;padding:12px 15px;text-align:left;white-space:nowrap}.users-table th:last-child{text-align:center}.users-table td{border-bottom:1px solid #dee2e6;padding:12px 15px}.users-table td:last-child{text-align:center}.users-table td:nth-child(6){overflow:visible;white-space:normal}.users-table tbody tr:hover{background-color:#f8f9fa}.username-cell{font-weight:500}.current-user-badge{color:#6c757d;font-size:12px;font-weight:400;margin-left:8px}.role-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.badge-admin{background-color:#e3f2fd;color:#1976d2}.badge-user{background-color:#f3e5f5;color:#7b1fa2}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.status-badge.active{background-color:#e8f5e9;color:#2e7d32}.status-badge.inactive{background-color:#ffebee;color:#c62828}.date-cell{color:#6c757d;font-size:13px}.btn-reset-password{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;max-width:160px;padding:8px 14px;transition:all .2s ease;white-space:nowrap;width:100%}.btn-reset-password:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px)}.btn-reset-password:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed;transform:none}.reset-password-modal{align-items:center;background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.reset-password-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:400px;padding:32px;width:90%}.reset-password-content h3{color:#333;font-size:20px;margin:0 0 8px}.reset-user-info{color:#6c757d;font-size:14px;margin:0 0 24px}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input{background-color:#fff;border:1px solid #ced4da;border-radius:6px;color:#333;font-size:14px;padding:10px 12px;transition:border-color .2s ease;width:100%}.form-group input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.loading{color:#6c757d;padding:40px;text-align:center}.error-message{background-color:#f8d7da;color:#721c24}.error-message,.success-message{border-radius:6px;font-size:14px;margin-bottom:16px;padding:12px}.success-message{background-color:#d4edda;color:#155724;text-align:center}@media (max-width:768px){.user-management-modal{border-radius:0;height:100%;max-height:100%;max-width:100%}.users-table{font-size:12px}.users-table td,.users-table th{padding:8px}.btn-reset-password{font-size:12px;padding:4px 8px}}.error-message,.loading{color:#6c757d;font-size:16px;padding:40px;text-align:center}.error-message{color:#dc3545}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.profile-photo-modal{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:500px;width:90%}.profile-photo-modal .modal-header{background-color:#050756;border-radius:12px 12px 0 0;padding-right:60px;position:relative}.profile-photo-modal .modal-header h2{color:#fff}.profile-photo-modal .modal-close{background:#fff3;border:1px solid #ffffff4d;color:#fff;font-size:28px;font-weight:700;position:absolute;right:15px;top:15px}.profile-photo-modal .modal-close:hover{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.1)}.photo-preview-container{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-height:300px;padding:30px}.photo-preview{border:4px solid #fff;border-radius:50%;box-shadow:0 4px 12px #0000001a;height:250px;object-fit:cover;width:250px}.photo-placeholder{color:#6c757d;text-align:center}.photo-placeholder span{display:block;font-size:100px;opacity:.3}.photo-placeholder p{font-size:16px;margin-top:10px}.photo-actions{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:center;padding:20px 30px}.btn-upload{align-items:center;background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-upload:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px)}.btn-remove{align-items:center;background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-remove:hover:not(:disabled){background-color:#c82333;transform:translateY(-1px)}.modal-footer{border-top:1px solid #e9ecef;display:flex;gap:12px;justify-content:flex-end;padding:20px 30px}.photo-tips{background-color:#f8f9fa;border-radius:0 0 12px 12px;color:#6c757d;font-size:13px;padding:20px 30px}.photo-tips p{font-weight:500;margin:0 0 8px}.photo-tips ul{margin:0;padding-left:20px}.photo-tips li{margin-bottom:4px}@media (max-width:480px){.photo-preview{height:200px;width:200px}.photo-placeholder span{font-size:80px}.photo-actions{flex-direction:column}.btn-remove,.btn-upload{justify-content:center;width:100%}}.App{flex-direction:column;text-align:left}.App,.loading-screen{display:flex;min-height:100vh}.loading-screen{align-items:center;background:linear-gradient(135deg,#050756,#1e3c72);color:#fff;justify-content:center}.loader{text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:40px;margin:0 auto 20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loader p{font-size:16px;margin:0;opacity:.8}