:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#fff;background-color:#23232b;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,.app-bg{min-height:100vh;background:#23232b;color:#fff;margin:0}h1,h2{color:#fff;margin-top:0}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}.input,input,select,.select{padding:8px;border-radius:6px;border:1px solid #444;background:#232323;color:#fff;font-size:16px}.input-mayus,input.input-mayus{text-transform:uppercase}.input-disabled,input:disabled,select:disabled{background:#555!important;color:#bbb!important;cursor:not-allowed}button,.principal,.editar,.eliminar,.clave,.cancelar,.secundario{border:none;border-radius:7px;padding:10px 18px;font-weight:700;font-size:16px;cursor:pointer;transition:background .2s;margin-right:8px}button,.principal{background:#5b3be3;color:#fff}button:hover,.principal:hover{background:#4022b4}button.eliminar,.eliminar{background:#f34343!important;color:#fff!important}button.eliminar:hover,.eliminar:hover{background:#c32d2d!important}button.editar,.editar{background:#5b3be3!important;color:#fff!important}button.clave,.clave{background:#39be46!important;color:#fff!important}button.clave:hover,.clave:hover{background:#228d30!important}button.secundario,.secundario{background:#0874d5!important;color:#fff!important}button.cancelar,.cancelar{background:#b1b1b1!important;color:#232323!important}.modelos-container,.usuarios-container,.busqueda-container,.stock-container{max-width:1100px;margin:30px auto 0}.modelos-container{max-width:500px}.usuarios-container{max-width:700px}.busqueda-container{max-width:600px}.form-modelos,.usuarios-form,.form-busqueda,.alta-manual,.clave-form{display:flex;gap:8px;margin-bottom:20px;align-items:center}.alta-manual{margin:8px 0 16px}.clave-form{gap:10px;margin:6px 0}.stock-filtros{display:flex;gap:10px;margin-bottom:15px;align-items:center}.error-msg{color:#ff6868;margin-bottom:10px;background:#2b1c1c;border-radius:6px;padding:8px 12px;text-align:center;font-weight:700}.msg-status{margin-bottom:16px;text-align:center}.ok{color:#32cd32}.td-empty,.sin-modelos{color:#888;text-align:center}.tabla-stock,.tabla-modelos{width:100%;background:#222;border-radius:10px;overflow:hidden;border-collapse:collapse}.tabla-stock th,.tabla-stock td,.tabla-modelos th,.tabla-modelos td{border:1px solid #444;padding:8px 4px;text-align:center;font-size:15px}.tabla-stock th,.tabla-modelos th{background:#201d2d;color:#fff}.tabla-stock td,.tabla-modelos td{background:#222}.tabla-stock td[colspan="4"]{padding:0}.permisos-wrapper{display:flex;justify-content:center;margin:10px 0 20px}.tabla-permisos{width:100%;max-width:500px;border-collapse:collapse}.tabla-permisos th,.tabla-permisos td{border:1px solid #444;padding:6px 12px;text-align:center}.tabla-permisos th{background:#1e1e2d;color:#fff;font-weight:700}.tabla-permisos input[type=checkbox]{transform:scale(1.3);cursor:pointer}.tabla-stock td{white-space:nowrap;vertical-align:middle}.modem-card{padding:20px;margin-bottom:24px;background:#292940;border-radius:12px;box-shadow:0 2px 8px #0002}.fila-estado,.fila-modelo,.fila-cuenta{display:flex;align-items:center;gap:16px;margin-bottom:8px}.fila-modelo{gap:30px}.fila-cuenta{gap:24px;margin-bottom:4px}.sn-bold{font-weight:700;font-size:18px}.estado-label{display:inline-block;min-width:85px;text-align:center;border-radius:5px;font-weight:600;padding:2px 0}.estado-disponible{background:#39be46;color:#fff}.estado-asignado{background:#e3bd20;color:#222}.estado-fallado{background:#f34343;color:#fff}.login-bg,.centered-page{width:100vw;height:100vh;background:#23232b;display:flex;align-items:center;justify-content:center}th{cursor:pointer;-webkit-user-select:none;user-select:none}th:hover{background:#1e1e2d}.sidebar-responsive{z-index:999;overflow-y:auto}body.sidebar-open{overflow:hidden}.sidebar-responsive{transition:left .25s ease-in-out}main{position:relative;z-index:1}html,body{height:100%;margin:0;padding:0;overflow-x:hidden}
